lunes, 7 de abril de 2014

Evitar listado de directorios en Apache

Cuando recién instalamos nuestro servidor, por default viene con la característica de permitir el listado de directorios, el prevenirlo, nos permitirá tener una mayor seguridad en nuestro sitio.

Existen varias opciones para ello, una forma "rápida" y sencilla es crear un index (htm, html ó php) en cada directorio y subdirectorio de nuestro sitio, sin embargo podemos tener decenas de ellos lo cual seria una tarea laboriosa y tendríamos que estar agregando un index cada vez que agreguemos uno nuevo. Ahora dependiendo del acceso que tengamos a nuestro servidor tendremos dos opciones que se listan a continuación:

A. Crear un archivo .htaccess

Mediante consola, creamos un archivo llamado .htaccess en la raíz de nuestro sitio y agregamos la siguiente linea:

Options -Indexes

Lo guardamos, y con esto evitaremos que cualquier directorio que se encuentra abajo del principal liste su contenido. Esta opción es útil cuando no tenemos acceso a la configuración de nuestro servidor.

B. Modificar el archivo de configuración de Apache

En esta opción se tiene que modificar el archivo de configuración de nuestro servidor apache (httpd.conf), para ello buscamos en el archivo la linea Options Indexes FollowSymLinks:

# The option directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mode/core.html#options
# for more information.
#
Option Indexes FollowSymLinks

Una vez ubicada la linea agregaremos el caracter (-) a Indexes, quedando de la siguiente forma:

Option -Indexes FollowSymLinks

guardamos el archivo y reiniciamos nuestro servidor apache

# service httpd restart

Ahora probamos poniendo la dirección de nuestro servidor en el navegador e intentar acceder a un directorio como el de imágenes, y nos mostrara un mensaje indicando que no tenemos permiso para listar ese directorio.


No hay comentarios.:

Entradas Populares