Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
![]()
Options -Indexes es una directiva de Apache que controla si el servidor debe mostrar un listado de archivos de un directorio cuando no existe un archivo índice (como index.html o index.php).
Sin esta configuración, si un usuario accede a un directorio sin índice, Apache muestra automáticamente todos los archivos contenidos, lo que representa un riesgo de seguridad al exponer información sensible.
Qué hace Options -Indexes
Options -Indexesdesactiva la posibilidad de listar los archivos de un directorio.- Cuando un usuario intenta acceder a un directorio sin archivo índice, Apache devuelve un error 403 Forbidden en lugar de mostrar el contenido.
- Es especialmente importante en entornos de producción y para aplicaciones web que contienen configuraciones o datos sensibles.
Cómo habilitar Options -Indexes
Hay dos formas principales de aplicar esta directiva: en la configuración de Apache o dentro de un archivo .htaccess.
Dentro del bloque <Directory> en Apache
Este es el método recomendado, porque aplica la directiva a nivel de servidor y no depende de .htaccess.
Ejemplo de VirtualHost genérico:
<VirtualHost *:80>
ServerName ejemplo.midominio.com
DocumentRoot /var/www/miapp
<Directory /var/www/miapp>
AllowOverride All
Require all granted
Options -Indexes
</Directory>
ErrorLog ${APACHE_LOG_DIR}/miapp_error.log
CustomLog ${APACHE_LOG_DIR}/miapp_access.log combined
</VirtualHost>Explicación:
AllowOverride All→ permite que Apache lea reglas de.htaccess.Require all granted→ da acceso al directorio desde el navegador.Options -Indexes→ bloquea el listado de archivos.
Luego recarga Apache para aplicar los cambios:
sudo systemctl reload apache2Dentro de un archivo .htaccess
Si no puedes modificar la configuración principal de Apache, puedes ponerlo en un .htaccess en el directorio que quieras proteger:
# /var/www/miapp/.htaccess
Options -IndexesNotas importantes:
- Funciona solo si
AllowOverride All(o al menosOptions) está activo en Apache. - Aplica solo al directorio donde se encuentra el
.htaccessy sus subdirectorios. - Puede combinarse con otras reglas de seguridad como restricciones de acceso o redirecciones.
Verificación
Para probar que Options -Indexes funciona:
- Asegúrate de que el directorio no tenga un archivo
index.htmlniindex.php. - Intenta acceder al directorio desde el navegador:
http://tu-servidor/miapp/- Si muestra 403 Forbidden → la configuración funciona
- Si lista los archivos → Apache no está leyendo la directiva
Buenas prácticas
- Aplica
Options -Indexesen los directorios que contengan archivos sensibles, como configuraciones o datos de la aplicación. - Prefiere configurarlo en VirtualHost o configuración principal de Apache para producción.
- Combínalo con otras medidas de seguridad:
.htaccess, permisos de archivo correctos y restricciones de acceso a directorios críticos.
Conclusión
Options -Indexes es una directiva simple pero fundamental para proteger la información de tus aplicaciones web.
- Bloquea el listado de archivos de directorios sin índice.
- Puede aplicarse en
.htaccesso en la configuración de Apache. - Es especialmente recomendable en entornos de producción para evitar exposición accidental de datos sensibles.
Clave: aplicarlo siempre que haya directorios accesibles al público y que no contengan un archivo índice.



