iptables, política padrão vs regras

10

Existe alguma diferença na eliminação de pacotes não correspondidos com política padrão vs -j DROP no final?

Como:

iptables -P INPUT DROP
iptables -A INPUT --dport 80 -j ACCEPT

vs

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

A razão pela qual eu me importo é que não posso criar uma cadeia com log e associá-la como política padrão, então eu precisaria usar o segundo exemplo.

    
por someone 24.09.2012 / 01:07

4 respostas

5

Do ponto de vista técnico, Não. O pacote é descartado de qualquer forma.

Mas o Sirex é bastante correto, pois pode ser um pouco doloroso se você esquecer algo importante ao trocar as regras padrão da tabela.

Depois de passar algum tempo com o IPTables, você provavelmente encontrará uma preferência e criará seus sistemas em torno disso em seu ambiente.

    
por 24.09.2012 / 02:02
5

Sim. Se você usa uma política de DROP e, em seguida, conecta-se por SSH e libera a tabela ( iptables -F ), você se bloqueia, pois a política padrão não é liberada.

Eu fiz isso em um sistema remoto. Doeu.

(Outra lição aprendida, se você quiser se livrar do firewall por um tempo, use service iptables stop , não iptables -F + service iptables reload )

No entanto, é provável que uma política padrão seja mais segura de gerenciar. Você não pode esquecer de adicioná-lo ao final.

    
por 24.09.2012 / 01:45
2

Talvez uma outra coisa para esse tópico para quem precisa desse pouco de informação como eu há algumas horas.

O último caminho:

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

não permite anexar uma regra mais tarde (porque a regra anexada aparecerá após a regra de recebimento universal e, portanto, não terá efeito), você terá que inserir a regra com a declaração explícita da posição desejada:

iptables -I INPUT 1 --dport 8080 -j ACCEPT

em vez de

iptables -A INPUT --dport 80 -j ACCEPT

Dependendo de suas necessidades, pode ajudar um pouquinho a segurança exigindo que você ou o que mais tarde adicione a regra realmente passe pelas regras existentes, e não apenas anexá-la como de costume.

Esse conhecimento eu ganhei ontem enquanto checava por vinte minutos porque meu serviço recém-instalado não responderia mesmo que tudo esteja funcionando.

    
por 20.12.2013 / 13:23
1

As políticas padrão são bastante limitadas, mas são um bom impedimento para garantir que os pacotes não manipulados sejam tratados da maneira apropriada.

Se você precisa (quer) registrar esses pacotes, você precisa de uma regra final. Isso pode ser uma cadeia que registra e aplica a política. Você também pode registrar e deixar a política lidar com isso.

Considere estas abordagens à política e à regra de política final.

  • use e aceite política e substitua a política desejada como a regra final. Isso pode protegê-lo quando você gerencia um host em um local remoto. Se você abandonar suas regras, você só terá a sua linha secundária de defesa, como hosts.allow. Se você abandonar sua regra final, acabará em uma configuração aberta ou totalmente aberta.
  • defina a política desejada e proteja-a com uma regra de política final. Isso pode ser mais seguro quando você tem acesso físico ou de console a um host. Se você descartar suas regras, perderá o acesso a todos os serviços, a menos que a política seja ACEITAR. Se você abandonar sua regra final, ainda estará protegido.
por 24.09.2012 / 04:59