iptables, política padrão versus regras

12

Existe alguma diferença em descartar pacotes não correspondentes com a política padrão vs -j DROPno final?

Gostar:

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 me preocupo é porque não consigo criar cadeia com log e atribuí-la como política padrão, portanto, precisaria usar o segundo exemplo.

alguém
fonte
o que você está tentando registrar?
tftd
Em geral, qualquer coisa. Quando estou depurando o iptables, esconde-esconde quando não sei onde ou por que ele foi descartado.
alguém

Respostas:

5

Do ponto de vista técnico, não. O pacote é descartado de qualquer maneira.

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

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

Magalhães
fonte
5

Sim. Se você usar uma política de DROP e, em seguida, conectar-se através de SSH e liberar a tabela ( iptables -F), será bloqueado, pois a política padrão não será liberada.

Eu fiz isso em um sistema remoto. Isso machuca.

(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)

Uma política padrão provavelmente é mais segura de ser mais fácil de gerenciar. Você não pode esquecer de adicioná-lo ao final.

Sirex
fonte
3

Talvez outra coisa nesse tópico para aqueles que precisam dessa informação, assim como eu, algumas horas atrás.

A última maneira:

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 queda universal e, portanto, não terá efeito), você deverá inserir a regra com uma declaração explícita da posição desejada:

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

ao invés de

iptables -A INPUT --dport 80 -j ACCEPT

Dependendo das suas necessidades, isso pode ajudar a segurança um pouco, exigindo que você ou o que mais tarde adiciona a regra realmente siga as regras existentes e não apenas adicione-a normalmente.

Este conhecimento adquiri ontem, enquanto verificava por vinte minutos por que meu serviço recém-instalado não responde, apesar de tudo estar funcionando.

Pavel
fonte
1

As políticas padrão são bastante limitadas, mas são uma boa alternativa para garantir que os pacotes não manipulados sejam tratados da maneira correta.

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

Considere essas abordagens à política e a regra final da política.

  • use e aceite a política e substitua pela política desejada como regra final. Isso pode protegê-lo quando você gerencia um host em um local remoto. Se você abandonar suas regras, ficará apenas com sua linha de defesa secundária, como hosts.allow. Se você abandonar sua regra final, você terminará em uma configuração aberta ou totalmente aberta.
  • defina a política desejada e apoie-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.
BillThor
fonte