O que é uma configuração sólida do iptables para meu desktop?

3

Na minha área de trabalho, eu quero configurar o iptables bem estritamente. Não vejo razão para permitir qualquer coisa, exceto o tráfego da Internet que iniciei. E talvez até isso possa ser limitado a apenas algumas portas. Quais são as regras básicas que podem fechar minha área de trabalho? Eu só preciso de:

  • Para navegar na internet
  • Download de e-mail

Qualquer conjunto recomendado de regras?

    
por user 08.07.2012 / 01:26

2 respostas

3

As regras a seguir permitirão todas as conexões de saída, mas bloquearão quaisquer conexões de entrada. As cadeias INPUT e FORWARD são configuradas para rejeitar pacotes por padrão, a cadeia OUTPUT é definida para aceitar pacotes por padrão, e a última regra permite pacotes de entrada que fazem parte das conexões existentes (que, neste caso, só podem ser conexões de saída). / p>

iptables --policy INPUT DROP
iptables --policy FORWARD DROP
iptables --policy OUTPUT ACCEPT
iptables --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables --append INPUT --jump REJECT
iptables --append FORWARD --jump REJECT

Se quiser restringir o tráfego de saída, você deseja alterar a política de OUTPUT para rejeitar e adicionar regras para aceitar tráfego em determinadas portas. Por exemplo:

iptables --policy OUTPUT DROP
iptables --append OUTPUT --protocol udp --match multiport --dports domain,bootps --jump ACCEPT
iptables --append OUTPUT --protocol tcp --match multiport --dports domain,http,https,ssh,pop3s,imaps,submission --jump ACCEPT
iptables --append OUTPUT --jump REJECT
    
por 08.07.2012 / 05:30
2

O seguinte script iptables-restore deve ser suficiente para as suas necessidades:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state ! --state NEW -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT

O script pode ficar ainda mais curto descartando a regra que permite pings ICMP, mas eu não recomendaria fazer isso. O IMO, respondendo ao ping, não prejudica muito a segurança (se for o caso) e pode ser útil para a solução de problemas de rede.

Se você quiser permitir conexões de entrada em uma porta TCP específica (por exemplo, para permitir ssh connections), você pode adicionar regra (s) ao seu script, como a seguir, logo acima da instrução COMMIT :

-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
    
por 08.07.2012 / 06:04