Tip de seguridad para Apache en Linux: deshabilitar listados de directorio

Para empezar, recordemos que este post es una continuación del anterior. En esta ocasión compartiremos otro tip de seguridad para Apache para comenzar a proteger el servidor web. Tal como en el caso anterior, será fácil de implementar si hemos practicado la consulta a la documentación de Apache y el uso de directivas de configuración.

Otro tip de seguridad para Apache

Antes de continuar, recordemos que el archivo principal de configuración del servidor web se encuentra en /etc/apache2/apache2.conf (Debian y derivados) o en /etc/httpd/conf/httpd.conf (CentOS o similares).

TIP #2: Deshabilitar los listados de directorios

Cuando el DocumentRoot de un host virtual no contiene un archivo llamado index.html (o .htm, para los más antiguos) o index.php, al navegar al mismo veremos lo siguiente.

Tip de seguridad para Apache: listados de directorio
Figura 1 – Tip de seguridad para Apache: listados de directorio

En la Fig. 1 vemos que en vez de mostrarse una página web, estamos observando el contenido del directorio DocumentRoot. Esto le da acceso a cualquier persona para que descargue estos archivos. Sin embargo, en algunas situaciones es necesario exponer los contenidos de un directorio en particular. Un ejemplo lo constituyen los repositorios de una distribución. Sin embargo, en tales casos se debe indicar en la configuración la excepción para ese directorio en particular.

Para habilitar los listados de directorio únicamente para la carpeta documentos y deshabilitar todos los demás, debemos hacer las siguientes modificaciones en el archivo de configuración principal de Apache.

En /var/www, colocar un signo menos (-) delante de la palabra Indexes junto a la directiva Options. y colocaremos un signo + para habilitar FollowSymLinks. A continuación crearemos un bloque Directory para /var/www/html/documentos en el que quitaremos el signo menos, como observamos en la Fig. 2.

Tip de seguridad para Apache: habilitar el listado de un directorio en particular
Figura 2 – Tip de seguridad para Apache: habilitar el listado de un directorio en particular

El resultado luego de reiniciar Apache es el siguiente (ver Fig. 3). Al intentar acceder al listado del directorio /var/www/html (DocumentRoot) recibimos Forbidden (Prohibido) como respuesta, mientras que para /var/www/html/documentos vemos el contenido:

Tip de seguridad para Apache: Deshabilitar el listado para el DocumentRoot
Figura 3 – Tip de seguridad para Apache: Deshabilitar el listado para el DocumentRoot

Espero que este post les haya resultado interesante. ¡Nos leemos en el próximo!