Controlando el acceso a páginas Web con contraseñas en Apache


Jaime E. Villate.

7 de noviembre de 2000
Nivel: avanzado
Sección: web
Función: configuracion

El servidor Apache permite restringir el acceso a un directorio por medio de contraseñas. Lo primero que se debe hacer es modificar el fichero /etc/apacahe/access.conf indicando que el directorio tendrá acceso controlado por contraseñas. Por ejemplo, si queremos proteger el directorio /var/www/mp3, pondríamos lo siguiente:



<Directory /var/www/mp3>
AllowOverride AuthConfig
</Directory>
    

A continuación se debe crear un fichero .htaccess en el directorio a proteger (/var/www/mp3) indicando el método de protección y el fichero donde estará la lista de usuarios autorizados:



AuthName "Usuarios Registrados"
AuthType Basic
AuthUserFile /etc/usuarios-mp3

require valid-user
    

Solo se aceptarán usuarios que estén identificados en el fichero /etc/usuarios-mp3. Este fichero tendrá una lista de nombres y contraseñas; por ejemplo:



carlos:a1yhG8xVxvtfo
marta:Er2l9Rkz2lWXo
braulio:sTQljaIGSBZ/I
    

Después de los dos puntos al final del nombre, se escribe la contraseña encriptada. Una forma fácil de encriptar una contraseña, por ejemplo la contraseña "secreto" es así:



perl -e 'print crypt("secreto", "sT"), "\n";'
    

La secuencia "sT" puede ser cualquier par de caracteres. Después de reiniciar a Apache, la primera vez que alguien intente ver algun fichero en el directorio, le aparecerá una caja donde tendrá que identificarse y dar su contraseña para poder acceder al directorio. Una desventaja de este método es que el navegador recuerda la contraseña y la envía en cada pedido que se haga al mismo servidor; para tener una protección mejor será necesario usar otros métodos

© 2001, La Espiral.