Securizar directorio con Apache
Aunque no es la mejor manera de securizar un directorio, la forma más rápida y sencilla de crear un control de acceso a un directorio (físico o virtual) en Apache es utilizar el módulo mod_auth.
Hay dos formas de hacerlo: usando el fichero de configuración global de Apache (httpd.conf) o usando el fichero de configuración especifico del directorio (.htacess).
Como ejemplo supondremos que tenemos un servidor Apache y queremos crear un directorio virtual seguro llamado /Security.
- Ruta de Software Apache: /opt/apache
- Ruta Raiz del Servidor Web: /opt/apache/htdocs
- Ubicación Directorio Vitual: /var/web/security
Fichero: httpd.conf
El fichero está ubicado en <ruta-apache>/conf/httpd.conf
Hay que añadir el siguiente código:
<IfModule alias_module> Alias /Security/ "/var/web/security/" </IfModule> <Directory "/var/web/security"> AllowOverride All Options Indexes FollowSymLinks Includes Order allow,deny Allow from all AuthName "Zona de Seguridad" AuthType Basic AuthUserFile "/var/web/secure.users" require valid-user </Directory>
Fichero: .htaccess
En este caso hay que crear el fichero /var/web/security/.htaccess e insertar el siguiente codigo
AuthName "Zona de Seguridad" AuthType Basic AuthUserFile "/var/web/secure.users" require valid-user
Fichero de seguridad
Para crear el fciehro de seguridad:
/opt/apache/bin/htpasswd -c /var/web/secure.users <primer_usuario>
Para añadir más usuarios:
/opt/apache/bin/htpasswd /var/web/secure.users <otro_usuario>
En ambos casos el sistema nos pedirá que intruduzcamos una clave para el usuario especificado. Esta clave puede especificarse en el propio comando, pero desaconsejo esta práctica ya que la clave puede ser visualizada por otros usuarios, que están conectados ala máquina, con solo ejecutar “ps -ef”.
