Qual é a diferença entre proteger uma caixa linux usando hosts. [allow | deny] vs iptables?

15

Como o título indica, eu tenho uma caixa linux. Tanto quanto eu posso dizer que eu posso usar hosts.allow / hosts.deny ou iptables para proteger. Qual é a diferença? Existe outro mecanismo que possa ser usado?

    
por Tree77 05.08.2010 / 18:07

2 respostas

22

O IPTables funciona no nível do Kernel. Em geral, isso significa que não tem conhecimento de aplicativos ou processos. Ele só pode filtrar com base no que obtém dos vários cabeçalhos de pacotes na maior parte.

O host.allow / deny, no entanto, opera no nível do aplicativo / processo. Você pode criar regras para vários processos ou daemons em execução no sistema.

Assim, por exemplo, o IPTables pode filtrar na porta 22. O SSH pode ser configurado para usar essa porta e geralmente é, mas também pode ser configurado para estar em uma porta diferente. O IPTables não sabe em qual porta está, apenas conhece a porta no cabeçalho TCP. Os arquivos hosts.allow, no entanto, podem ser configurados para certos daemons, como o daemon openssh.

Se você tiver que escolher, eu geralmente optaria por um mínimo de IPTables. Eu vejo o hosts.allow como um bônus agradável. Mesmo que pareça que os níveis do daemon parecem mais fáceis, o IPTables irá bloquear o pacote antes que ele realmente chegue muito longe. Com segurança, quanto mais cedo você puder bloquear algo, melhor. No entanto, tenho certeza de que existem situações que mudam essa escolha.

    
por 05.08.2010 / 18:10
0

O iptables bloqueia o acesso antes que ele atinja o aplicativo, enquanto hosts.allow / hosts.deny é parte do PAM e requer que o aplicativo implemente a verificação do PAM e manipule corretamente o arquivo. Ambos são úteis, e ter ambos no lugar é ainda melhor.

    
por 05.08.2010 / 18:13