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.
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.
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:
Espero que este post les haya resultado interesante. ¡Nos leemos en el próximo!