Postado originalmente por
fisiconuclear18
Pessoal, por acaso alguem poderia dar uma olhada no meu firewall para ver se está tudo ok, por favor...Eu fui implementando mas nao entendi bem a politica default drop, pois se eu dropar tudo de inicio e depois eu liberar as portas, ele via conseguir ter acesso a net?
Presciso liberar a porta do dhcpd?
Pro favor presciso muito disso para poder melhorar o firewall...O pessoal está me combrando entao se puderem me ajudar...
#!/bin/bash
echo " Iniciando novo firewall onde a politica default ................................. ok "
###Eliminando regras da memoria
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
###Colocando politica default drop
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
###Permissao para acessos em loopback e originados pelo firewall
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
###Roteamento para acessos e snat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 200.x.x.x
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 200.x.x.x
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to 200.x.x.x
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j SNAT --to 200.x.x.x
###Liberando portas para rede interna
iptables -A FORWARD -s 192.168.0.0/24 -m multiport -p tcp --dport 80,25,110,53,3128 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 443 -j ACCEPT
###Redirecionamento para o squid
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -m multiport -p tcp --dport 80,8080 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.3.0/24 -m multiport -p tcp --dport 80,8080,443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.4.0/24 -m multiport -p tcp --dport 80,8080 -j REDIRECT --to-port 3128
###Bloqueando pacotes mal formados
iptables -A INPUT -m unclean -j DROP
iptables -A FORWARD -m unclean -j DROP
###Para logar e bloquear as diferentes tecnicas de portscanners
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "nmap-xmas scan:" --log-tcp-options --log-ip-options
iptables -t mangle -A PREEROUTING -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "nmap-null scan:" --log-tcp-options --log-ip-options
iptables -t mangle -A PREROUTING -p tcp --tcp-flgas SYN,RST SYN,RST -j LOG --log-prefix "syn/rst scan:" --log-tcp-options --log-ip-options
###Dificultando a acao de portscanners
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "syn/fin scan:" --log-tcp-options --log-ip-options
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
###Flags FIN e RST ativados simultaneamente
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
###Flag FIN ativado sem o respectivo ACK
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,FIN FIN -j DROP
###Flag PSH ativado sem o respectivo ACK
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,PSH PSH -j DROP
###Flag URG stivado sem o respectivo ACK
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,URG URG -j DROP
###Logando pacotes de origem suspeita
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
###Limitando o tempo de resposta do ping
iptables -A INPUT -p icmp -m limit --limit 1/s -limit-burst 3 -j ACCEPT
###Protecao contra syn-flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
###Protecao contra portscanner suspeito
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
###Protecao contra ping da morte
iptables -A FORWARD -p icmp -m limit --limit 1/s -j ACCEPT