Trabajando con Certificados en Windows Server 2008 (3)

Pues en el post anterior vimos como implementar una CA Raiz Independiente y en este trataremos de ver como implementar una CA Subordinada integrada al Directorio Activo.

Para ello vamos a instalar los servicios de CA sobre un servidor dentro de nuestra implementación del Directorio Activo. En nuestro caso vamos a usar el controlador de dominio sobre el que estamos trabajando.

Antes de comenzar todo el proceso es necesario que agreguemos el registro de nuestra máquina al servidor DNS para que pueda ser localizada por su FQDN. Para hacer esto arrancamos el administrador del servicio DNS en el controlador de dominio y agregamos un registro tipo A con el nombre del servidor donde tenemos instalada la CA Raíz y lo asociamos a su IP:

Para ello y mediante la consola Administrador del Servidor vamos a agregar el rol de AD CS:

Seguimos el asistente tal cual lo hicimos para la instalación del servidor raiz, pero en este caso vamos a agregar una funcionalidad más, el Servicio de Respuesta en Línea. En este ejemplo vamos a implementar esta función en el mismo servidor donde tenemos nuestra CA pero para efectos prácticos esto debe de instalarse en un servidor diferente. En el servidor donde agreguemos esta función será donde publiquemos nuestras CRL (listas de revocación) de todas nuestras CA. En otros post veremos como implementar esto. El servicio de respuesta en línea permitirá consultar los certificados revocados sin necesidad de descargar las listas de revocación completa por parte de los clientes lo que facilita su consulta. Lamentablemente solamente los sistemas operativos posteriores a Vista están preparados para sacar provecho a esta funcionalidad.

Bien, pues en este caso tendremos que seleccionar la opción de Empresa para que nuestra CA se integre al Directorio Activo.

Y también seleccionamos la opción de CA Subordinada.

Igual que en la instalación anterior generamos un nuevo certificado para esta CA:

Conservamos también los valores por defecto de la criptografía, incluida la longitud de clave.

Elegimos un nombre para nuestra CA:

y llegamos a la parte donde tendremos que solicitar un certificado a una entidad superior, en nuestro caso nuestra entidad raíz. Para ello generaremos un archivo de solicitud de certificado que luego usaremos para llevarlo a nuestra CA y emitir el certificado correspondiente para esta CA subordinada.

 

Ya podemos seguir el asistente hasta el final como hicimos en la instalación anterior.

El siguiente paso es obtener el certificado de nuestra entidad emisora raíz para poder instalarlo en esta subordinada. Vamos allá:

 

Nos conectamos a la página web de la CA Raiz para solicitar nuestro certificado: http://srv-rootca/certsrv

Necesitamos usar la opción de Solicitar un Certificado

Y a continuación elegimos Solicitud avanzada de certificado

Ya disponemos de un archivo donde tenemos nuestra solicitud, así que seleccionamos Enviar una solicitud de …..

En este paso tendremos que abrir nuestro archivo con el bloc de notas y copiar todo su contenido para pegarlo en el cuadro Guardar Solicitud como podemos ver en la captura anterior y hacemos clic en Enviar. Esto genera una solicitud que se queda pendiente en el servidor CA Raíz y que tendremos que aprobar manualmente.

A continuación debemos de aprobar el certificado y una vez aprobado instalarlo en la CA Subordinada:

Para aprobar el certificado solicitado debemos acceder al servidor de la CA Raíz y autorizar la emisión del certificado. Para ello abrimos la herramienta de administración de la CA que encontramos en las herramientas administrativas:

En Solicitudes Pendientes veremos la solicitud que acabamos de hacer y que debemos de autorizar. Para ello usamos el menú contextual para emitir el certificado.

Comprobamos que el certificado figura en el contenedor de Certificados Emitidos.

Para poder usar el certificado emitido por la CA Raíz como un certificado de confianza es necesario que confiemos en esa CA. Para ello debemos de distribuir el certificado público de la CA Raíz a todas las máquinas del dominio. Para ello podemos usar las Directivas de Grupo.

En primer lugar tenemos que hacernos con el certificado público de nuestra CA Raíz. El método más sencillo es conectarnos al sitio web de la CA Raíz y descargar el certificado. Lo descargamos y lo guardamos en nuestro disco.

A continuación abrimos el administrador de directivas de grupo desde las herramientas administrativas, para editar la directiva Default Domain Policy

En el editor de la directiva de grupo accedemos a Configuración del equipo – Directivas – Configuración de Windows – Configuración de Seguridad – Directivas de clave pública – Entidades de Certificación raíz de confianza, y usamos el menú contextual para importar el certificado la CA Raíz.

Una vez tengamos importado en este contenedor el certificado el directorio activo se encargará de distribuirlo a todas las máquinas en el dominio, de esta forma nuestra entidad CA Raíz será de confianza dentro de todo el dominio. Podremos agregar tantos certificados a este contenedor de entidades emisoras como necesitemos.

Instalemos pues el certificado de nuestra entidad subordinada:

Volvemos al servidor donde estábamos instalando nuestra entidad subordinada y descargamos el certificado ya emitido. Para ello nos conectamos de nuevo al servidor web del servidor CA Raíz

Seleccionamos la opción de ver estado de una solicitud de certificado pendiente

Seleccionamos nuestra solicitud

