Búsqueda de sitios web

Deshabilite el listado del directorio web de Apache usando el archivo .htaccess


Proteger su servidor web Apache es una de las tareas más importantes, especialmente cuando configura un nuevo sitio web.

Por ejemplo, si crea un nuevo directorio de sitio web llamado “tecmint” en su servidor Apache (/var/www/tecmint o /var/www/html/ tecmint) y olvidó colocar un archivo “index.html” en él, le sorprenderá saber que todos los visitantes de su sitio web pueden obtener una lista completa de todos sus archivos y carpetas importantes simplemente escribiendo http://www.example.com/tecmint en el navegador.

En este artículo, le mostraremos cómo deshabilitar o evitar la lista de directorios de su servidor web Apache usando el archivo .htaccess.

Así es como se mostrará la lista del directorio a sus visitantes cuando index.html no esté presente en ella.

Para empezar, .htaccess (o acceso de hipertexto) es un archivo que permite al propietario de un sitio web controlar las variables de entorno del servidor, así como otras opciones vitales para mejorar la funcionalidad de su sitio. su(s) sitio(s) web.

Para obtener información adicional sobre este importante archivo, lea los siguientes artículos para proteger su servidor web Apache utilizando el método .htaccess:

  1. 25 trucos de Apache Htaccess para proteger el servidor web Apache
  2. Proteja con contraseña los directorios web de Apache mediante el archivo .htaccess

Con este método simple, el archivo .htaccess se crea en cualquiera y/o en todos los directorios del árbol de directorios del sitio web y proporciona funciones al directorio superior, los subdirectorios y los archivos dentro de ellos.

En primer lugar, active el archivo .htaccess para su sitio web en el archivo de configuración maestro de Apache.

sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems

Luego busque la sección siguiente, donde el valor de la directiva AllowOverride debe establecerse en AllowOverride All.

<Directory /var/www/html/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

Sin embargo, si tiene un archivo .htaccess existente, haga una copia de seguridad del mismo de la siguiente manera; asumiendo que lo tiene en /var/www/html/tecmint/(y desea deshabilitar la lista de este directorio):

sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

Luego puede abrirlo (o crearlo) en el directorio particular para modificarlo usando su editor favorito y agregar la siguiente línea para desactivar la lista del directorio de Apache:

Options -Indexes 

Luego reinicie el servidor web Apache:

-------- On SystemD based systems -------- 
sudo systemctl restart apache2
sudo systemctl restart httpd

-------- On SysVInit based systems -------- 
sudo /etc/init.d/apache2 restart 
sudo /etc/init.d/httpd restart

Ahora verifique el resultado escribiendo http://www.example.com/tecmint en el navegador, debería recibir un mensaje similar al siguiente.

¡Eso es todo! En este artículo, describimos cómo deshabilitar la lista de directorios en el servidor web Apache usando el archivo .htaccess. También cubriremos otros dos métodos útiles y sencillos para el mismo propósito en próximos artículos, hasta entonces, manténgase conectado.

Como de costumbre, utilice el formulario de comentarios a continuación para enviarnos su opinión sobre este tutorial.