Autenticación de clientes TLS con Internet Information Services (IIS)¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
Esta guía describe la configuración de Windows Internet Information Services (IIS) para la autenticación de cliente TLS que asigna usuarios a cuentas de usuario locales.
Muestra la configuración a modo de ejemplo con el sitio web predeterminado ** de IIS. La configuración también se puede utilizar para otros sitios, incluyendo o excluyendo el sitio predeterminado.
Prerequisits¶
Nitrokey 3 with PIV client authentication certificate.
Windows Server (servidor web)
DNS record
Certificado TLS para el registro DNS. Los ordenadores cliente deben confiar en este certificado TLS.
Instalación¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Siga el asistente hasta el paso Server Roles.
Seleccione el rol Web Server (IIS) de la lista de roles disponibles.
Siga el asistente hasta el paso Roles Services en Web Server Role (IIS).
En la lista de servicios de rol, seleccione Servidor web → Seguridad → Autenticación de asignación de certificados de cliente de IIS.
Siga el asistente para la instalación. La instalación debe finalizar antes de poder empezar a configurarlo.
Configuración¶
Abra Internet Information Services (IIS) Manager (
InetMgr.exe
).Seleccione y expanda el servidor web que desea configurar en la vista de árbol Conexiones de la izquierda.
Desde el panel central abra Editor de configuración. Abra la sección
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
y desbloquéela haciendo clic en Desbloquear sección en el panel Acciones de la derecha.Expanda la página Sites bajo el servidor web y seleccione el sitio que desea configurar.
En el panel Acciones de la derecha, haga clic en Enlaces….
Haga clic en Añadir… para abrir el editor de enlaces. Establezca el tipo en https y el nombre de host de acuerdo con el registro DNS y el atributo Subject Alternative Name (SAN) del certificado TLS. Active la casilla Desactivar TLS 1.3 sobre TCP. En el campo Certificado SSL seleccione el certificado correspondiente. Confirme la configuración haciendo clic en OK.
Truco
Para comprender el requisito de deshabilitar TLS 1.3 y para obtener instrucciones de configuración sobre cómo utilizarlo con TLS 1.3 habilitado, consulte esta publicación del blog de soporte de Microsoft ` <https://techcommunity.microsoft.com/blog/iis-support-blog/windows-server-2022-iis-web-site-tls-1-3-does-not-work-with-client-certificate-a/4129738>` __.
En el panel central, abra Configuración SSL. Active la casilla Requerir SSL y el botón de radio bajo Certificados de cliente se establece en Requerir. Confirme la configuración haciendo clic en Aplicar en el panel Acciones de la derecha.
En el panel central, abra Authentication. Asegúrese de que todos los demás métodos de autenticación están desactivados para el sitio. El IIS Client Certificate Mapping Authentication nunca será visible en esta lista. Navegue de nuevo a la raíz del sitio.
Importante
Si se activa cualquier otro tipo de autenticación, la asignación del certificado de cliente no funcionará.
Desde el panel central abra Editor de configuración. Abra la sección
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
deApplicationHost.config <location path='Default web site'/>
. Establezca la claveenabled
enTrue
y asegúrese de que una o ambas clavesmanyToOneCertificateMappingsEnabled
yoneToOneCertificateMappingsEnabled
están activadas.Las asignaciones de usuario deben escribirse en las claves
manyToOneMappings
ooneToOneMappings
. La clave a utilizar depende de la asignación que se desee utilizar. Puede encontrar información sobre la asignación y explicaciones más detalladas sobre la configuración en Microsoft Learn.Para cambiar una clave, haga clic en el botón … situado al final del campo de texto del valor. Se abrirá el editor de colecciones ** . Para crear una nueva asignación, haga clic en Añadir en el panel Acciones de la derecha.
Cartografía de muchos a uno
Rellene los campos como se indica en la tabla siguiente.
Key
Valor
enabled
True
name
<name-for-the-collection>
password
<user-password>
permissionMode
Allow
userName
<username>
El campo
name
se utiliza como identificador de la colección y los camposuserName
ypassword
requieren el nombre de usuario y la contraseña del usuario local al que se desea asignar. El camporules
debe contener la descripción de los certificados permitidos o denegados. Para cambiar la clave de las reglas, haga clic en el botón … al final del campo de texto de valor. Se abrirá una nueva ventana del editor de colecciones ** . Para crear una nueva regla, haga clic en Añadir en el panel Acciones de la derecha.Rellene los campos como se indica en la tabla siguiente.
Key
Valor
certificateField
Subject
certificateSubField
O
compareCaseSensitive
True
matchCriteria
<criteria-value-of-o-field-in-certificate-subject>
Cierre las ventanas del editor de colecciones ** .
Cartografía individual
Rellene los campos como en la tabla siguiente.
Key
Valor
certificate
<base64-encoded-certificate>
enabled
True
password
<user-password>
userName
<username>
El certificado codificado en Base64 para el campo
certificate
puede obtenerse de la Nitrokey con Nitropía y el comandonitropy nk3 piv --experimental read-certificate --format PEM --key 9A
. Los camposuserName
ypassword
requieren el nombre de usuario y la contraseña del usuario local al que se desea asignar.Cierre la ventana* del Editor de colecciones *.
Confirme la configuración haciendo clic en Aplicar en el panel Acciones de la derecha.
El sitio ya está configurado para la autenticación de clientes TLS mediante la asignación de cuentas de usuario locales.