Considere a seguinte diretiva de segurança do servidor Apach...
<.Directory /www>
Order Deny,Allow
Allow from 11.12.13
<./Directory>
Com essa diretiva, se houver uma tentativa de acesso ao diretório /www a partir do host 10.11.12.13 o acesso será
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Segundo a documentação do Apache, o acesso pode ser controlado baseado no hostname, IP ou outras características do cliente requisitante. As diretivas allow e deny são usadas para especificar quais clientes são ou não são permitidos para acessar o servidor, enquanto a diretiva order atribui o estado de acesso default, e configura como as diretivas allow e deny irão interagir entre si.
A diretiva order pode ser atribuída de 3 formas :
Allow,Deny: Primeiramente, todas as diretivas allow são avaliadas, e pelo menos uma deve bater corretamente, senão a requisição é rejeitada. Em seguida, todas as diretivas deny são avaliadas. Se alguma bater corretamente a requisição é rejeitada. Por último, qualquer requisição que não bater com uma diretiva allow ou deny são rejeitadas por default
Deny,Allow: Primeiramente, todas as diretivas deny são avaliadas, se qualquer uma delas bater a requisição é rejeitada a não ser que ela também bata com uma diretiva allow. Qualquer requisição que não bata com allow ou deny são permitidas por default.
Mutual-failure: Funcionará como a Allow,Deny ,visto que foi depreciada
Portanto, como a diretiva order está setada para Deny,Allow, e não foi especificada nenhuma diretiva deny , não só essa requisição mas todas elas seriam permitidas.
Portanto, alternativa correta é a letra B
Fonte : http://httpd.apache.org/docs/2.4/mod/mod_access_compat.html
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Ordenação das permissões:
Allow,Deny -> Primeiramente, a requisição é comparada a todas as diretivas Allow; se a requisição não corresponder a nenhuma das diretivas Allow, a requisição será rejeitada. Segundo, a requisição é comparada com todas as diretivas Deny; se a requisição corresponder a alguma diretiva Deny, a requisição será rejeitada. Por último, qualquer requisição que não corresponder às diretirvas Allow ou Deny será negada, por default.
Deny, Allow -> Primeiramente, a requisição é comparada com todas as diretivas Deny, se corresponder a alguma, a requisição será rejeitada, a menos que corresponda com alguma diretiva Allow. Qualquer requisição que não corresponda a uma diretira Allow ou Deny será permitida.
Rita o entendimento para ORder Deny, ALLOw é:
--1)passada olha primeiro as regras deny para o host 10.11.12.13-> nao tem.
--- 2) passada olha as regras ALOW para tal host-> temos uma regra, mas nao temos o casamento,
--- 3) passada entao por default dessa Order, devemos ALLOW o acesso.
Note que se tivesse *.11.12.13, o acesso seria permitido já na segunda passada pelas regras ALLOW
The ordering argument is one word (i.e., it is not allowed to contain a space) and controls the order in which the foregoing directives are applied. If two order directives apply to the same host, the last one to be evaluated prevails:
deny,allow - The deny directives are evaluated before the allow directives.
allow,deny - The allow directives are evaluated before the denys.
http://docstore.mik.ua/orelly/linux/apache/ch05_06.htm
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo