Existe uma boa razão para usar tanto o iptables quanto o tcp_wrappers?

0

Eu assumi a administração de algumas máquinas sem contexto sobre sua configuração.

Alguns estão usando iptables. Alguns estão usando tcp_wrappers (ou seja, /etc/hosts.allow ). Alguns estão usando os dois. Eles estão todos configurados de forma inconsistente.

Em muitos casos, iptables e tcp_wrappers parecem ter regras redundantes. Em um caso, eles são conflitantes. Este é um pesadelo de manutenção e estou inclinado a usar apenas um sistema.

Antes de fazer isso, pensei em perguntar: há situações em que é apropriado usar as duas coisas na mesma máquina?

    
por Schwern 21.01.2018 / 02:58

2 respostas

2

tcp_wrappers costumava ser motivo de raiva nos anos 90 para quem levasse a sério a segurança e, quando se tratava de segurança, na maioria das vezes, as soluções na camada de 7 OSI eram strongmente encorajadas; o mundo seguiu em frente e hoje em dia temos muito mais soluções em diferentes camadas e diferentes tecnologias.

Ao projetar soluções, não há abordagens totalmente erradas ou corretas.

Dependendo do software ou do caso de uso, geralmente quando você lida com o nível do aplicativo, você pode simplificar outras configurações.

Também hoje em dia você pode definir todas as regras de firewall em firewalls corporativos, ou no lado da virtualização, e talvez não queira ter iptables em todos os seus servidores.

Deve-se notar que também os binários / programas em questão podem ser compilados sem libwrap, por exemplo. sem suporte para tcp_wrappers e normalmente é melhor verificar isso primeiro.

Então, como dito antes, você tem que fatorar vários ângulos para decidir qual é a melhor abordagem para você .

    
por 21.01.2018 / 10:38
1

A hosts_access(5) man page oferece algumas possibilidades sobre por que você pode querer usar uma entrada de permissão / negação em vez de iptables:

  1. Correspondências de usuários (se o cliente oferecer suporte): Não conheço nenhum host existente que implemente RFC 931 ou amigos, como parece ser uma enorme falha de segurança!
  2. Interceptações do Booby / Chamadas do programa: se você estiver implementando algo mais complexo do que fazer logon em uma regra.
  3. Regras por programa: se você estiver filtrando com base no caminho do processo em vez da porta de rede. Isso é possivelmente útil se você precisar dessa funcionalidade e não tiver o módulo owner disponível em iptables .
  4. Opções keepalive / linger (de hosts_options(5) ): Se o programa não fizer isso e seu O sistema init não (?)

Eu nunca tive que usar hosts.allow ou hosts.deny porque as regras iptables fazem tudo que eu preciso, mas é possível que você precise de algumas das funcionalidades de (2) e talvez (4) para cenários de caso de borda . Se esses arquivos não fizerem nada maluco, imagino que você poderia substituí-los por regras equivalentes de iptables : certamente deve simplificar a administração!

    
por 21.01.2018 / 09:29