Autenticación de clientes TLS con Internet Information Services (IIS)

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

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

  1. Open the Server Manager.

  2. In the menubar on the top click Manage → Add Roles and Features.

  3. Siga el asistente hasta el paso Server Roles.

  4. Seleccione el rol Web Server (IIS) de la lista de roles disponibles.

  5. Siga el asistente hasta el paso Roles Services en Web Server Role (IIS).

  6. En la lista de servicios de rol, seleccione Servidor web → Seguridad → Autenticación de asignación de certificados de cliente de IIS.

  7. Siga el asistente para la instalación. La instalación debe finalizar antes de poder empezar a configurarlo.

Configuración

  1. Abra Internet Information Services (IIS) Manager (InetMgr.exe).

  2. Seleccione y expanda el servidor web que desea configurar en la vista de árbol Conexiones de la izquierda.

  3. 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.

  4. Expanda la página Sites bajo el servidor web y seleccione el sitio que desea configurar.

  5. En el panel Acciones de la derecha, haga clic en Enlaces….

  6. 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>` __.

  7. 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.

  8. 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á.

  9. Desde el panel central abra Editor de configuración. Abra la sección system.webServer/security/authentication/iisClientCertificateMappingAuthentication de ApplicationHost.config <location path='Default web site'/>. Establezca la clave enabled en True y asegúrese de que una o ambas claves manyToOneCertificateMappingsEnabled y oneToOneCertificateMappingsEnabled están activadas.

  10. Las asignaciones de usuario deben escribirse en las claves manyToOneMappings o oneToOneMappings. 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.

    1. 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 campos userName y password requieren el nombre de usuario y la contraseña del usuario local al que se desea asignar. El campo rules 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 ** .

    2. 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 comando nitropy nk3 piv --experimental read-certificate --format PEM --key 9A. Los campos userName y password 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.