Técnicas para implementar regras de iptables

5

Normalmente, uma quantidade limitada de serviços é configurada em um servidor, e a maioria dos não necessários é desligada, fiquei me perguntando qual seria a melhor abordagem para o firewall com o iptables.

É melhor filtrar negando um serviço específico de uma interface ou rede específica e deixando as portas não utilizadas abertas ou é melhor definir a política da cadeia para que ela seja descartada e, em seguida, começar a abrir o que é necessário?

    
por Fabrizio Mazzoni 19.02.2014 / 06:39

1 resposta

10

Existem muitas escolas de pensamento quando se trata de firewall em nível de sistema.

Uma abordagem conservadora que geralmente é vista é usar o rastreamento de conexão para corresponder e aceitar explicitamente o tráfego de entrada RELATED ou ESTABLISHED. Todos os outros tráfegos de entrada são descartados por padrão. Regras explícitas são adicionadas conforme necessário para que vários serviços aceitem tráfego de entrada não correspondido.

O tráfego de saída não é filtrado na maioria dos cenários.

Exemplo:

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m conntrack --ctstate INVALID -j DROP
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT

O trecho iptables-save acima mostra uma configuração que desativa pacotes de entrada e de encaminhamento por padrão e aceita pacotes de saída por padrão. O tráfego de entrada do host local é explicitamente aceito, assim como os pacotes RELATED e ESTABLISHED (por exemplo, respostas a uma solicitação http) e todo o tráfego para a porta 22 (SSH).

    
por 19.02.2014 / 06:50