9 de abril de 2012

Como evitar listar los directorios en Apache2

Yo creo que si nos ponemos de acuerdo entre todos llegamos a la conclusión lo inseguro que es la web, mucho más cuando montamos nuestros propios servidores web, siempre tenemos que estar alerta antes intrusiones y estar pegados a los archivos log, por lo menos eso es lo que intento hacer desde mi experiencia.

Muchos de los problemas de inseguridad está dado por la falta de experiencia de los programadores, cuando realizan sus validaciones o concatenan sus consultas SQL y donde los posibles atacantes pueden llegar a tomar partido de esa situación. Pero muchas veces el problema puede estar del lado de los administradores de sistemas al no chequear bien los parámetros de configuración de esos servicios.

Hoy por ejemplo estaba viendo un archivo en formato .flv desde la web, cuando yo se que es posible descargarlo y poder verlo desde mi celular o directamente en otro momento, entonces realmente es muy simple conseguir la URL del archivo y descargarlo con wget. Cuando por esas cosas de la vida se me ocurre comenzar a escalar algunos directorios y me doy con que es posible navegar en los directorios del servidor sin ninguna restricción, con lo cuál encotré que había muchos más videos, archivos pdf, imágenes, etc.

Efectivamente desde mi navegador web me encontré con la posibilidad de descargarme todo lo que estaba allí, y todo esto saben por que? Por no haber configurado un parámetro en el servidor web, así es, un solo parámetro.

Les propongo entonces buscar algunas soluciones para que no pasen este tipo de navegación de directorios por una mala configuración en el servidor Web Apache2.

La primera estrategia que se aplicó hace varios años y que hoy ya se encuentra obsoleta era de crear un archivo con el nombre "index.html" en todos los directorios. Como les comentaba, algo que ya quedó obsoleto, pero sin embargo ayudaría a evitar este problema aunque tendríamos un esfuerzo extra en agregar el archivo en cada uno de los directorios.

Otra estrategia muy usada, simple y sencilla es editar el archivo ".htaccess" que se encuentra en el directorio raíz del sitio y agregarle la opción

Options All -Indexes

Con lo cuál estaríamos evitando que dentro del sitio no sea posible visualizar los directorios.

Como tercera estrategia que les recomiendo en caso de tener la posibilidad de editar el archivo de configuración de Apache2 o más precisamente el de su VirtualHost es el de incorporar el parámetro:

<Directory /var/www/pagina>
Options -Indexes
...
...
</Directory>

Con lo cuál nuevamente estaríamos negando la posibilidad de navegar archivos y directorios desde la web.

Entonces este es un buen ejemplos como con una simple línea de configuración podemos dejar expuesto mucha información de empresas, imágenes, videos, documentos, etc. Es una sola línea y que vale la pena tenerla en cuenta.

Este problema no es por un error de programación en el sitio web, en el CMS o en lo que fuese, es simplemente por una mala configuración en el servidor web.

Enlace | El CoDiGo K

No hay comentarios.:

Publicar un comentario

Entradas populares