Autentificación, Autorización y Control de Acceso con Apache2
Para tener Autentificación, Autorización y Control de Acceso en nuestro servidor web entero o un determinado directorio haremos lo siguiente:
- Como paso previo es necesario tener levantado el módulo "auth" con el siguiente comando:
- Es necesario crear un archivo de contraseñas (es recomendable no colocar este archivo de forma tal que sea accesible mediante la Web), en este caso crearé el siguiente directorio:
- Luego con el siguiente comando creamos los usuarios y contraseñas:
- Después de esto, tenemos que configurar el servidor para que pida la contraseña que configuramos y a que usuarios les damos acceso a nuestro servidor. Para esto editaremos el archivo httpd.conf y ponemos el siguiente contenido:
- Por último reiniciamos apache y tendremos funcionando el módulo de autentificación:
$ a2enmod auth_digest
Con este tipo de autentificación las contraseñas serán encriptadas. Si elegimos el "auth_basic" las contraseñas no se encriptarán, en esta guia utilizaremos contraseñas encriptadas (mod auth_digest).
/etc/apache2/password
htdigest -c /etc/apache2/password/.htdigest realm usuario
el comando les pedirá que ingrese una contraseña para usuario y la confirme.
Nota: La opción -c la usamos únicamente la primera vez para que cree el archivo .htdigest .
<Directory /var/www> AuthName "Nombre_Autenticación" AuthType Digest AuthDigestDomain http://Dominio_Servidor/ AuthUserFile /etc/apache2/password/.htdigest Require valid-user </Directory>
Con esto le damos acceso a todos los usuarios que figuran en el archivo .htdigest. Nota: el "Nombre_Autenticación" debe ser igual al "realm" utilizado en el comando htdigest.
$ /etc/init.d/apache2 restart
Verificación
Para verificar lo anterior basta con entrar a la dirección del servidor. En un navegador entonces colocamos la dirección del servidor:
http://Dominio_Servidor/
Luego de esto deberá aparecer una petición de usuario y contraseña.
Por más información leer la referencia.
Referencia: http://httpd.apache.org/docs/2.0/es/howto/auth.html