3.5.1. TCP Wrappers

3.5.1. TCP Wrappers

O pacote TCP Wrappers (tcp_wrappers) faz parte da instalação padrão e oferece controle de de acesso a serviços de rede baseado no host. O componente mais importante do pacote é a biblioteca /usr/lib/libwrap.a. Em termos gerais, um serviço que use o TCP Wrappers é um que foi compilado com vinculação à biblioteca libwrap.a.

Quando uma tentativa de conexão é feita a um serviço que use o TCP Wrappers, o serviço primeiro examina os arquivos de acesso do host (/etc/hosts.allow e /etc/hosts.deny) para determinar se um cliente tem permissão para conectar. Na maioria dos casos, o serviço então usa o daemon syslog (syslogd) para escrever o nome do cliente fazendo o pedido e o serviço requisitado em /var/log/secure ou /var/log/messages.

Se um cliente tiver permissão para conectar, o TCP Wrappers passa o controle da conexão ao serviço que fez o pedido e não participa mais na comunicação entre o cliente e o servidor.

Além de controle de acesso e registro, o TCP Wrappers pode executar comandos para interagir com o cliente antes de negar ou passar o controle da conexão ao serviço de rede requisitado.

A maioria dos serviços de rede do Red Hat Enterprise Linux são vinculados à biblioteca libwrap.a porque o TCP Wrappers é uma adição valiosa ao arsenal de segurança de qualquer administrador de sistemas. Algumas destas aplicações incluem o /usr/sbin/sshd, o /usr/sbin/sendmail, e o /usr/sbin/xinetd.

Nota

Para determinar se um binário de serviço de rede está vinculado à libwrap.a, digite o seguinte comando como usuário root.

ldd <nome-do-binário> | grep libwrap

Substitua <nome-do-binário> pelo nome do binário de serviço de rede.

Se o comando não retornar nenhuma saída, o serviço de rede não está vinculado à libwrap.a.

O exemplo a seguir indica que o /usr/sbin/sshd está vinculado à libwrap.a:

[root@myserver ~]# ldd /usr/sbin/sshd | grep libwrap
        libwrap.so.0 =
> /usr/lib/libwrap.so.0 (0x00655000)
[root@myserver ~]#