Buscar

Linux: Cómo permitir y denegar listado de directorios en Apache

Este artículo explica cómo habilitar y deshabilitar el listado de directorios en un servidor Web Apache.

Cuando se solicita un directorio (por ejemplo www.pepe.org/dir1/), Apache generalmente se configura para que envíe un archivo en particular dentro del directorio automáticamente. 

Esto se configura con la directiva DirectoryIndex, la cual lista uno o más archivos por los cuales Apache debe buscar en un directorio, para retornar cuando se accede al mismo. 

El primero que encuentra es el que se retorna, por ejemplo:

DirectoryIndex index.html index.htm index.php default.html default.php

Si no se puede localizar ninguno de estos archivos dentro del directorio al cual se está accediendo, el módulo mod_autoindex puede generar un listado del contenido del directorio. 

Aunque puede resultar muy útil en algunos casos, en general conviene desactivar esta funcionalidad por cuestiones de seguridad. 

Es necesario impedir que cualquier atacante pueda ver el contenido de los directorios para acceder a archivos no indexados u obtener información acerca del servidor. 

Esta funcionalidad se puede activar y desactivar utilizando la directiva Options

Por ejemplo, para habilitar el listado en el directorio /var/www/pepe.org/dir1, es posible utilizar la siguiente directiva en la configuración del sitio:

<Directory /var/www/pepe.org/dir1>
  Options +Indexes
</Directory>

En cambio, para prevenir que se liste el contenido de directorio, se debe remover la palabra clave Indexes de cada directiva Options en los archivos de configuración. 

O para evitar que Apache liste el contenido de un directorio en particular (por ejemplo del directorio /var/www/pepe.org/dir1), se debe utilizar:

<Directory /var/www/pepe.org/dir1>
  Options -Indexes
</Directory>

Esta directiva también se puede utilizar dentro de archivos de configuración .htaccess

Por ejemplo, para activar el listado en un directorio en particular, crear un archivo .htaccess dentro del mismo, con la siguiente directiva:

Options +Indexes

De igual forma, para bloquear el listado en un directorio en particular, crear un archivo .htaccess dentro del mismo, con la siguiente directiva:

Options -Indexes

El autor de este post es: Emiliano Marini 

 

1 comentario:

  1. Muchas gracias amigo, que explicación tan clara y sencilla

    ResponderEliminar