All pastes #716383 Raw Edit

Anonymous

public text v1 · immutable
#716383 ·published 2007-09-26 19:42 UTC
rendered paste body
#!/bin/sh
 # Variáveis
echo " "
echo " "
echo " "
echo " "

# Variaveis

 # -------------------------------------------------------#
 iptables="/usr/sbin/iptables"
 IF_EXTERNA="eth0"
 IF_INTERNA="eth1"

echo "----------------------------------------------------"
echo "==========>>> Rede Externa  - Internet <<<=========="
echo                       $IF_EXTERNA
echo "----------------------------------------------------"
echo " "
echo " "
echo "----------------------------------------------------"
echo "==========>>> Rede Interna  -  Empresa <<<=========="
echo                       $IF_INTERNA
echo "----------------------------------------------------"


 # Ativa módulos
 # -------------------------------------------------------#
 /sbin/modprobe ip_conntrack
 /sbin/modprobe ip_conntrack_ftp
 /sbin/modprobe ip_nat_ftp
 /sbin/modprobe ip_queue
 /sbin/modprobe ip_tables
 /sbin/modprobe ipt_LOG
 /sbin/modprobe ipt_MARK
 /sbin/modprobe ipt_MASQUERADE
 /sbin/modprobe ipt_MIRROR
 /sbin/modprobe ipt_REDIRECT
 /sbin/modprobe ipt_REJECT
 /sbin/modprobe ipt_TCPMSS
 /sbin/modprobe ipt_TOS
 /sbin/modprobe ipt_limit
 /sbin/modprobe ipt_mac
 /sbin/modprobe ipt_mark
 /sbin/modprobe ipt_multiport
 /sbin/modprobe ipt_owner
 /sbin/modprobe ipt_state
 /sbin/modprobe ipt_tcpmss
 /sbin/modprobe ipt_tos
 /sbin/modprobe ipt_unclean
 /sbin/modprobe iptable_filter
 /sbin/modprobe iptable_mangle
 /sbin/modprobe iptable_nat

 # Ativa roteamento no kernel
 # -------------------------------------------------------#
 echo "1" > /proc/sys/net/ipv4/ip_forward


 # Proteção contra IP spoofing
 # -------------------------------------------------------#
 echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

 # protecao conta ping
 #---------------------------------------------------------#
 # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 # Zera regras
 # -------------------------------------------------------#
 $iptables -F
 $iptables -X
 $iptables -F -t nat
 $iptables -X -t nat
 $iptables -F -t mangle
 $iptables -X -t mangle


 # Determina a política padrão
 # -------------------------------------------------------#
 $iptables -P INPUT DROP
 $iptables -P OUTPUT DROP
 $iptables -P FORWARD DROP


 #################################################
 # Tabela FILTER
 #################################################

# echo "Dropando TCP Indesejavel"

 # Dropa pacotes TCP indesejáveis
 # -------------------------------------------------------#
 $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FWL: NEW sem syn: "
 $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

# echo "Dropa Pacote Mal Formado"

 # Dropa pacotes mal formados
 # -------------------------------------------------------#
 $iptables -A INPUT -i $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FWL: pacote mal formado: "
 $iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP

# echo "Aceitando Pacotes que Devem Entrar!"

 # Aceita os pacotes que realmente devem entrar
 # -------------------------------------------------------#
 $iptables -A INPUT -i ! $IF_EXTERNA -j ACCEPT
 $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 $iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
 $iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#echo "trinoo"

 # Proteção contra trinoo
 # -------------------------------------------------------#
 $iptables -N TRINOO
 $iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FWL: trinoo: "
 $iptables -A TRINOO -j DROP
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27444 -j TRINOO
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO

# echo "trojan"

 # Proteção contra tronjans
 # -------------------------------------------------------#
 $iptables -N TROJAN
 $iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FWL: trojan: "
 $iptables -A TROJAN -j DROP
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
 $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN

# echo "worms"

 # Proteção contra worms
 # -------------------------------------------------------#
 $iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT

# SAMBA
# $iptables -I INPUT -i $IF_EXTERNA -p TCP --dport 445 -j REJECT
# $iptables -I OUTPUT -i $IF_EXTERNA -p TCP --dport 445 -j REJECT
# $iptables -I FORWARD -i $IF_EXTERNA -p TCP --dport 445 -j REJECT

# echo "syn-flood"

 # Proteção contra syn-flood
 # -------------------------------------------------------#
 $iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT

