Windows Server 2012: Obtención Automática de Certificados Digitales de Máquinas y de Usuarios

Continuando con esta serie de notas sobre una Autoridad Certificadora digital en esta demostración veremos cómo podemos hacer que tanto las máquinas como los usuarios que deseemos obtengan en forma automática su Certificado Digital

Para esto debemos tener instalada y configurada una Autoridad Certificadora de tipo Enterprise cuyo procedimiento de instalación y configuración hemos descripto en notas anteriores

En esta demostración utilizaré la misma infraestructura que vengo creando desde el principio, pero si alguien no viene siguiendo todos los paso a paso, en realidad lo único que se necesita para poder comenzar ahora es tener montado un ambiente de Dominio, y una Autoridad Certificadora de tipo Enterprise

Recuerdo las notas anteriores en las que se ha creado la infrastructura de base que utilizaré

Algo importante a tener en cuenta, es que para que las cuentas, tanto de máquina como de usuario, puedan obtener automáticamente un Certificado Digital es imprescindible contar con dominio Active Directory, ya que esto se hará por Directivas de Grupo (GPOs), y además que la Autoridad Certificadora sea de tipo Enterprise, esto es, integrada en Active Directory

Para recordar, disponemos de tres máquinas:

  • Controlador de Dominio
    DC1.root.guillermod.com.ar
  • Autoridad Certificadora
    SVR1.root.guillermod.com.ar
  • Cliente
    CL2.root.guillermod.com.ar
  • OPCIONAL: Otro cliente
    CL1.root.guillermod.com.ar

Los pasos que haremos son, en grandes rasgos:

  • Crear plantillas de certificados personalizadas, tanto para máquinas como para usuarios
  • Implementar las Directivas de Grupo (GPOs) para máquinas y usuarios, donde además podremos ver cómo acotar a qué cuentas les otorgará el Certificado Digital

Comencemos en SVR1, donde está la Autoridad Certificadora, creando las plantillas de Certificados personalizadas. Crearé primero una plantilla para máquina

Para eso en “Certification Authority” con botón derecho sobre “Certificate Templates” elegimos “Manage”
Luego elijo la plantilla ya definida llamada “Computer”, creo una copia y la personalizaré

Igual que en las notas anteriores

Le asignaremos el nombre que más nos convenga

En este caso marcaré que se pueda exportar la clave privada como medida de seguridad para poder hacer, como medida de prevención una copia de seguridad del Certificado y clave privada

Debemos asignarle al grupo Domain Computers, permisos tanto de Enroll, como de Autoenroll, esto es necesario para que puedan obtener el certificado automáticamente

Para personalizar las plantillas de usuario, simplemente editaré la que creamos en la nota anterior (Usuario con KRA), modificando únicamente los permisos agreando al grupo Domain Users con permisos de Enrolle y Autoenroll

Cerramos la consola de plantillas, y en la Autoridad Certificadora agregamos el nuevo tipo de certificado para las cuentas de máquina

Para asegurarnos que no se pueda obtener de ningún modo un certificado de máquina basado en la anterior plantilla, la eliminaremos

Teniendo ya ambas plantillas preparadas, ahora pasemos a la siguiente fase, crear las GPOs para que se obtengan los certificados automáticamente

Comenzaré con los certificados para máquinas. Para eso debo crear una Directiva de Grupo (GPO) con la necesaria configuración, pero antes debemos tener en cuenta qué máquinas deseamos que obtengan certificados, y cómo está estructurado nuestro Active Directory

Si deseamos que todas las máquinas obtengan “certificado de máquina” puedo crear y enlazar la Directiva de Grupo a nivel de Dominio

Si en cambio lo que deseo es que se aplique solamente a algunas máquinas tengo dos alternativas:

  • Enlazar la GPO a nivel de Dominio, y luego usar “Security Filtering”
  • Tener las cuentas de máquina en una Unidad Organizativa (OU) y enlazar la GPO a dicha Unidad Organizativa

En esta demostración enlazaré la GPO a nivel de Domino, y luego aplicaré “Security Filtering” que es quizás la configuración más compleja

Para ellos deberemos crear un grupo con las cuentas de máquina, y además si queremos probar “a fondo” el tema, por lo menos dos máquinas clientes, una que le aplicará la GPO, y otra que no se le aplicará :-)

