Uso de la autenticación básica
Uso de la autenticación básica
Esta actividad práctica corresponde a este tema.
Lo primero que debemos hacer es ir a Herramientas Administrativas – Usuarios y Equipos de Active Directory para comprobar los usuarios que son accesibles por el Windows Server 2003 sobre el que está funcionando el IIS.De esta forma podremos saber qué usuarios son válidos para asignar permisos a los recursos de la web y por tanto para autentificarnos cuando accedamos a recursos protegidos. La opción se ve en la siguiente imagen:

Para nuestras pruebas crearemos el usuario “Autorizado” con clave “test123…” a nivel de dominio. La contraseña del mismo no se cambia ni caduca para facilitar las pruebas, aunque esto no es aconsejable de cara a conseguir un nivel de seguridad alto en un entorno real. Para ello, se hace clic derecho en la carpeta “Users” del programa, introduciendo luego los datos necesarios para rellenar la ficha del nuevo usuario que vamos a crear, incluyendo contraseña y otras opciones. El proceso (y los datos a rellenar) se ve en las siguientes imágenes:

Creando nuevo usuario en Windows 2003
Creando nuevo usuario en Windows 2003 (II)

Creando nuevo usuario en Windows 2003 (III)

Creando nuevo usuario en Windows 2003 (IV)
Una vez creado el usuario, procedemos a darle permisos NTFS en el directorio wwwroot, para así permitirle el acceso a los recursos que se encuentran en la web por defecto (Lectura, Lectura y Ejecución, Mostrar, los permisos por defecto):

Introduciendo el nuevo usuario para darle permisos NTFS en las web de IIS

Nuevo usuario autorizado para acceder a nuestra web gracias a sus nuevos permisos
Una vez dados permisos al usuario de pruebas, hacemos clic derecho sobre la web de pruebas en el IISManager (la web por defecto), propiedades – seguridad en directorios:

Tras esto, en la sección de “Autenticación y Control de acceso” pulsamos en el botón “Modificar” y seleccionamos “Autenticación básica”. También debemos acordarnos de no seleccionar la anónima y la IWA si lo estuvieran, de manera que sólo haya un tipo de autenticación seleccionada para la web (y de esta manera que el servidor no negocie con el browser ningún esquema de autenticación alternativo). Debemos también seleccionar como dominio y territorio la propia máquina Windows 2003, para que el servidor valide las identidades de usuario introducidas contra el dominio que queramos. En nuestra máquina de pruebas, la máquina servidora de IIS está configurada ya como un servidor de dominio, el dominio webserver.local, aunque normalmente ambos elementos residen en máquinas distintas. La pantalla de configuración debería quedar como la imagen siguiente. Nótese también que al activar la seguridad básica el propio IIS el servidor nos hará la advertencia de seguridad que podemos ver en la imagen siguiente a ésta:

Seguridad básica activada en IIS
Advertencia de seguridad al activar seguridad básica
Hecho esto, podemos probar a introducir la clave del usuario “Autorizado” recién creado. También podemos comprobar que las siguientes peticiones envían las credenciales introducidas cuando accedemos nuevamente a recursos protegidos y no las vuelve a pedir al usuario de nuevo.

Autenticación básica en funcionamiento: El usuario debe validarse
Autenticación básica en funcionamiento (II): Credenciales de usuario válidas
Para comprobar cómo se mandan las credenciales de la autenticación básica, usaremos una herramienta llamada Paros Proxy (http://www.parosproxy.org/index.shtml). Esta herramienta es un proxy software que permite capturar toda la información que envía y recibe un navegador web de la propia máquina donde esté instalado y configurado correctamente, permitiendo ver todo el flujo del tráfico que circula en la máquina donde se ejecuta el navegador. Esto nos permitirá ver si realmente se están enviando las credenciales de autenticación.
Para hacer esta prueba debemos cerrar el navegador, limpiar la información privada y arrancar Paros Proxy. Posteriormente configuraremos el browser para que haga las peticiones a través del proxy, configurando sus parámetros de conexión para que use un proxy instalado en la propia máquina local (asignando la IP 127.0.0.1) a través del puerto 8080 (configuración por defecto del Paros Proxy). Este proceso se ve en las siguientes tres imágenes:

Paros Proxy sin capturar ninguna información
Configurando Firefox para el uso de Paros Proxy
Configurando Firefox para el uso de Paros Proxy (II)
Hecho esto, accederemos de nuevo a la web en nuestro cliente XP de pruebas. Ahora podemos ver en el proxy los datos de autenticación que el browser envía. Para ver esta información no hace falta indicar al proxy que capture ninguna información, sino simplemente acceder a la parte protegida con una clave válida y luego señalar cualquier directorio/archivo servido por esa petición, tal y como se ve en la siguiente imagen:

Información enviada por la autenticación básica
Como se ve en la imagen anterior, se ha enviado información relativa a la autenticación básica, que el servidor usará para comprobar que esa información corresponde a un usuario válido (registrado en la máquina o en el dominio) con permisos suficientes. Podemos comprobar la facilidad con la que esa información puede averiguarse entrando en el menú “Tools – Encode/Hash” del proxy e introduciendo en el cuadro de texto de más abajo los caracteres al lado de “Autorization Basic” que vemos en la imagen de arriba, pulsando luego la opción “Base64 Decode”. Comprobaremos a continuación como obtenemos la clave directamente. El resultado podemos verlo en la siguiente imagen:

Codificación Base64 (empleada por la autenticación básica) descifrada de formas encilla y rápida
Para las siguientes pruebas desactivaremos el Paros proxy del navegador del cliente XP.