# echo "ping-die"

 # Proteção contra ping da morte
 # -------------------------------------------------------#
 $iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


 # Proteção contra port scanners
 # -------------------------------------------------------#
 $iptables -N SCANNER
 $iptables -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FWL: port scanner: "
 $iptables -A SCANNER -j DROP
 $iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
 $iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER


 # Loga tentativa de acesso a determinadas portas
 # -------------------------------------------------------#
 $iptables -A INPUT -p tcp --dport 21 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: ftp: "
 $iptables -A INPUT -p tcp --dport 23 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: telnet: "
 $iptables -A INPUT -p tcp --dport 25 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: smtp: "
 $iptables -A INPUT -p tcp --dport 80 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: http: "
 $iptables -A INPUT -p tcp --dport 110 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: pop3: "
 $iptables -A INPUT -p udp --dport 111 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: rpc: "
 $iptables -A INPUT -p tcp --dport 113 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: identd: "
 $iptables -A INPUT -p tcp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: samba: "
 $iptables -A INPUT -p udp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: samba: "
 $iptables -A INPUT -p tcp --dport 161:162 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: snmp: "
 $iptables -A INPUT -p tcp --dport 6667:6668 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: irc: "
 $iptables -A INPUT -p tcp --dport 3128 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FWL: squid: "

 # Libera acesso externo a determinadas portas
 # -------------------------------------------------------#
#   $iptables -A INPUT -p tcp --dport 2222 -i $IF_EXTERNA -j ACCEPT


 # Liberando DPI para Lucas
 # -------------------------------------------------------#
# $iptables -A FORWARD -i $IF_EXTERNA -p TCP --dport 24001 -j ACCEPT
# $iptables -A FORWARD -i $IF_INTERNA -p TCP --dport 24001 -j ACCEPT
# $iptables -I FORWARD -i $IF_EXTERNA -p tcp --dport 21 -j ACCEPT
# $iptables -I FORWARD -i $IF_EXTERNA -p tcp --dport 24001 -j ACCEPT
# #$iptables -A FORWARD -p tcp -d ! XXX.XXX.XXX.XXX --dport 25

#$iptables -I INPUT -p tcp --dport 20 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 21 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24000 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24001 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24002 -j ACCEPT

#$iptables -I OUTPUT -p tcp --dport 20 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24000 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24001 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24002 -j ACCEPT

#$iptables -I FORWARD -p tcp --dport 20 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 21 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24000 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24001 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24002 -j ACCEPT

#$iptables -I INPUT -p tcp --dport 20 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 21 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24000 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24001 -j ACCEPT
#$iptables -I INPUT -p tcp --dport 24002 -j ACCEPT

#$iptables -I OUTPUT -p tcp --dport 20 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24000 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24001 -j ACCEPT
#$iptables -I OUTPUT -p tcp --dport 24002 -j ACCEPT

#$iptables -I FORWARD -p tcp --dport 20 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 21 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24000 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24001 -j ACCEPT
#$iptables -I FORWARD -p tcp --dport 24002 -j ACCEPT

#Regras que me passaram no underlinux
$iptables -I FORWARD -p tcp -s 192.168.0.3 -d 0/0 --dport 20 -j ACCEPT
$iptables -I FORWARD -p tcp -d 192.168.0.3 -s 0/0 --dport 20 -j ACCEPT
$iptables -I FORWARD -p udp -s 192.168.0.3 -d 0/0 --dport 20 -j ACCEPT
$iptables -I FORWARD -p udp -d 192.168.0.3 -s 0/0 --dport 20 -j ACCEPT

$iptables -I FORWARD -p tcp -s 192.168.0.3 -d 0/0 --dport 21 -j ACCEPT
$iptables -I FORWARD -p tcp -d 192.168.0.3 -s 0/0 --dport 21 -j ACCEPT
$iptables -I FORWARD -p udp -s 192.168.0.3 -d 0/0 --dport 21 -j ACCEPT
$iptables -I FORWARD -p udp -d 192.168.0.3 -s 0/0 --dport 21 -j ACCEPT

$iptables -I FORWARD -p tcp -s 192.168.0.3 -d 0/0 --dport 24001 -j ACCEPT
iptables -I FORWARD -p tcp -d 192.168.0.3 -s 0/0 --dport 24001 -j ACCEPT
$iptables -I FORWARD -p udp -s 192.168.0.3 -d 0/0 --dport 24001 -j ACCEPT
$iptables -I FORWARD -p udp -d 192.168.0.3 -s 0/0 --dport 24001 -j ACCEPT

 #################################################
 # Tabela NAT
 #################################################


 # Ativa mascaramento de saída roteamento
 # -------------------------------------------------------#
 $iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE


 # Proxy transparente
 # -------------------------------------------------------#
  $iptables -t nat -A PREROUTING -i $IF_INTERNA -p TCP -d ! 200.201.174.0/24 --dport 80 -j REDIRECT --to-port 3128