Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Criado por: Igor Pereira
- echo "Carregando o firewall..."
- #Limpa as regras do Firewall anteriores
- iptables -F
- iptables -X
- #Permitir trafego para sessoes estabelecidas:
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- #Libera conexoes de fora para dentro
- iptables -A INPUT -p tcp -i eth0 --dport 2743 -j ACCEPT #SSH
- iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT #WEB
- #Libera o loopback
- iptables -A INPUT -s 127.0.0.1 -j ACCEPT
- iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT
- iptables -A FORWARD -s 127.0.0.1 -j ACCEPT
- #Libera conexoes de dentro para fora
- iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #WEB
- iptables -A OUTPUT -p tcp --dport 7171 -j ACCEPT #TIBIA
- iptables -A OUTPUT -p tcp --dport 7172 -j ACCEPT #TIBIA2
- #Protecao Contra SynFlood
- iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
- iptables -A INPUT -f -j DROP
- iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
- iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
- iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
- iptables -A FORWARD -p tcp --syn -j DROP
- iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 7 -j REJECT
- #Protecao contra IP Spoof Syn
- iptables -A INPUT -i ext_face -s 0.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 127.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 10.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 172.16.0.0/12 -j DROP
- iptables -A INPUT -i ext_face -s 192.168.0.0/16 -j DROP
- iptables -A INPUT -i ext_face -s 224.0.0.0/3 -j DROP
- iptables -A INPUT -i ext_face -s 0.0.0.0/7 -j DROP
- iptables -A INPUT -i ext_face -s 2.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 5.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 7.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 10.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 23.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 27.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 31.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 36.0.0.0/7 -j DROP
- iptables -A INPUT -i ext_face -s 39.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 42.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 49.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 50.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 77.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 78.0.0.0/7 -j DROP
- iptables -A INPUT -i ext_face -s 92.0.0.0/6 -j DROP
- iptables -A INPUT -i ext_face -s 96.0.0.0/4 -j DROP
- iptables -A INPUT -i ext_face -s 112.0.0.0/5 -j DROP
- iptables -A INPUT -i ext_face -s 120.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 169.254.0.0/16 -j DROP
- iptables -A INPUT -i ext_face -s 172.16.0.0/12 -j DROP
- iptables -A INPUT -i ext_face -s 173.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 174.0.0.0/7 -j DROP
- iptables -A INPUT -i ext_face -s 176.0.0.0/5 -j DROP
- iptables -A INPUT -i ext_face -s 184.0.0.0/6 -j DROP
- iptables -A INPUT -i ext_face -s 192.0.2.0/24 -j DROP
- iptables -A INPUT -i ext_face -s 197.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 198.18.0.0/15 -j DROP
- iptables -A INPUT -i ext_face -s 223.0.0.0/8 -j DROP
- iptables -A INPUT -i ext_face -s 224.0.0.0/3 -j DROP
- #Protecao contra "ping of death"
- iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
- #Protecao contra syn-flood brute force
- iptables -N syn-flood
- iptables -A INPUT -p tcp --syn -j syn-flood
- iptables -A syn-flood -m limit --limit 10/second --limit-burst 50 -j RETURN
- iptables -A syn-flood -j LOG --log-level 4 --log-prefix 'SYN-flood attempt: '
- iptables -A syn-flood -j DROP
- #Protecao contra IP Spoofing
- iptables -A INPUT -i ext-int -s 10.0.0.0/8 -j DROP
- iptables -A INPUT -i ext-int -s 127.0.0.0/8 -j DROP
- iptables -A INPUT -i ext-int -s 172.16.0.0/16 -j DROP
- iptables -A INPUT -i ext-int -s 192.168.0.0/24 -j DROP
- iptables -A INPUT -s 0.0.0.0/7 -j DROP
- iptables -A INPUT -s 2.0.0.0/8 -j DROP
- iptables -A INPUT -s 5.0.0.0/8 -j DROP
- iptables -A INPUT -s 7.0.0.0/8 -j DROP
- iptables -A INPUT -s 10.0.0.0/8 -j DROP
- iptables -A INPUT -s 23.0.0.0/8 -j DROP
- iptables -A INPUT -s 27.0.0.0/8 -j DROP
- iptables -A INPUT -s 31.0.0.0/8 -j DROP
- iptables -A INPUT -s 36.0.0.0/7 -j DROP
- iptables -A INPUT -s 39.0.0.0/8 -j DROP
- iptables -A INPUT -s 42.0.0.0/8 -j DROP
- iptables -A INPUT -s 49.0.0.0/8 -j DROP
- iptables -A INPUT -s 50.0.0.0/8 -j DROP
- iptables -A INPUT -s 77.0.0.0/8 -j DROP
- iptables -A INPUT -s 78.0.0.0/7 -j DROP
- iptables -A INPUT -s 92.0.0.0/6 -j DROP
- iptables -A INPUT -s 96.0.0.0/4 -j DROP
- iptables -A INPUT -s 112.0.0.0/5 -j DROP
- iptables -A INPUT -s 120.0.0.0/8 -j DROP
- iptables -A INPUT -s 169.254.0.0/16 -j DROP
- iptables -A INPUT -s 172.16.0.0/12 -j DROP
- iptables -A INPUT -s 173.0.0.0/8 -j DROP
- iptables -A INPUT -s 174.0.0.0/7 -j DROP
- iptables -A INPUT -s 176.0.0.0/5 -j DROP
- iptables -A INPUT -s 184.0.0.0/6 -j DROP
- iptables -A INPUT -s 192.0.2.0/24 -j DROP
- iptables -A INPUT -s 197.0.0.0/8 -j DROP
- iptables -A INPUT -s 198.18.0.0/15 -j DROP
- iptables -A INPUT -s 223.0.0.0/8 -j DROP
- iptables -A INPUT -s 224.0.0.0/3 -j DROP
- iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 7 -j REJECT
- #Protecao contra port scanners ocultos
- iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
- iptables -A INPUT -s 0.0.0.0/0 -p icmp -j DROP
- #Bloqueando tracertroute
- iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP
- #Bloqueando Ataques Nivel Medio
- iptables -A INPUT -m state --state INVALID -j DROP
- #Regra simples de bloqueiar
- iptables -N conn-flood
- iptables -I INPUT 1 -p tcp --syn -j conn-flood
- iptables -A conn-flood -m limit --limit 7/s --limit-burst 20 -j RETURN
- iptables -A conn-flood -j DROP
- iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j ACCEPT
- iptables -A INPUT -p icmp -j DROP
- #Bloqueando ataques UDP
- iptables -N udp-flood
- iptables -A INPUT -p UDP -f -j DROP
- iptables -A INPUT -p UDP --dport 7 -j DROP
- iptables -A INPUT -p UDP --dport 19 -j DROP
- iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP
- iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT
- iptables -A OUTPUT -p udp -m state --state NEW -j ACCEPT
- iptables -A OUTPUT -p udp -m limit --limit 100/s -j ACCEPT
- iptables -A OUTPUT -p udp -j DROP
- iptables -A OUTPUT -p udp -j udp-flood
- iptables -A udp-flood -p udp -m limit --limit 200/s -j RETURN
- iptables -A udp-flood -j LOG --log-level 4 --log-prefix 'UDP-flood attempt: '
- iptables -A udp-flood -j DROP
- #Bloqueando traceroute
- iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP
- #Bloqueia toda entrada com excessao das regras acima
- iptables -A INPUT -j DROP
- #Limita a rate do SSH
- iptables -A INPUT -p tcp --dport 2743 -m state --state NEW -m recent --set --name SSH-LIMIT
- iptables -A INPUT -p tcp --dport 2743 -m state --state NEW -m recent --update --rttl --seconds 60 --hitcount 20 -j REJECT --reject-with tcp-reset --name SSH-LIMIT
- #Anulando resposta ICMP
- echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
- #Bloqueia conexoes nas demais portas
- iptables -A INPUT -p tcp --syn -j DROP
- #Regras IPFilter
- iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
- echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
- echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
- echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
- echo 0 > /proc/sys/net/ipv4/ip_forward
- echo 1 > /proc/sys/net/ipv4/tcp_syncookies
- echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
- iptables -A INPUT -m state --state INVALID -j DROP
- #Cria log dos bloqueios - Ativar somente se necessario
- #iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
- echo "Firewall ativado!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement