Administrar certificados TLS/SSL en AD FS y WAP en Windows Server 2016

En este artículo se describe cómo implementar un nuevo certificado TLS/SSL en los servidores de Servicios de federación de Active Directory (AD FS) y del Proxy de aplicación web (WAP).

Nota:

A partir de ahora, la manera recomendada de reemplazar el certificado SSL/TLS para una granja de AD FS es usar Microsoft Entra Connect. Para obtener más información, consulte Actualizar el certificado TLS/SSL para una granja de Servicios de federación de Active Directory (AD FS).

Obtener los certificados TLS/SSL

Para las granjas de servidores de AD FS de producción, se recomienda obtener un certificado TLS/SSL de confianza pública. AD FS obtiene este certificado mediante el envío de una solicitud de firma de certificado (CSR) a un proveedor de certificados público externo. Hay varias formas de generar la CSR, incluso desde un equipo con Windows 7 o posterior. El proveedor debería tener documentación sobre este proceso.

Certificados necesarios

Debe usar un certificado TLS/SSL común en todos los servidores AD FS y WAP. Para obtener requisitos detallados, consulte Requisitos de certificado TLS/SSL de AD FS y del Proxy de aplicación web.

Requisitos del certificado TLS/SSL

Para conocer los requisitos, incluidos los de nomenclatura de raíz de confianza y de extensiones, consulte los Requisitos de certificado TLS/SSL de AD FS y del Proxy de aplicación web.

Reemplazar el certificado TLS/SSL para AD FS

Nota

El certificado TLS/SSL de AD FS no es el mismo que el de Comunicaciones del servicio AD FS que se encuentra en el complemento Administración de AD FS. Para cambiar el certificado TLS/SSL de AD FS, debe usar PowerShell.

En primer lugar, determine si los servidores de AD FS ejecutan el modo de enlace de autenticación de certificados predeterminado o el modo de enlace TLS de cliente alternativo.

Reemplazar el certificado TLS/SSL para AD FS ejecutado en el modo de enlace de autenticación de certificados predeterminado

AD FS realiza de forma predeterminada la autenticación de certificados de dispositivo en el puerto 443 y la autenticación de certificados de usuario en el puerto 49443 (o en un puerto configurable que no sea el 443). En este modo, use el cmdlet Set-AdfsSslCertificate de PowerShell para administrar el certificado TLS/SSL, como se muestra en los pasos siguientes:

  1. Primero debe obtener el nuevo certificado. Lo puede hacer enviando una solicitud de firma de certificado (CSR) a un proveedor de certificados público externo. Hay varias formas de generar la CSR, incluso desde un equipo con Windows 7 o una versión posterior. El proveedor debería tener documentación sobre este proceso.

  2. Una vez obtenida la respuesta del proveedor de certificados, impórtela en el almacén de la máquina local en cada servidor de AD FS y WAP.

  3. En el servidor de AD FS principal, use el siguiente cmdlet para instalar el nuevo certificado TLS/SSL:

Set-AdfsSslCertificate -Thumbprint '<thumbprint of new cert>'

La huella digital del certificado se puede obtener ejecutando este comando:

dir Cert:\LocalMachine\My\

Reemplazar el certificado TLS/SSL para AD FS ejecutado en el modo de enlace TLS alternativo

Cuando se configura en modo de enlace TLS de cliente alternativo, AD FS realiza la autenticación del certificado del dispositivo en el puerto 443. También realiza la autenticación de certificados de usuario en el puerto 443, en un nombre de host diferente. El nombre de host del certificado de usuario es el nombre de host de AD FS precedido de certauth, por ejemplo, certauth.fs.contoso.com. En este modo, use el cmdlet Set-AdfsAlternateTlsClientBinding de PowerShell para administrar el certificado TLS/SSL. Este cmdlet administra no solo el enlace TLS de cliente alternativo, sino todos los demás enlaces en los que AD FS también establece el certificado TLS/SSL.

Siga estos pasos para reemplazar el certificado TLS/SSL para AD FS que se ejecuta en modo de enlace TLS alternativo.

  1. Primero debe obtener el nuevo certificado. Lo puede hacer enviando una solicitud de firma de certificado (CSR) a un proveedor de certificados público externo. Hay varias formas de generar la CSR, incluso desde un equipo con Windows 7 o una versión posterior. El proveedor debería tener documentación sobre este proceso.

  2. Una vez obtenida la respuesta del proveedor de certificados, impórtela en el almacén de la máquina local en cada servidor de AD FS y WAP.

  3. En el servidor de AD FS principal, use el siguiente cmdlet para instalar el nuevo certificado TLS/SSL:

Set-AdfsAlternateTlsClientBinding -Thumbprint '<thumbprint of new cert>'

La huella digital del certificado se puede obtener ejecutando este comando:

dir Cert:\LocalMachine\My\

Otras consideraciones para los certificados TLS/SSL en el enlace de autenticación de certificados predeterminado y el modo de enlace TLS alternativo

  • Los cmdlets Set-AdfsSslCertificate y Set-AdfsAlternateTlsClientBinding son cmdlets de varios nodos, por lo que solo tienen que ejecutarse desde el servidor principal. Los cmdlets también actualizan todos los nodos de la granja. Este cambio es nuevo en Server 2016. En Server 2012 R2, tienes que ejecutar cada cmdlet en cada servidor.
  • Los cmdlets Set-AdfsSslCertificate y Set-AdfsAlternateTlsClientBinding solo se deben ejecutar en el servidor principal. El servidor principal tiene que ejecutar Server 2016 y debe elevar el nivel de comportamiento de la granja a 2016.
  • Los cmdlets Set-AdfsSslCertificate y Set-AdfsAlternateTlsClientBinding usan la comunicación remota de PowerShell para configurar el resto de servidores de AD FS. Asegúrese de que el puerto 5985 (TCP) está abierto en los demás nodos.
  • Los cmdlets Set-AdfsSslCertificate y Set-AdfsAlternateTlsClientBinding conceden a la entidad de seguridad adfssrv permisos de lectura para las claves privadas del certificado TLS/SSL. Esta entidad de seguridad representa el servicio de AD FS. No es necesario conceder acceso de lectura a la cuenta de servicio de AD FS para las claves privadas del certificado TLS/SSL.

Reemplazar el certificado TLS/SSL para el Proxy de aplicación web

Para configurar tanto el enlace de autenticación de certificados predeterminado como el modo de enlace TLS de cliente alternativo en WAP, se puede usar el cmdlet Set-WebApplicationProxySslCertificate. Para reemplazar el certificado TLS/SSL de WAP en cada servidor WAP, use el siguiente cmdlet para instalar el nuevo certificado TLS/SSL:

Set-WebApplicationProxySslCertificate -Thumbprint '<thumbprint of new cert>'

Si se produce un error en este cmdlet porque el certificado anterior ya ha expirado, vuelva a configurar el proxy mediante los siguientes cmdlets:

$cred = Get-Credential

Escriba las credenciales de un usuario de dominio que sea administrador local en el servidor de AD FS.

Install-WebApplicationProxy -FederationServiceTrustCredential $cred -CertificateThumbprint '<thumbprint of new cert>' -FederationServiceName 'fs.contoso.com'