Apache® 2.0.x viene más seguro, ya que su configuración predeterminada viene de tal modo que deshabilita muchas cosas que podrán considerarse de cierto riesgo. Parte de esa seguridad incluye deshabilitar los SSI (Server Side Includes) y el uso de los ficheros .htaccess para modificar o adicionar funciones a directorios.
Básicamente solo se necesita añadir las siguientes líneas a cualquier definición del directorio que se desee utilizar:
Options Indexes FollowSymLinks Includes AllowOverride All |
Lo anterior se complementa utilizando un fichero .htaccess definiendo la autenticación para dicho directorio contra un fichero que incluye claves de acceso.
AuthName "Solo usuarios autorizados" AuthType Basic require valid-user AuthUserFile /cualquier/ruta/hacia/fichero/de/claves |
Ejemplo.
Se procederá a crear un directorio que será visto con cualquier navegador como http://127.0.0.1/privado/. Genere el fichero /etc/httpd/conf.d/ejemplo-autenticar.conf con el siguiente contenido:
Alias /privado /var/www/privado <Directory "/var/www/privado"> Options Indexes FollowSymLinks Includes AllowOverride All Order allow,deny Allow from all </Directory> |
Genere el directorio /var/www/privado/ ejecutando lo siguiente:
mkdir -p /var/www/privado |
Genere el fichero /var/www/privado/.htaccess ejecutando lo siguiente:
touch /var/www/privado/.htaccess |
Edite el fichero /var/www/privado/.htaccess y añada el siguiente contenido:
AuthName "Solo usuarios autorizados" AuthType Basic require valid-user AuthUserFile /var/www/claves |
Genere el fichero de claves de acceso /var/www/claves utilizando el siguiente procedimiento:
touch /var/www/claves |
Con el fin de establecer la seguridad necesaria, cambie los atributos de lectura y escritura solo para el usuario apache:
chmod 600 /var/www/claves chown apache:apache /var/www/claves |
Añada uno o dos usuarios virtuales al fichero de claves utilizando el siguiente procedimiento:
htpasswd /var/www/claves fulano htpasswd /var/www/claves mengano |
Para comprobaciones, considerando que configuró /var/www/privado/ como el subdirectorio virtual /privado/ descrito en el ejemplo de este capítulo, reinicialice apache:
service httpd restart |
Acceda con cualquier navegador de red hacia http://127.0.0.1/privado/ y compruebe que funciona el acceso con autenticación en dicho subdirectorio utilizando cualquiera de los dos usuarios virtuales que generó con htpasswd, es decir fulano o mengano.
elinks http://127.0.0.1/privado/ |
0 comentarios