Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Autores: Jitesh Thakur, Meera Mohideen, Asesores Técnicos con el Grupo Windows. Ankit Tyagi, Ingeniero de soporte en el grupo de Windows
Resumen
En este artículo se proporcionan instrucciones paso a paso para implementar el servicio web de directiva de inscripción de certificados (CEP) y el servicio web de inscripción de certificados (CES) en un puerto personalizado distinto de 443 para la renovación basada en claves de certificado para aprovechar la característica de renovación automática de CEP y CES.
En este artículo también se explica cómo funcionan CEP y CES y se proporcionan instrucciones de configuración.
Nota:
El flujo de trabajo que se incluye en este artículo se aplica a un escenario específico. Es posible que el mismo flujo de trabajo no funcione para una situación diferente. Sin embargo, los principios siguen siendo los mismos.
Descargo de responsabilidad: Esta configuración se ha creado para un requisito específico en el que no quiere usar el puerto 443 para la comunicación HTTPS por defecto de los servidores CEP y CES. Aunque esta configuración es posible, tiene una compatibilidad limitada. Los servicios de atención al cliente y el soporte técnico pueden ayudarle mejor si sigue esta guía cuidadosamente usando una desviación mínima de la configuración del servidor web proporcionada.
Escenario
En este ejemplo, las instrucciones se basan en un entorno que usa la siguiente configuración:
Un bosque de Contoso.com que tiene una infraestructura de clave pública (PKI) de Servicios de certificados de Active Directory (AD CS).
Dos instancias de CEP/CES configuradas en un servidor que está funcionando bajo una cuenta de servicio. Una instancia usa el nombre de usuario y la contraseña para la inscripción inicial. El otro usa la autenticación basada en certificados para la renovación basada en claves en modo de renovación únicamente.
Un usuario tiene un grupo de trabajo o un equipo no unido a un dominio para inscribir el certificado de equipo mediante credenciales de nombre de usuario y contraseña.
La conexión del usuario a CEP y CES a través de HTTPS se produce en un puerto personalizado como 49999. (Este puerto está seleccionado desde un intervalo de puertos dinámico y no se usa como puerto estático por ningún otro servicio).
Cuando la duración del certificado está cerca de su final, el equipo usa la renovación basada en claves CES basadas en certificados para renovar el certificado a través del mismo canal.
Instrucciones de configuración
Información general
Configure la plantilla para la renovación basada en claves.
Como requisito previo, configure un servidor CEP y CES para la autenticación de nombre de usuario y contraseña. En este entorno, nos referimos a la instancia como "CEPCES01".
Configure otra instancia de CEP y CES mediante PowerShell para la autenticación basada en certificados en el mismo servidor. La instancia de CES usa una cuenta de servicio.
En este entorno, nos referimos a la instancia como "CEPCES02". La cuenta de servicio que se usa es "cepcessvc".
Configurar los ajustes del lado del cliente.
Configuración
En esta sección se proporcionan los pasos para configurar la inscripción inicial.
Nota:
También puede configurar cualquier cuenta de servicio de usuario, MSA o GMSA para que CES funcione.
Como requisito previo, debe configurar CEP y CES en un servidor mediante la autenticación de nombre de usuario y contraseña.
Configuración de la plantilla para la renovación basada en claves
Puede duplicar una plantilla de equipo existente y configurar las siguientes opciones de la plantilla:
En la pestaña Nombre del sujeto de la plantilla de certificado, asegúrese de que se seleccionan las opciones Proporcionar en la solicitud y usar la información del sujeto de los certificados existentes para las solicitudes de renovación de inscripción automática.
Cambie a la pestaña Requisitos de emisión y, a continuación, active la casilla aprobación del administrador de certificados de CA .
Asigne el permiso Leer e Inscribir a la cuenta de servicio cepcessvc para esta plantilla.
Publique la nueva plantilla en la entidad de certificación.
Nota:
Asegúrese de que la configuración de compatibilidad de la plantilla esté establecida en Windows Server 2012 R2 , ya que hay un problema conocido en el que las plantillas no están visibles si la compatibilidad está establecida en Windows Server 2016 o una versión posterior. Para obtener más información, consulte No se pueden seleccionar plantillas de certificado compatibles con CA de Windows Server 2016 o servidores CEP basados en Windows Server 2016 o versiones posteriores.
Configuración de la instancia de CEPCES01
Paso 1: Instalar la instancia
Para instalar la instancia de CEPCES01, use cualquiera de los métodos siguientes.
Método 1
Consulte los artículos siguientes para obtener instrucciones paso a paso para habilitar CEP y CES para la autenticación de nombre de usuario y contraseña:
Instrucciones del Servicio web de directivas de inscripción de certificados
Guía del servicio web de inscripción de certificados
Nota:
Asegúrese de no seleccionar la opción "Habilitar la renovación Key-Based" si configura instancias del sistema de autenticación CEP y CES con nombre de usuario y contraseña.
Método 2
Puede usar los siguientes cmdlets de PowerShell para instalar las instancias de CEP y CES:
Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Pol
Add-WindowsFeature Adcs-Enroll-Web-Svc
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Username -SSLCertThumbprint "sslCertThumbPrint"
Este comando instala el servicio web de directiva de inscripción de certificados (CEP) especificando que se usa un nombre de usuario y una contraseña para la autenticación.
Nota:
En este comando, <SSLCertThumbPrint> es la huella digital del certificado para enlazar IIS.
Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Username
Este comando instala el Servicio Web de Inscripción de Certificados (CES) para que use la autoridad de certificación con un nombre de equipo CA1.contoso.com y un nombre común de CA contoso-CA1-CA. La identidad del CES se especifica como la identidad predeterminada del grupo de aplicaciones. El tipo de autenticación es nombre de usuario. SSLCertThumbPrint es la huella digital del certificado para enlazar IIS.
Paso 2: Comprobar la consola del Administrador de Internet Information Services (IIS)
Después de una instalación correcta, espera ver la siguiente presentación en la consola del Administrador de Internet Information Services (IIS).
En Sitio web predeterminado, seleccione ADPolicyProvider_CEP_UsernamePassword y, a continuación, abra Configuración de la aplicación. Anote el identificador y el URI.
Puede agregar un nombre descriptivo para la administración.
Configuración de la instancia de CEPCES02
Paso 1: Instale CEP y CES para la renovación basada en claves en el mismo servidor.
En PowerShell, ejecute el siguiente comando:
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint "sslCertThumbPrint" -KeyBasedRenewal
Este comando instala el servicio web de directiva de inscripción de certificados (CEP) y especifica que se usa un certificado para la autenticación.
Nota:
En este comando, <SSLCertThumbPrint> es la huella digital del certificado para enlazar IIS.
La renovación basada en claves permite a los clientes de certificados renovar sus certificados mediante la clave de su certificado existente para la autenticación. Cuando se encuentra en modo de renovación basada en claves, el servicio devuelve solo las plantillas de certificado establecidas para la renovación basada en claves.
Install-AdcsEnrollmentWebService -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Certificate -ServiceAccountName "Contoso\cepcessvc" -ServiceAccountPassword (read-host "Set user password" -assecurestring) -RenewalOnly -AllowKeyBasedRenewal
Este comando instala el Servicio Web de Inscripción de Certificados (CES) para que use la autoridad de certificación con un nombre de equipo CA1.contoso.com y un nombre común de CA contoso-CA1-CA.
En este comando, la identidad del servicio web de inscripción de certificados se especifica como la cuenta de servicio cepcessvc . El tipo de autenticación es certificado. SSLCertThumbPrint es la huella digital del certificado para enlazar IIS.
El cmdlet RenewalOnly permite que CES se ejecute solo en modo de renovación. El cmdlet AllowKeyBasedRenewal también especifica que el CES acepta solicitudes de renovación basadas en claves para el servidor de inscripción. Estos son certificados de cliente válidos para la autenticación que no se asignan directamente a una entidad de seguridad.
Nota:
La cuenta de servicio debe formar parte de IIS_IUSRS grupo en el servidor.
Paso 2: Comprobación de la consola del Administrador de IIS
Después de una instalación correcta, espera ver la siguiente presentación en la consola del Administrador de IIS.
Seleccione KeyBasedRenewal_ADPolicyProvider_CEP_Certificate en Sitio web predeterminado y abra Configuración de la aplicación. Anote el identificador y el URI. Puede agregar un nombre descriptivo para la administración.
Nota:
Si la instancia está instalada en un nuevo servidor, compruebe el identificador para asegurarse de que el identificador es el mismo que se generó en la instancia de CEPCES01. Puede copiar y pegar el valor directamente si es diferente.
Completar la configuración de servicios web de inscripción de certificados
Para inscribir el certificado para la funcionalidad de CEP y CES, debe configurar la cuenta de equipo del grupo de trabajo en Active Directory y, a continuación, configurar la delegación restringida en la cuenta de servicio.
Paso 1: Crear una cuenta de equipo del equipo del grupo de trabajo en Active Directory
Esta cuenta se usa para la autenticación hacia la renovación basada en claves y la opción Publicar en Active Directory en la plantilla de certificado.
Nota:
No es necesario unir la máquina cliente a un dominio.
Paso 2: Configurar la cuenta de servicio para la delegación restringida (S4U2Self)
Ejecute el siguiente comando de PowerShell para habilitar la delegación restringida (S4U2Self o cualquier protocolo de autenticación):
Get-ADUser -Identity cepcessvc | Set-ADAccountControl -TrustedToAuthForDelegation $True
Set-ADUser -Identity cepcessvc -Add @{'msDS-AllowedToDelegateTo'=@('HOST/CA1.contoso.com','RPCSS/CA1.contoso.com')}
Nota:
En este comando, <cepcessvc> es la cuenta de servicio y <CA1.contoso.com> es la entidad de certificación.
Importante
No estamos habilitando la marca RENEWALONBEHALOF en la entidad de certificación en esta configuración porque estamos usando la delegación restringida para hacer el mismo trabajo por nosotros. Esto nos permite evitar agregar el permiso para la cuenta de servicio a la seguridad de la entidad de certificación.
Paso 3: Configurar un puerto personalizado en el servidor web de IIS
En la consola del Administrador de IIS, seleccione Sitio web predeterminado.
En el panel de acciones, seleccione Editar enlace de sitio.
Cambie la configuración de puerto predeterminada de 443 a su puerto personalizado. En la captura de pantalla de ejemplo se muestra una configuración de puerto de 49999.
Paso 4: Editar el objeto de servicios de inscripción de CA en Active Directory
En un controlador de dominio, abra adsiedit.msc.
Conéctese a la partición de configuración y vaya al objeto de servicios de inscripción de la autoridad de ceritificación:
CN=ENTCA,CN=Servicios de inscripción,CN=Servicios de clave pública,CN=Servicios,CN=Configuración,DC=contoso,DC=com
Haga clic con el botón derecho y edite el objeto ca. Cambie el atributo msPKI-Enrollment-Servers mediante el puerto personalizado con los URI de servidor CEP y CES que se encontraron en la configuración de la aplicación. Por ejemplo:
140https://cepces.contoso.com:49999/ENTCA_CES_UsernamePassword/service.svc/CES0 181https://cepces.contoso.com:49999/ENTCA_CES_Certificate/service.svc/CES1
Configuración del equipo cliente
En el equipo cliente, configure las directivas de inscripción y la directiva de inscripción automática. Para hacer esto, sigue estos pasos:
Seleccione Iniciar>Ejecutar y escriba gpedit.msc.
Vaya a Configuración del equipo>Configuración de Windows>Configuración de seguridad, y, a continuación, haga clic en Directivas de clave pública.
Habilite la directiva Cliente de Servicios de Certificados - Inscripción Automática para que coincida con la configuración de la captura de pantalla siguiente.
Habilite Cliente de servicios de certificados: directiva de inscripción de certificados.
a) Haga clic en Agregar para agregar la directiva de inscripción y escriba el URI de CEP con UsernamePassword que editamos en ADSI.
b. En Tipo de autenticación, seleccione Nombre de usuario y contraseña.
c. Establezca una prioridad de 10 y, a continuación, valide el servidor de directivas.
Nota:
Asegúrese de que el número de puerto se agrega al URI y se permite en el firewall.
Registre el primer certificado para el equipo mediante certlm.msc.
Seleccione la plantilla KBR e inscriba el certificado.
Vuelva a abrir gpedit.msc . Edite el Cliente de Servicios de Certificados: Directiva de Inscripción de Certificados y, a continuación, agregue la directiva de inscripción de renovación basada en claves:
a) Haga clic en Agregar, escriba el URI de CEP con el certificado que editamos en ADSI.
b. Establezca una prioridad de 1 y, a continuación, valide el servidor de directivas. Se le pedirá que se autentique y elija el certificado que inscribimos inicialmente.
Nota:
Asegúrese de que el valor de prioridad de la directiva de inscripción de renovación basada en claves sea menor que la prioridad de la directiva de inscripción de nombre de usuario y contraseña. La primera preferencia se da a la prioridad más baja.
Prueba de la configuración
Para asegurarse de que la renovación automática funciona, compruebe que la renovación manual funciona mediante la renovación del certificado con la misma clave mediante mmc. Además, se le pedirá que seleccione un certificado durante la renovación. Puede elegir el certificado que inscribimos anteriormente. Se espera la solicitud.
Abra el almacén de certificados personal de la computadora y agregue la vista de certificados archivados. Para ello, agregue el complemento de cuenta de equipo local a mmc.exe, resalte Certificados (equipo local) haciendo clic en él, haga clic en ver en la pestaña de acción de la derecha o en la parte superior de mmc, haga clic en Opciones de vista, seleccione Certificados archivados y, después, haga clic en Aceptar.
Método 1
Ejecute el siguiente comando:
certreq -machine -q -enroll -cert <thumbprint> renew
Método 2
Avance la hora y la fecha en el equipo cliente a la hora de renovación de la plantilla de certificado.
Por ejemplo, la plantilla de certificado tiene una configuración de validez de 2 días y una configuración de renovación de 8 horas configurada. El certificado de ejemplo se emitió a las 4:00 a.m. el día 18 del mes, expira a las 4:00 a.m. el 20. El motor de inscripción automática se desencadena al reiniciar y a cada intervalo de 8 horas (aproximadamente).
Por lo tanto, si avanzas el tiempo a las 20:10 del día 19, dado que nuestra ventana de renovación se estableció en 8 horas en la plantilla, la ejecución de Certutil -pulse (para desencadenar el motor inscripción automática) inscribe el certificado automáticamente.
Una vez finalizada la prueba, revierta la configuración de hora al valor original y, a continuación, reinicie el equipo cliente.
Nota:
La captura de pantalla anterior es un ejemplo para demostrar que el motor de inscripción automática funciona según lo previsto porque la fecha de la autoridad de certificación sigue estando establecida en el día 18. Por lo tanto, sigue emitiendo certificados. En una situación real, este gran número de renovaciones no se producirá.
Referencias
Guía del laboratorio de pruebas: Demostración de la renovación de certificados Key-Based
Servicios web de inscripción de certificados
Install-AdcsEnrollmentPolicyWebService
Install-AdcsEnrollmentWebService
Consulte también
Foro de seguridad de Windows Server
Referencia y biblioteca de la documentación de PKI de Windows