jueves, 10 de septiembre de 2009

Autenticacion de Apache2 en Debian


Nos referimos con autenticación al hecho de que el usuario que quiera ingresar a una pagina dentro de nuestro servidor apache tenga que logearse, no olvidemos que el termino de logearse implica usuario y clave.
El método de autenticación que utilizaremos será el HTTP Digest, el servicio apache esta conformado por diversos módulos que por razones practicas y para hacer a este servicio mas liviano no viene con todos activados, una de las ventajas de usar este método es que es fácil de implementar y tanto el login como la contraseña van encriptados, pero una desventaja es que no todos los navegadores Web lo soporta, claro que los que utilizamos normalmente no tienen ningun problema (firefox, ie).
** Configuracion **
El modulo que contiene este método es el mod_auth_digest y la forma de activarlo es muy sencilla:
# a2enmod auth_digest
# /etc/init.d/apache2 force-reload

En el archivo /etc/apache2/sites-available/default o en el archivo /etc/apache2/sites-enabled/000-default si tenemos configurado hosts virtuales, recordemos que el archivo 000-default varia de nombre de acuerdo a como lo llamemos y lo usamos solo si hemos configurado hosts virtuales de resto solo necesitamos el primer archivo.
Aquí añadiremos un pequeño bloque de código:
AuthName "www.victor.org"
AuthType Digest
AuthUserFile /etc/apache2/passwd/.htdigest
Require valid-user

A continuación se dará un breve significado de algunos parámetros:
AuthName: indica el nombre del dominio de autenticación.
AuthType: indica que el método a usar es Digest.
AuthDigestDomain: dominio protegido con autenticación digest.
AuthUserFile: indica donde se encuentra el archivo de contraseñas que ahora llamamos .htdigest.
Require: usuarios que tienen acceso a los recursos especificados.
valid-user: cualquier usuario incluido en el archivo de contraseñas .htpasswd
Luego de editar el archivo debemos guardar los cambios ctrl + o y salimos ctrl + x, después procedemos a crear el archivo de contraseñas de la siguiente manera:
# htdigest -c /etc/apache2/passwd/.htdigest victor.org nom_usuario
Donde:
1- El parámetro victor.org debe ser el mismo que agregamos en AuthName porque se cuando se crea un usuario se hace con un dominio concreto.
2- Si el parámetro Require indica 'valid-user', se consideran usuarios válidos sólo los que pertenecen al dominio de autenticación dado en AuthName y las contraseñas sólo pueden utilizarse en este dominio.
3- En el parámetro nom_usuario colocamos el nombre de usuario que queramos.
4- La carpeta passwd la creamos previamente en el directorio /etc/apache2/
5- igual la podemos llamar como queramos lo único que hay que tener en cuenta es, a la hora de generar la clave colocarla con el nombre correcto, lo mismo pasaría con el archivo de claves .htdigest
Nota: cuando generamos el archivo de claves por primera vez utilizamos la siguiente línea:
# htdigest -c /etc/apache2/passwd/.htdigest victor.org nom_usuario
y cuando el archivo ya existe omitimos el comando '-c' asi:
# htdigest /etc/apache2/passwd/.htdigest victor.org nom_usuario2
Cuando estos comandos se ejecuten el sistema le pedirá que digite las claves correspondientes a cada usuario.
Lo único que resta es reiniciar el servicio
# /etc/init.d/apache2 restart


Imprimir

1 comentarios:

Aokuma dijo...

Gracias, me ha servido de mucha ayuda :D

 

Zero@configurE Copyright © 2008 D'Black by Ipiet's Blogger Template