IIS 8.5 (III): Autenticación

Seguimos con nuestra serie de posts dedicados a IIS 8.5, en esta ocasión veremos qué métodos de autenticación nos proporciona el servidor web para validarnos contra nuestros sitios web.

La autenticación de los usuarios es una de las tareas más importantes a la que se enfrentan los adminitradores de sitios web. Métodos para hacerlo hay diversos, pero en general podemos hacer una división entre los métodos que gestiona el código del web o los que se basan en el servicio web.

Ejemplos de los primeros son el muy extendido de emplear una base de datos para almacenar los campos usuario y password. Mediante un formulario y una consulta a la BD realizamos la validación. Otra opciones de validación por código es emplear es realizar consultas LDAP a un servicio de directorio o incluso emplear métodos como OAuth que permiten utilitzar sistemas de autenticación sobre IDs.

Por otro lado, podemos emplear las propias funcionalidades del servidor web para realizar dicha autenticación, es decir, que en lugar de desarrollar en la aplicación la lógica para autenticar usuarios, emplearemos al IIS.

En concreto, empleando IIS 8.5 tenemos a nuestra disposición diferentes opciones, de las cuales en concreto implementaremos dos a modo de ejemplo:

  • Autenticación básica: se basa en la especificación del protocolo http y envía las credenciales en formato usuario:password codificadas en formato Base64. Evidentemente, desde un punto de vista de seguridad, es una autenticación con una seguridad muy baja, al poder fácilmente obtenerse las credenciales. Por ello, no es un sistema que se recomiende y en caso de usarse, debería emplearse conexión segura.

  • Autenticación por desafío (digest): se basa en la especificación RFC 2619 utilizando el sistema Radius. Se envía el password del usuario en forma de hash MD5 y sólo puede utilizarse con cuentas de Directorio Activo. También se recomienda utilizar una conexión segura para securizar el proceso de autenticación.

  • Autenticación windows: es el sistema más sofisticado ya que emplea dos mecanismos de autenticación NTLMv2 y Kerberos.  El primer caso, lo emplea caso que realicemos la autenticación contra cuentas locales. El sistema Kerberos, se emplea con las cuentas de Directorio Activo y tiene la ventaja de permitir una autenticación segura. Este método es el que se recomienda para intranets.

  • Autenticación por certificado: en este caso, el cliente presenta un certificado y dentro de la negociación TLS/SSL se emplea para verificar su identidad.

Una vez hemos visto esta pequeña introducción, pasamos a la parte práctica. En primer lugar vamos a configurar una autenticación básica, que va a emplear credenciales bien locales de máquina o bien de directorio, si no se indica nada y el server está integrado en un directorio, se tomará éste por defecto.

Para configurarlo, nos vamos al panel del site que queremos editar y clicamos sobre Authentication o Autenticación y seleccionamos básica y muy importante, desactivamos la autenticación anónima.

auth

iis_aut_basEn la configuración de la autenticación nos pregunta por el dominio o bien por el Realm de Kerberos, ponemos el dominio AD que hemos creado. Si probamos ahora a entrar a dicha página:

iis_aut_bas2

A continuación, vamos a configurar la autenticación implícita o digest. Cambiamos el modo de autenticación de básica a digest y observamos como nos pregunta el Realm de autenticación, en nuestro caso utilizamos el dominio.

authdigest1Si observamos ahora la autenticación que nos solicita el site:
authdigest2Por último, la autenticación por Windows es similar a nivel de configuración no nos pregunta nada en principio porque ya toma las credenciales del sistema, sí que tiene una serie de configuraciones interesantes como la protección extendida que define el nivel de autenticación en modo Kernel o no. Cuando entramos en el site:

auth_win2En el próximo post, veremos cómo configurar las páginas mediante TLS/SSL.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s