/etc/hosts.deny ignorado no Ubuntu 14.04

3

Eu tenho o Apache2 rodando no Ubuntu 14.04LTS. Para começar a proteger o acesso à rede para a máquina, quero começar bloqueando tudo e, em seguida, fazer instruções específicas de permissão para sub-redes específicas para procurar sites hospedados no Apache.

O Ubuntu Server é instalado sem pacotes selecionados durante a instalação, os únicos pacotes adicionados após a instalação são: apt-get update; apt-get install apache2, php5 (com php5-modules adicionais), openssh-server, mysql-client

A seguir estão meus /etc/hosts.deny & /etc/hosts.allow settings:

  • /etc/hosts.deny

    ALL:ALL
    
  • /etc/hosts.allow não tem entradas permitidas.

Espero que todos os protocolos de rede sejam negados. O sintoma é que eu ainda posso navegar na web para sites hospedados no servidor web Apache, mesmo que haja uma negação toda a declaração em /etc/hosts.deny

O sistema foi reinicializado depois que a entrada de negação foi adicionada.

Por que o /etc/hosts.deny com ALL: ALL seria ignorado e permitiria a navegação http em sites hospedados no servidor web apache?

    
por Matt 12.08.2014 / 02:46

4 respostas

1

Para que os wrappers do tcp tenham efeito, você precisa lançar o serviço correspondente do xinetd ou ter o link do aplicativo libwrap . O daemon xinetd é um super serviço envolto em TCP.

compatibilidade com tcpwrappers

A primeira coisa a lembrar é que nem todo aplicativo baseado em rede em sua máquina é compatível com tcpwrappers. As restrições em hosts.allow ou hosts.deny são válidas somente se referirem-se à biblioteca tcpwrappers. Como você pode descobrir se sua aplicação é compatível? Use este comando:

ldd /path/to/binary | grep libwrap (general example)

ldd /usr/sbin/sshd | grep libwrap (shows that the sshd refers to libwrap)

ldd /usr/sbin/apache2 | grep libwrap (show that apache does not refer to libwrap)

No exemplo básico acima, vemos que o sshd (servidor ssh) está se referindo ao libwrap.so, então podemos dizer que quaisquer restrições em hosts.allow e hosts.deny são aplicáveis a esse serviço. Também vemos que o apache2 não se refere ao libwrap.so, portanto, quaisquer restrições descritas aqui não se aplicam às conexões do apache2. (isto é, você pode bloquear o ssh, mas o apache2 ainda está aberto)

    
por 12.08.2014 / 04:19
0

O arquivo hosts.allow e hosts.deny tem apenas uma efetividade limitada. Não se aplica ao aplicativo apache.

No entanto, existem diretivas de controle de acesso de acesso dentro das diretivas de configuração do apache para fazer esse tipo de restrição.

    
por 12.08.2014 / 04:09
0

Para limitar seu servidor apache, adicione algo do seguinte ao httpd.conf

<Directory />
Order Deny, Allow
Deny from all
#Allow from your ip
</Directory>

Se bem me lembro, você precisa do mod_access ativado, mas na maioria das vezes é por padrão.

NB! Você deve reiniciar o apache.

    
por 12.08.2014 / 23:02
0

Veja link e Upgrade do Apache 2.2 para o Apache 2.4

No Ubuntu 14.04 algo foi alterado para a configuração do Apache. Você deve fazer esta modificação: Mudar

Order Deny,Allow
Deny from all

em

Require all denied
    
por 22.08.2014 / 11:04