Estou executando o CentOS 5.5 com o estoque Apache httpd-2.2.3.
Tenho habilitado mod_status na / server-status Localização. Gostaria de permitir o acesso a esse único local da seguinte maneira:
- Negar de todos
- Permitir a partir da sub-rede 192.168.16.0/24
- Negue de um IP 192.168.16.100, que esteja dentro da sub-rede 192.168.16.0/24.
1 e 2 são fáceis. No entanto, como eu "Permitir a partir de 192.168.16.0/24", é possível negar a partir de 192.168.16.100?
Tentei adicionar uma instrução Deny para 192.168.16.100, mas ela não funciona. Aqui está a configuração relevante:
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Deny from all
Deny from 192.168.16.100 # This does not deny access from 192.168.16.100
Allow from 192.168.16.0/24
</Location>
Ou:
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Deny from all
Deny from 192.168.16.100 # This does not deny access from 192.168.16.100
Allow from 192.168.16.0/24
</Location>
No entanto, isso não impede o acesso a esta página específica, conforme demonstrado nos logs do Access:
www.example.org 192.168.16.100 - - [11/Mar/2011:16:01:14 -0800] "GET /server-status HTTP/1.1" 200 9966 "-" "
De acordo com o manual para mod_authz_host :
Permitem negar
Primeiro, todas as diretivas Allow são avaliadas; pelo menos um deve corresponder ou a solicitação é rejeitada. Em seguida, todas as diretivas Negar são avaliadas. Se houver correspondência, a solicitação é rejeitada
O endereço IP corresponde à diretiva Negar. Portanto, a solicitação não deve ser rejeitada?
De acordo com a tabela na página mod_authz_host, esse endereço IP deve "Corresponder a Permitir e Negar" e, portanto, a regra "Controles finais de correspondência: Negado" deve ser aplicada.
Corresponder Permitir, Negar resultado Negar, Permitir resultado Correspondência Permitir apenas Solicitação permitida Solicitação permitida Corresponder apenas Negar Pedido negado Pedido negado Sem correspondência Padrão para a segunda diretiva: Negado Padrão para a segunda diretiva: Permitido Corresponder os dois controles de correspondência Permitir e Negar final: Negado Controles de correspondência final: Permitido
Allow from 192.168.16.0/24
. Pelo que entendi a documentação, qualquer IP solicitante na rede 192.168.16.0/24 corresponderá a esta instrução Allow, a solicitação é permitida.