Enviada: Ter Mar 11, 2008 8:11 am Assunto: Bloquear tudo. Liberar apenas o necessário.
Pessoal, não tenho muita experiência em Linux, mas já consegui algum sucesso com a ajuda de vocês.
Tenho um pc que é gateway da rede com Linux Fedora 7, iptables e squid transparente funcionando.
O squid funciona bem e o iptables mais ou menos...
Eu quero fechar todas as portas e abrir apenas o necessário, mas tô apanhando um pouco.
Aqui vai parte do meu firewall para analise:
# Primeiro, ativar o mascaramento (nat).
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
# Redireciona a porta 80 para 3128 (squid)
iptables -t nat -A PREROUTING -i $INTRANET -p tcp --dport 80 -j REDIRECT --to-port 3128
#"Liga" o forward
echo "1" > /proc/sys/net/ipv4/ip_forward
--------------------------------------------------------------------------
Com esse script minimo ai, funciona bem, mas se eu adiciono os comandos para fechar todas as portas e vir abrindo, nada mais funciona...
Com os comandos para fechar e abrir as portas, ficaria assim:
Registrado em: Nov 12, 2006 Mensagens: 63 Localização: Rio de Janeiro
Enviada: Qua Mar 19, 2008 1:34 pm Assunto:
Olha, já faz bastante tempo que eu não mecho com iptables e estou meio enferrujado, mas vamos lá.
Nesta linha:
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 80 -j ACCEPT
você está liberando os pacotes que saem da sua rede em em direção à porta 80 (-dport 80). Está certo, pois os servidores web costumam rodar na porta 80.
Mas nessa linha:
iptables -A INPUT -i $INTRANET -p tcp --dport 80 -j ACCEPT
você está liberando os pacotes que vem da internet para a sua rede interna com destino à porta 80 (-dport 80). Isso não está correto, pois o seu browser não utiliza a porta 80. O que me parece ser a forma correta é trocar o dport (destination-port) por sport (source-port).
Mesmo esse jeito não é 100% seguro, e depois posso tentar explicar porque. Mas primeiro veja se consegue fazer a navegação voltar a funcionar ai.