Otros métodos de autentificación en Apache

Vamos a ver otros métodos de autentificación web con Apache distintos a LDAP.

AUTH_DIGEST

Primero vamos a usar Auth_Digest. Para ello habilitamos el módulo Auth_digest:

1

Ahora editamos el sitio que vamos a usar para la identificación, yo he usado el sitio que tengo habilitado para el CMS de MediaWiki:

2

Reiniciamos Apache para que ejecute los cambios y creamos el archivo digest que va a almacenar los usuarios con sus contraseñas:

3

Con la opción -c, estamos especificando la creación del fichero, si vamos a introducir más usuarios después, ejecutaremos el comando sin dicha opción.

wiki‘ es el nombre que voy a usar para el realm o reino donde se va a encontrar ese usuario.

Si visualizamos el archivo digest, veremos el usuario creado y su contraseña cifrada:

4

Sólo nos queda irnos a nuestro navegador web e introducir la dirección de nuestra web que vamos a asegurar con digest. Nos saldrá un mensaje para realizar el login:5

Nos autentificamos con el usuario creado en el archivo digest y accedemos a nuestro sitio:6

AUTH_BASIC

Se puede usar asimismo, el tipo de autentificación Basic en vez de Digest, en el cual la transferencia de datos se produce sin cifrar, por lo cual es totalmente inseguro. Sólo habría que habilitar el módulo auth_basic en vez del módulo auth_digest y en la directiva AuthType poner Basic. El sistema de creación del archivo de almacenaje de usuarios y claves es el mismo.

MYSQL

Otra forma de autentificarnos es mediante MySQL. Nos tenemos que descargar el módulo:

1

Y luego lo habilitamos8

Entramos en mysql:

2

Y ejecutamos los siguientes comandos para crear la base de datos y las tablas:

34

No es necesario el que el campo de la clave sea tan grande, pero si se se necesitarán, al menos, 20 caracteres si se va a usar hashing MD5.

Nos vamos al sitio, en mi caso uno que tenía preparado con un CMS de WordPress y añadimos las siguientes líneas:5

Sólo nos queda reiniciar apache y entrar via navegador en nuestra página, donde nos saltará el mensaje de autentificación:

9

Nos autentificamos con el usuario ‘test’ y la contraseña ‘test’ como metimos en la base de datos y podremos acceder a nuestro sitio.

Se puede usar también el módulo authn_dbd para usar una base de datos relacional, sin embargo, este módulo no admite encriptación MD5 normal y es necesario la instalación del siguiente driver para DBD si se va a utilizar MySQL:

10