Saltar la navegación

5.- Autenticación y control de acceso.

Caso práctico

La reunión tuvo lugar.

El equipo de BK programación destinado al proyecto de aplicaciones web para varias sucursales de una empresa llegó a un acuerdo para la autenticación y el control de acceso sobre la aplicación de panel de control. Se barajaron varias alternativas: usuarios del sistema, ficheros de usuarios, base de datos SQL y LDAP. Al final se decantaron por dos opciones: ficheros de usuarios para el estado de pruebas y LDAP para la aplicación definitiva, con lo cual establecieron el siguiente protocolo de actuación:

En la aplicación de desarrollo montada por María se realizarán las pruebas, siendo los encargados de las mismas Antonio y Carlos.

  1. El diseño web de la aplicación recaerá en Ana: banners, logos ...
  2. Juan se dedicará a la programación del panel de control: autenticación por medio de LDAP
  3. La encargada de montar el servicio LDAP, integrarlo en Apache y conseguir el control de acceso fue María.

Ante la espera que María instale y configure Apache con LDAP, y con ello imposibilidad de probar la autenticación por LDAP, María crea un fichero de usuarios para autenticacarse en la aplicación y todos empiezan a trabajar en el resto de las cosas.

Ilustración con un gusano de color verde situado a la izquierda y acompañado del texto: OpenLDAP. Debajo del texto alineado a la derecha aparece el texto: http://www.OpenLDAP.org
Desconocida (Copyright 2011 © OpenLDAP Foundation. Privacy Statement)

Puede que interese impedir el acceso a determinadas páginas ofrecidas por el servidor web, así: ¿crees que a una empresa le interesaría que cualquiera tuviera acceso a determinada información confidencial?, o puede que interese controlar el acceso hacia un servicio a través de la web, como el correo electrónico. Para este tipo de casos tenemos que pensar en la autenticación y el control de acceso.

Cuando nos autenticamos en una web suele transferirse la información de autenticación a una base de datos, que puede existir en la misma máquina que el servidor web o en otra totalmente diferente. Suelen emplearse bases de datos SQL o LDAP para la autenticación de usuarios, siendo OpenLDAP una de las alternativas más empleadas.

Para saber más

Puedes visitar el enlace de wikipedia AAA donde encontrarás más información referente a la autenticación:

AAA

Autenticación, Autorización y Registro. Conjunto de herramientas, procedimientos y protocolos que garantizan un tratamiento coherente de las tareas de autenticación, autorización y registro de actividad de las entidades que tienen acceso a un sistema de información.

HTTP proporciona un método de autenticación básico de usuarios: basic. Este método ante una petición del cliente (navegador web) al servidor cuando se solicita una URL mostrará un diálogo pidiendo usuario y contraseña. Una vez autenticado el usuario, el cliente volverá a hacer la petición al servidor pero ahora enviando el usuario y contraseña, en texto claro (sin cifrar) proporcionados en el diálogo. Es recomendable entonces si empleas este método que lo hagas combinado con conexión SSL (HTTPS).

En la autenticación HTTP Basic es muy típico utilizar archivos .htaccess en los directorios que queremos controlar el acceso. Puedes encontrar un ejemplo sobre basic con https en el archivo virtualhost-ssl-basic (0.56 KB) y un ejemplo sobre .htaccess en el archivo htaccess (0.26 KB).

Para usar archivos .htaccess, necesitas tener una configuración en el servidor que permita poner directivas de autenticación en estos archivos, mediante la directiva AllowOverride, así: AllowOverride AuthConfig

También se puede controlar el acceso mediante IP. Puedes encontrar un ejemplo en el archivo virtualhost-control-por-IP (0.37 KB).