y descargamos el certificado usando la opción de Descargar cadena de Certificados y guardándolo en el disco.

A continuación tendremos que habilitar nuestra CA Subordinada utilizando este certificado:

Arrancamos la herramienta de administración de nuestra CA Subordinada desde las herramientas administrativas

Usando el menú contextual accedemos a todas las tareas y seleccionamos Instalar el certificado de CA. Seguimos el asistente para indicar donde tenemos el archivo de nuestro certificado.

A continuación volvemos a usar el menú contextual para arrancar el servicio.

Y listo. Ya tenemos nuestra estructura PKI lista para comenzar a emitir certificados. Pero antes de ponernos a distribuir certificados como locos tendremos que hacer algunos ajustes más que veremos en próximos posts.

Siguiendo estos mismos pasos podremos habilitar tantas CAs Subordinadas como necesitemos, tanto Independientes (Stand-Alone) como de Empresa (Enterprise). Por ejemplo podríamos habilitar una CA Subordinada Independiente para emitir certificados nos relacionados con el Directorio Activo. No es que esto sea necesario ya que la CA del Directorio Activo puede emitir todo tipo de certificados y para cualquier uso, el objetivo de mantener dos CAs Subordinadas separadas sería para administrar de forma independiente los certificados internos y externos.

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

5 respuestas a Trabajando con Certificados en Windows Server 2008 (3)

  1. Xavier dijo:

    Hola,
    Estoy siguiendo tu guía para la implementación de una estructura de PKI con una raíz independiente y una subordinada pero a la hora de activar la subordinada me aparece un error que no soy capaz de resolver. He estado googeleando bastante pero no doy con la solución.
    Sabes a que se debe este error cuando intento iniciar el servicio en la subordinada? «La función de revocación no puede comprovar la revocación debido a que el servidor de revocación esta desconectado 0x80092013». Tengo el certificado raíz instalado en la máquina subordinada, el certificado generado y que tengo que cargar parece que la ruta es correcta.

    Muchas gracias!

    • jbouzada dijo:

      Hola Xavier,

      Fíjate que en la guía se especifica que algo muy importante es que las rutas de publicación de los certificados revocados esté siempre disponible. Antes de emitir certificados con ninguna de las entidades de certificación debes de planificar muy bien donde publicaras esas listas de revocación ya que deben de ser rutas que sean accesibles en todo momento (dentro de esta planificación debes de tener en cuenta si los certificados se van a utilizar en internet o solamente de forma interna, sea como fuere la ruta de las listas de revocación deben de estar disponibles para que se puedan consultar en todo momento). Una vez planificadas correctamente esas rutas debes de configurarlas como extensiones en tus CAs para que estas las agreguen a los certificados emitidos y así se puedan consultar cuando se uso de los certificados.

      Saludos.

  2. mikanke dijo:

    Hola,

    si te fijas en la máquina subordinada, en la ruta c:\windows\system32\certenroll, tienes que tener un archivo con extensión crl.

    Si no le tienes, copiale desde el rootCA a la CA subordinada, y ya te tiene que dejar iniciar el servicio de certificación en la misma.

    Espero que te sirva de ayuda.

    Un saludo.

  3. mikanke dijo:

    Hola,

    una cosa bastante importante que no se ha comentado en el artículo.

    Por defecto las entidades de certificación Stand-alone, emiten certificados con período de validez de 1 año.

    Esto implica que nuestra entidad subordinada va a tener un certificado cuya validez será de 1 año. El gran problema de esto es que los certificados emitidos por la entidad subordinada no pueden superar el periodo de validez de la misma, con lo que pasados 6 meses, solo podremos emitir certificados por un periodo de validez de 6 meses,

    Para evitar este problema, se puede configurar la CA raíz para que emita certificados con una validez mayor de 1 año. Para ello, hay que seguir estas instrucciones obtenidas de la web de Microsoft (http://support.microsoft.com/?scid=kb%3Ben-us%3B254632&x=7&y=16):
    To Change the Expiration Date of Certificates That Are Issued by a Windows Server 2003 or a Windows 2000 Server Certificate Authority
    To change the validity period settings for a CA, follow these steps.

    Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
    322756

    How to back up and restore the registry in Windows1.Click Start, and then click Run.
    2.In the Open box, type regedit, and then click OK.
    3.Locate, and then click the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\

    4.In the right pane, double-click ValidityPeriod.
    5.In the Value data box, type one of the following, and then click OK: ◦Days
    ◦Weeks
    ◦Months
    ◦Years
    .
    6.In the right pane, double-click ValidityPeriodUnits.
    7.In the Value data box, type the numeric value that you want, and then click OK. For example, type 2.
    8.Stop, and then restart the Certificate Services service. To do so: a.Click Start, and then click Run.
    b.In the Open box, type cmd, and then click OK.
    c.At the command prompt, type the following lines. Press ENTER after each line.
    net stop certsvc
    net start certsvc

    d.Type exit to quit Command Prompt.

    Es recomendable hacer este cambio antes de solicitar el certificado para la CA subordinada, de lo contrario luego tendremos dos certificados en la CA subordinada, uno que caduca al año y otro que caduca a los 5 por ejemplo; aunque esto no supone en principio ningún problema, ya que me ha dejado emitir un certificado con un periodo de validez de 2 años.

    Espero que os sirva de ayuda.

    Un saludo.

Deja un comentario