Ouvimos dizer que uma boa prática de segurança é redefinir tudo no host virtual para não permitir nada e depois ter outra diretiva para permitir acesso específico - algo como isto:
<VirtualHost *:80>
DocumentRoot /home/example/public_html
<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<Directory /home/example/public_html >
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
Faz sentido, mas não temos certeza, então adoraríamos algumas opiniões sobre a melhor maneira de configurar as coisas.
Responder1
Se você realmente usar a <Directory />
diretiva conforme escrita lá, não estará alterando nada para esse host virtual, mas, em vez disso, estará declarando as mesmas substituições repetidamente para o diretório /
.
Portanto, essas opções não fizeram nada ou, na melhor das hipóteses, apenas a última <Directory />
seção encontrada foi aplicada:
https://httpd.apache.org/docs/current/sections.html#merging
Se essa seção parecer igual para todos os hosts virtuais, isso não causará problemas, mas se alguns hosts virtuais forem diferentes e o número de hosts virtuais mudar ao longo do tempo, será confuso descobrir qual <Directory />
diretiva foi aplicada.
Eu removeria a <Directory />
seção de todos os hosts virtuais e a declararia uma vez, em uma configuração global.