Novedades en la autenticación SSL de cliente en Windows Server 2012

Etiquetas de Technorati: SSL,Windows Server 2012

 
Hola a todos  

En un post anterior os hablamos sobre problemas de comunicación SSL a raíz de instalar la actualización  KB931125 a finales del año pasado.

Como mencionamos en su momento, Windows Server 2012 trae algunas novedades con respecto al tema de la configuración de certificados para SSL.

 

Con esta nueva funcionalidad, SSL Certificate Hints, tenemos ahora más opciones para configurar y controlar la lista de entidades certificadoras (CAs) que se devuelven a los clientes durante el intercambio (handshake) SSL

IIS y autenticación cliente

Durante una conexión a una página SSL, un servidor IIS puede requerir que el cliente se autentifique a través de un certificado, y envía al cliente una lista de las CAs en las que confía.

Si el cliente dispone de un certificado (válido) emitido por una de las CAs de la lista enviada por el servidor, se lo envía al servidor para que éste le autentifique.

Certificate Hints nos permite ahora controlar aún más esta lista.

Comportamiento Pre-Windows Server 2012

En versiones anteriores de Windows Server, el servidor envía todos los certificados de su almacén raíz de confianza durante el intercambio SSL  (hasta el límite de 16k de Schannel descrito en nuestro post anterior).

 

Algunos métodos para limitar esto incluían:

· Eliminar certificados no esenciales del almacén de confianza en el servidor

· Crear una lista de certificados de confianza (Certificate Trust List/CTL)
  con sólo las CAs Raiz deseadas e introducir esta CTL en los
  bindings http del servidor web a través del comando Netsh

Novedad: Comportamiento Windows Server 2012

Con Windows Server 2012, los certificate hints de cliente ahora nos permiten configurar CAs raíz, intermedias y emisoras.

 

Podemos:

· Definir los certificados CA enviados a los clientes para ayudarles a
determinar con qué certificado intentar validarse.

· Definir los certificados CA utilizados por el servidor para validar los
certificados cliente 

Hay 3 opciones de configuración:

· Per-binding
   Podemos crear y definir almacenes de certificados en el
equipo con Windows Powershell, e importar una lista restringida de los
certificados CA que elijamos para ser enviados a los clientes durante el
intercambio SSL y para validar los certificados cliente. Utilizamos Netsh
para añadir el nuevo almacén a los bindings del servidor web

· Almacén de certificados de equipo específico para SSL
   La instalación de Windows Server 2012 crea un nuevo almacén de
certificados específicamente para los certificate hints de cliente
llamado Emisoras de autenticación de cliente (Client Authentication
Issuers). Viene vacío por defecto, pero si importamos certificados
CA aquí, serán éstos que envíe y utilice el servidor durante el
intercambio /validación SSL a nivel de todo el equipo, salvo que este
configurado un almacén de certificados per-binding

· **Almacén de emisoras raíz de confianza del equipo
**   Almacén de CAs raíz de confianza con el mismo comportamiento que en
versiones anteriores de Windows Server, en caso de no configurar algunos
de los 2 tipos anteriores

 

(Nota: Aunque los podemos seguir utilizando, en Server 2012, ya no se recomienda el uso de CTLs para limitar los certificados raíz en el intercambio SSL)  

Orden de preferencia de las configuraciones

Windows Server 2012 tiene preferencias en cuanto al orden en el que procesa cada una de las configuraciones anteriormente citadas. Este orden de preferencia nos permitiría utilizar una combinación de configuraciones “per-binding” y específicas a los almacenes:

1. Per-binding, con una CTL definida

2. Per-binding con un almacén específico definido

3. Almacén de Emisoras de autenticación de cliente (Client
Authentication Issuers )

4. Almacén de Emisoras Raíz de Confianza (Trusted Root Certificate
Authorities)

Notificación de cambios

Los almacenes Emisoras de autenticación de cliente y Emisoras Raíz de Confianza  proporcionan notificación de cambios a los bindings de los sitios web que los utilicen, a diferencia de los almacenes creados “per-binding” que NO notifican de cambios.

En caso de añadir a o eliminar un certificado del almacén per-binding, será necesario reiniciar el sitio web correspondiente para que se efectúen los cambios.

Gracias y hasta la próxima!

 

Tolu Igbon