Autentificación, Autorización y Control de Acceso con Apache2

De CURE - Informática
Ir a la navegación Ir a la búsqueda

Para tener Autentificación, Autorización y Control de Acceso en nuestro servidor web entero o un determinado directorio haremos lo siguiente:

  1. Como paso previo es necesario tener levantado el módulo "auth" con el siguiente comando:
  2. $ 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).

  3. 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:
  4. /etc/apache2/password  
  5. Luego con el siguiente comando creamos los usuarios y contraseñas:
  6. 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 .

  7. 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:
  8. 	<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.

  9. Por último reiniciamos apache y tendremos funcionando el módulo de autentificación:
  10. $ /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