autenticacion apache con mysql

9
IES GRAN CAPITÁN Apache 4 Autenticación ROBERTO ALMENA 2 ASIR [SERVICIOS DE RED]

Transcript of autenticacion apache con mysql

Page 1: autenticacion apache con mysql

IES GRAN CAPITÁN

Apache 4 Autenticación

ROBERTO ALMENA 2 ASIR

[SERVICIOS DE RED]

Page 2: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

1 | ROBERTO ALMENA

Índice:

INTRODUCCIÓN ............................................................................................................................. 2

AUTENTICACIÓN mediante BASE DE DATOS ................................................................................. 3

Page 3: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

2 | ROBERTO ALMENA

INTRODUCCIÓN

Hemos visto en clase que una manera de acceder a un sitio web de Apache es

mediante autenticación contra un servidor LDAP.

Investiga otras maneras mediante las que nos podríamos autenticar en un sitio web de

Apache, pruébalas y haz un artículo en tu blog.

Page 4: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

3 | ROBERTO ALMENA

AUTENTICACIÓN mediante BASE DE DATOS

Primero tenemos que crear la base de datos.

Dentro de ésta crearemos la tabla “usuarios” donde insertaremos dos campos (login y pwd).

Utilizaremos dos usuarios con contraseñas encriptadas.

Para encriptar las contraseñas utilizaremos el cifrado Crypt.

Para ello dentro de nuestra base de datos vamos a insert y añadimos:

Page 5: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

4 | ROBERTO ALMENA

Vemos que nos encripta la contraseña de los usuarios al utilizar la función encrypt:

Ya tenemos creada nuestra base de datos con usuarios y contraseñas encriptadas.

Creamos en /var/www/ una carpeta llamada “privada”. Dentro de ésta creamos un archivo

“index.html” donde pondremos el contenido que no podremos ver a no ser que nos

autentifiquemos.

Page 6: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

5 | ROBERTO ALMENA

Ahora configuraremos el VirtualHost.

Creamos un archivo “mysql” en /etc/apache2/sites-available y lo modificamos quedando de la

siguiente forma:

Donde:

AuthName “Autenticacion” será el texto que aparecerá

AuthMySQL_DB autenticacion es el nombre de la base de datos

AuthMySQL_User root es el usuario de la base de datos

AuthMySQL_Password usuario1 es la contraseña del usuario de la BD

AuthMySQL_Password_Table usuarios es el nombre de la tabla

AuthMySQL_Username_Field login es la fila de los nombres

AuthMySQL_Password_Field pwd es la fila de las contraseñas

AuthMySQL_Encryption_Types Crypt es el tipo de cifrado que utilizaremos

Page 7: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

6 | ROBERTO ALMENA

Tenemos que activar el sitio “mysql” con a2ensite

En /etc/hosts crearemos un Server Name llamado “www.autenticacion.com” con nuestra IP.

Éste será el que utilicemos para acceder a la web donde tendremos que autenticarnos.

El nombre del Server Name tiene que coincidir con el que pongamos en el archivo mysql de

sites-available mostrado en la captura anterior.

Levantamos el servicio auth_digest con sudo a2enmod auth_digest

También utilizaremos el módulo libapache2-mod-auth-mysql, que tendremos que instalarlo.

Este módulo sirve para configurar un sitio virtual cuyo acceso sea autentificado mediante

usuarios guardados en una tabla Mysql

Lo descargamos de los repositorios y lo activamos de la siguiente manera:

aptitude install libapache2-mod-auth-mysql

a2enmod auth_mysql

Page 8: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

7 | ROBERTO ALMENA

Reiniciamos apache con /etc/init.d/apache2 restart

Y ya solo queda acceder y comprobar que funciona.

Abrimos el navegador y entramos a www.autenticacion.com

Vemos que nos pide usuario y contraseña para poder acceder.

Si utilizamos alguna que no esté almacenada dentro de la base de datos nos volverá a pedir la

identificación correcta.

Si no la ponemos nos aparecerá el siguiente mensaje diciéndonos que se requiere

autorización.

Page 9: autenticacion apache con mysql

[IMPLANTACIÓN DE APLICACIONES WEB] APACHE 4 Autenticación

8 | ROBERTO ALMENA

Probamos a introducir cualquiera de los dos usuarios que tenemos creados en nuestra base de

datos (usuario1 o usuario2)

Y comprobamos que tenemos acceso a la web privada.