En este caso también tendremos dos alternativas (qué buena es la flexibilidad ;-)) ya que podemos hacer que la GPO se aplique sólo a un grupo determinado, o que se aplique a todas menos a un grupo determinado. Usaré este último

Por lo tanto crearé un grupo llamado “Computers sin certificado” donde incluiré a CL2, dejando que CL1 sí obtenga certificado
No voy a poner las capturas de pantalla de cómo se crea un grupo y se incluye una cuenta de máquina, entiendo que todo el que esté leyendo esto lo conoce

Comencemos entonces a crear la GPO, enlazada a nivel de Dominio para que otorgue los certificados de máquina

Pueden llamarla a gusto

La editamos

Y vamos a Computer Configuration / Policies / Windows Settings / Security Settings / Public Key Policies, botón derecho sobre “Certificate Services Client – Auto-Enrollment”, propiedades

Y habilitamos la configuración y permitimos que se renueven los certificdos automáticamente

Ahora debemos filtrar la aplicación de la GPO, recordemos que queremos denegarla al grupo “Computers sin certifidado” (que incluye a CL2)
Así que en “Group Policy Management”, “Group Policy Objects”, seleccionamos nuestra GPO, vamos a la ficha Delegation, y seleccionamos el botón Advanced

En el cuadro de seguridad debemos incluir al grupo “Computers sin certificado” y aplicarle el permiso “Apply group policy” – Deny

Nos avisará que este permiso prevalecerá sobre los Allow, pero es justamente lo que queremos

Va a quedar así

Llegamos al momento de probar si todo funciona. Como CL1 estaba prendida, sólo tengo que ejecutar en línea de comando “como administrador” el comando GPUPDATE /FORCE
Pueden ver que se ha asignado el correspondiente certificado y además basado en la plantilla que hemos creado

Como CL2, también estaba en línea en el momento de incluirla en el grupo, la única posibilidad es reinciar la máquina
Luego de reinciarla podremos verificar que, tal como estaba previsto, no le fue asignado certificado de máquina :-)

Nos está faltando el tema de los certificados de usuario, pero el procedimiento es totalmente similar, las únicas diferencias son:

  • Crear una GPO diferente de la usada anteriormente
  • Hacer la configuración en la parte de usuario, no de máquina
    (User Configuration / Policies / Windows Settings / Security Settings / Public Key Policies, botón derecho sobre “Certificate Services Client – Auto-Enrollment”

En este caso probablemente lo que deseen, al contrario que para máquinas, es que sólo un grupo determinado de usuarios tengan certificado automáticamente

En dicho caso, cuando estamos en la ficha Delegation de la GPO debemos eliminar al grupo “Authenticated Users”, y agregar al grupo que deseemos que obtengan certificado, asignándole los permisos de Read y “Apply group policy”

Anuncios
Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Hector Ramirez  On 10/06/2015 at 14:14

    Buenas tardes, muy buena configuración, solo tengo una duda, realizo todo y se muestra perfectamente mas sin embargo cuando deseo generar una solicitud de certificado para un servidor de correo en la pantalla WEB de la entidad subCA me indica que solo tiene la plantilla del usuario KRA, no me aparecen las demás plantillas, como servidor WEB, user, administrator, etc. me habrá faltado hacer algo o al contrario hay que realizar un paso mas, gracias.

    • Guillermo Delprato  On 10/06/2015 at 14:41

      Hola Héctor, en la consola de la CA, en “Certificate Templates” ¿aparecen todas las plantillas de certificado?
      Si es así, lo que habría que revisar en con qué usuario estás haciendo el pedido, y el servidor pertenece al Dominio AD

  • Julio Maldonado  On 24/11/2016 at 14:31

    Hola Guillermo como estas?, estoy siguiendo tus procedimientos, muy buenos!!. Quería hacerte una consulta en la solapa compatibility… tanto de certificados de users como de computers… es importante lo que alli seleccionemos? Por ej. en mi infraestructura tengo desde xp a Windows 10… cual seria mi compatibilidad?, en cuanto a Servers… todo WS2012r2 tengo.

    Gracias.
    Saludos.-

    • Guillermo Delprato  On 24/11/2016 at 15:10

      Hola Julio, a mi entender cada una de las dos configuraciones deberías manejarla diferente: lo actual para la versión de la CA, y lo más “viejo” para la compatibilidad de cliente (“recipient”). Salvo que hicieras dos plantillas separadas
      Es un problema actualmente tener clientes “viejos”

Trackbacks

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: