2.3.4.3.2. Opções de Controle de Acesso
Usuários dos serviços
xinetd podem escolher usar as regras de acesso de hosts TCP Wrappers, fornecer controle de acesso pelos arquivos de configuração xinetd ou uma mistura de ambos. Consulte a Seção 2.3.2, “Arquivos de Configuração dos TCP Wrappers” para mais informações sobre os arquivos de controle de acesso de hosts TCP Wrappers.
Esta seção discute o uso do
xinetd para controlar o acesso aos serviços.
Nota
Diferente dos TCP Wrappers, mudanças nos controle de acesso somente tem efeito se o administrador
xinetd reiniciar o serviço xinetd.
Também, diferentemente dos TCP Wrappers, o controle de acesso pelo
xinetd somente afeta serviços controlados pelo xinetd.
O controle de acesso de hosts
xinetd difere do método usado pelos TCP Wrappers. Enquanto os TCP Wrappers colocam toda a configuração de acesso dentro de dois arquivos /etc/hosts.allow e /etc/hosts.deny, o controle de acesso do xinetd é encontrado em cada um dos arquivos de configuração do serviço no diretório /etc/xinetd.d/.
As seguintes opções de acesso de hosts são suportadas pelo
xinetd:
only_from— Permite somente os hosts especificados usarem o serviço.no_access— Bloqueia os hosts listados de usar o serviço.access_times— Especifica o período de tempo quando um determinado serviço pode ser usado. O período de tempo deve ser declarado no formato 24 horas, HH:MM-HH:MM.
As opções
only_from e no_access podem usar uma lista de endereços de IP ou nomes de host, ou pode especificar uma rede inteira. Como os TCP Wrappers, combinar o controle de acesso xinetd com a configuração de log avançada pode aumentar a segurança bloqueando pedidos dos hosts banidos enquanto grava a verbosidade de cada tentativa de conexão.
Por exemplo, o arquivo seguinte
/etc/xinetd.d/telnet pode ser usado para bloquear o acesso Telnet de um grupo de rede particular e restringe o intervalo de tempo de total que mesmo usuários permitidos podem se logar:
Neste exemplo, quando um sistema cliente da rede
172.16.45.0/24, como 172.16.45.2, tenta acessar o serviço Telnet, ele recebe a seguinte mensagem:
Conexão fechada por um host externo.
Conexão fechada por um host externo.
Alem disso, as tentativas de login deles são registradas no
/var/log/messages conforme a seguir:
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285 duration=0(sec)
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285 duration=0(sec)
Quando usar os TCP Wrappers em conjunto com os controles de acesso
xinetd , é importante entender o relacionamento entre os dois mecanismos de controle de acesso.
A seguir está uma sequencia de eventos seguidos pelo
xinetd quando um cliente solicita uma conexão:
- O daemon
xinetdacessa as regras de acesso de hosts do TCP Wrappers usando uma chamada da bibliotecalibwrap.a. Se uma regra de negação corresponde ao cliente, a conexão é passada para oxinetd. - O daemon
xinetdverifica suas próprias regras de controle de acesso tanto para o serviçoxinetde o serviço solicitado. Se uma regra de negação corresponde ao cliente, a conexão é despejada. Caso contrário , oxinetdinicia uma instância do serviço solicitado e passa o controle da conexão a esse serviço.
Importante
Cuidado deve ser tomado quando usar os controles de acesso do TCP Wrappers em conjunto com os controles de acesso
xinetd. Um erro de configuração pode causar efeitos indesejáveis,