Evitar la lista de directorios en un servidor web es una práctica esencial para garantizar la seguridad y la privacidad de los archivos que se encuentran alojados en dicho servidor. La lista de directorios permite que los usuarios vean una lista de todos los archivos y carpetas en un directorio particular, lo cual puede exponer información sensible y crear vulnerabilidades. A continuación, se explican algunas técnicas y configuraciones para evitar la lista de directorios, acompañadas de ejemplos y fuentes confiables.
1. `.htaccess` Para desactivar la lista de directorios, se puede agregar la siguiente línea al archivo `.htaccess`: ```apache Options -Indexes ``` Esto desactivará la opción de listado para el directorio en el que se encuentra el archivo `.htaccess` y todos sus subdirectorios.
2. Configuración Global
En un archivo de configuración como `httpd.conf` o `apache2.conf`, se puede agregar o modificar una directiva para que los índices estén desactivados por defecto en todo el servidor:
```apache
Fuente:
- [Apache HTTP Server Documentation](https://httpd.apache.org/docs/2.4/mod/core.html#options)
1. Configuración en `nginx.conf` ```nginx server { listen 80; server_name example.com;
location / { autoindex off; # otras configuraciones } } ``` La directiva `autoindex off` desactiva la lista de directorios para el servidor o para una ubicación específica.Fuente:
- [Nginx Documentation](https://nginx.org/en/docs/http/ngx_http_autoindex_module.html)
Fuente:
- [Linux File Permissions](https://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html)
1. Apache `.htaccess`: – Creación del archivo: `nano /var/www/html/.htaccess` – Adición de la línea: `Options -Indexes`
Esto evitará que cualquier persona pueda listar el contenido de `/var/www/html` y sus subdirectorios.2. Nginx Configuración en `nginx.conf`: – Edición del archivo de configuración: `nano /etc/nginx/nginx.conf` – Adición de la configuración específica: ```nginx server { listen 80; server_name mi-sitio.com;
location / { autoindex off; } } ``` – Reiniciar Nginx: `sudo systemctl restart nginx`
Fuentes adicionales:
- [NGINX Wiki](https://www.nginx.com/resources/wiki/start/)
- [Mozilla Developer Network (MDN) Web Docs](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Apache_Configuration_htaccess)