¿Deberían los archivos del host virtual contener dos?directivas?

¿Deberían los archivos del host virtual contener dos?directivas?

Hemos escuchado que una buena práctica de seguridad es restablecer todo en el host virtual para no permitir nada y luego tener otra directiva para permitir un acceso específico, algo como esto:

<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>

Tiene sentido, pero no estamos seguros, por lo que nos encantaría recibir algunas opiniones sobre la mejor manera de configurar las cosas.

Respuesta1

Si realmente usa la <Directory />directiva tal como está escrita allí, no cambiará nada para ese host virtual, sino que declarará las mismas anulaciones una y otra vez para el directorio /.

Entonces esas opciones no hicieron nada, o en el mejor de los casos, solo <Directory />se aplicó la última sección encontrada:

https://httpd.apache.org/docs/current/sections.html#merging

Si esa sección tiene el mismo aspecto para todos los hosts virtuales, eso no causará problemas, pero si algunos hosts virtuales difieren y la cantidad de hosts virtuales cambia con el tiempo, será confuso determinar cuál <Directory />directiva se aplicó.

Quitaría la <Directory />sección de todos los hosts virtuales y la declararía una vez, en una configuración global.

información relacionada