Tabla de Contenidos

PKI y CA

  1. Las CA (Certification Authority) son los servidores que se encargan de emitir los certificados que luego se utilizarán como medios de identificación
  2. La infraestructura de CAs de una organización se denomina PKI (Public Key Infrastructure)
  3. Cuando se crea una CA, el software genera automáticamente un certificado raíz autofirmado
  1. En una PKI puede haber varias CA organizadas jerárquicamente pero que dependan de una única CA raíz

Criterios de confianza de un certificado

Para que el sistema operativo confíe en un certificado se tiene que cumplir:

Dos tipos de CA: públicas y privadas

CA pública

CA privada o interna

PKI y CA en WS2K8

En Windows Server 2008, una CA es un servidor con el rol “AD CS” instalado

Una CA puede emitir certificados, revocarlos, publicar la lista de certificados revocados (CRL) o la lista de información AIA (Authority Information Access) para que los certificados emitidos a usuarios, sistemas o servicios puedan ser validados

En las PKI de WS2K8 caben dos tipos de CA:

CA raíz: dispone de certificado autofirmado y puede emitir certificados para otra CA

CA subordinada: dispone de certificado firmado por otra CA raíz

Pueden estar o no integradas en el Directorio Activo

CA Stand-alone: no requiere Directorio Activo

CA Empresarial: se integra en un Directorio Activo y exige que el servidor forme parte de un Dominio de Directorio Activo

Recomendación de seguridad en una PKI jerárquica

  1. De este modo protegemos la clave privada de la CA raíz
  2. La CA raíz sólo se encenderá cuando haya que certificar una nueva CA subordinada

Enunciado

Trabajaremos con dos servidores WS2K8 Enterprise Edition (tienen un rol de PKI más completo que la versión Standard)

La primera maquina se llamara SRV-RootCAseguido del numero de lista

Servidor stand-alone donde se instalará la CA raíz

El servidor está en un grupo de trabajo (GW-PKI)

La segunda maquina se llama DC1 en mi caso, en el vuestro las iniciales de vuestro nombre y apellidos

Controlador de dominio del dominio EMBOSA en vuestro caso ASIR

En él se instalará una CA subordinada e integrada en el Directorio Activo

También se usarán los servicios web de este servidor como rutas para publicar los AIA (Authority Information Access) y los RDP (Revocation List Distribution Point) de las dos CAs

Nota Una vez instalada una CA en un servidor, éste ya yo puede cambiar de nombre

comprobación inicial de nombres NetBIOS

Instalación de los servicios DS CA en SRV-RootCA

Instalación de los servicios web para la inscripción de certificados, lo que requerirá IIS

Comenzamos la configuración de la CA raiz (no está en dominio, sólo podemos elegir Independiente)

Elegimos CA raiz

Creamos una nueva clave privada

Definimos del CSP (Proveedor de Servicios de Cifrado) que utilizamos

Asignamos nombre a la CA raiz

Establece el periodo de validez del certificado de la CA raíz autofirmado

Definimos la ruta de la base de datos de certificados y del registro de emisión

Configuración por defecto propuesta de la instalación de IIS

Por seguridad, asegurar una copia de la clave privada de la CA raiz

Obtención del certificado público de la CA raíz para la distribución: accedemos http://localhost/certsrv

Descargamos el certificado de CA

Instalación del certificado público de la CA raíz

Deben configurarse las rutas de publicación antes de emitir ningún certificado ya que la información se incluye en los certificados emitidos

Modificación de las rutas AIA y CDP (propiedades CD, pestaña Extension)

Hay que asegurarse de marcar las casillas inferiores de inclusión de certificados

Añadimos el resto de rutas

Ejemplo de ruta CDP:http://dc1.embosa.com/certenroll/<nombre de CA><Sufijo de nombre de lista CRL><Diferencias entre listas CRL permitidas>.crl

Nos qudarán las siguitentes publicaciones

Certificaciones Cruzadas

Creación de una CA subordinada e integrada en el directorio activo

Configuramos el DNS para que los sistemas puedan encontrarse por su FQDN

Instalamos el rol de AD CS en el servidor sobre el que crearemos la CA subordinada

Como el servidor está en el dominio podemos elegir “Empresa” y subordinada

Generamos el certificados para esta nueva CA

Elegimos la criptografía y el nombre para la nueva CA

Solicitamos un certificado a la CA raíz

Generamos una solicitud de certificado que luego usaremos para que sea firmado por la CA raíz

Finalizamos el asistente

Nos conectamos a http://srv-rootca/certsrv y solicitamos el certificado para la CA subordinada con solicitud avanzada

Solicitamos el certificado desde el archivo con la petición que generamos anteriormente

Se copia el contenido del fichero en el bloc de notas y lo pegamos en la pagina

Se envia la solicitud

Entonces se genera la solicitud, que queda pendiente en la CA raíz para que podamos aprobarla manualmente

Seguidamente vamos a la CA raíz y aprobamos la solicitud de certificado de la CA subordinada

Para utilizar el certificado es necesario confiar en la CA raíz

Su certificado público debe estar en todos los sistemas que vayan a utilizar los certificados de ambas CA

Se pueden distribuir mediante directivas de grupo del dominio

Una vez importado, el directorio activo se encargará de distribuirlo a todos los sistemas del dominio

Descargamos el certificado de la CA subordinada y repetimos el proceso con el certificado que dejamos sin terminar y que está pendiente

Descargamos el certificado con la opción “Descargar cadena de Certificados”

Habilitamos la CA subordinada utilizando este certificado con la opción “Instalar el certificado de CA”

Ajuste de las rutas AIA y CPD de la CA subordinada

OCSP

Instalación de un servidor OCSP (Online Certificate Status Protocol)

Los administradores de las CA pueden revocar los certificados

Se deben publicar CRL (Certificate Revocation List) con los certificados revocados Las CRL pueden ser:

WS2K8 implementa el protocolo OCSP que sirve para consultar el estado de un certificado sin necesidad de descargar las listas CRL completas

Habilitar el servicio OCSP

Habilitamos la ruta en donde se encontrará el servidor OCSP

El servicio OCSP se identifica con un certificado específico de OCSP

Localizamos en la lista de plantillas la plantilla de certificado “Firma de Respuesta de OCSP” y hacemos doble clic para acceder a sus propiedades. En la pestaña de Seguridad seleccionamos en la DACL a usuarios autentificados y le asignamos el permiso “Inscribirse”

A continuación cerramos la consola de las plantillas de certificados y desde la herramienta de administración de la CA seleccionamos la plantilla que acabamos de modificar para que el servidor pueda usarla a la hora de generar certificados

Haciendo clic con el botón derecho sobre Plantillas de certificados y usando las opciones de “Nuevo/Plantilla de certificado que se va a emitir”. En la lista seleccionamos nuestra plantilla: Firma de respuesta de OCSP

Si no está instalado, hay que instalar el servicio OCSP desde el Server Manager Arrancamos la consola de Administrador del Servicio de Respuestas en Línea y agregamos una configuración de revocación

Asignamos un nombre descriptivo del servicio

El certificado para el OCSP nos lo emitirá la CA subordinada de empresa

Examinamos los certificados desde el Directorio Activo y permitimos que OCSP automáticamente use el certificado para firmar las respuestas enviadas a los clientes

El servidor OCSP

Un único servidor OCSP puede publicar múltiples CA de la misma o de distinta PKI ya que se trata de un servicio web El servidor OCSP se puede publicar en Internet si se desea que se pueda consultar desde el exterior

Publicación en OCSP de la CA raíz

Seleccionamos el certificado desde local ya que la CA raíz o está en el DA

Seleccionamos el certificado de la CA raíz y permitimos firmar con él las respuestas a los clientes

Para nuestra CA raíz no tendremos un proveedor de listas de revocación y eso lo solucionamos introduciéndolo manualmente

Hacemos clic en aceptar y luego mediante el botón de Proveedor introducimos la ruta a la lista de revocación de nuestra CA raíz

Publicación de la CA raíz

Aunque nosotros asignamos esta ruta en nuestra CA raíz, en realidad la lista de revocación no figura en esa ruta porque nosotros debemos de proveer el mecanismo por el cual el servidor con la CA Raíz pueda escribir en esa carpeta la lista de revocación

Dado que nuestra CA se mantiene off-line, que el servidor no pertenece al dominio y que la cantidad de revocaciones que se van a hacer en este servidor van a ser mínimas lo más adecuado es copiar los archivos de forma manual Para hacerlo seguimos los siguientes pasos:

Si no hubiese contenido en el recurso compartido de la CA Raíz entonces tendremos que crear nuestra primera CRL

Desde el servidor que alberga nuestra CA Raíz arrancamos la herramienta de administración de la CA

Usando el menú contextual del contenedor Certificados Revocados publicamos nuestra primera CRL

Obviamente esta CRL estará vacía a menos que hayamos revocado algún certificado

Cada vez que generemos una nueva lista de revocación debemos copiar el contenido desde el servidor CA Raíz hacia el servidor CA Subordinado

Agente

Agente de recuperación de claves KRA (Key Recovery Agent)

Tiene la capacidad de recuperar la clave privada de un certificado desde la base de datos de la CA que lo emitió

Puede solucionar problemas de pérdida o extravío de certificados

Debe asignarse a personas de muy alta confianza

Pasos previos para su implementación:

En la herramienta de administración de la CA abriremos el editor de plantillas usando el menú contextual de la carpeta Plantillas de Certificados

En el administrador de plantillas localizamos la plantilla Agente de recuperación de claves y hacemos doble clic sobre ella para acceder a sus propiedades

En la pestaña Seguridad agregamos al grupo Agentes KRA y le asignamos el permiso de Inscribirse y el de lectura

Para que no sea necesario que un administrador autorice la emisión de estos certificados quitamos la marca que hay en la casilla Aprobación del administrador de certificados de entidad de certificación en la pestaña Requisitos de Emisión.

En entornos de alta seguridad podría ser conveniente dejar esta marca activada para que la emisión de estos certificados estuviese controlada por los administradores

A continuación tenemos que permitir la emisión de esta plantilla Para ello en el menú contextual de la carpeta de certificados elegimos nuevo – Plantilla de certificado que se va a emitir y seleccionamos la plantilla del Agente de Recuperación de Claves

Creación del certificado del KRA

A continuación debemos de solicitar el certificado de KRA para el usuario que le corresponda

Para solicitar el certificado KRA para este usuario vamos a usar la consola MMC

Desde la consola MMC accederemos al menú contextual del contenedor Personal para llegar a la opción de Solicitar un nuevo certificado

En el asistente seleccionaremos el certificado Agente de Recuperación de claves

Preparación de la CA para que almacene las claves privadas

Definición de los tipos de certificados cuya clave privada será respaldada

Se define una plantilla de usuario o varias, dependiendo del uso que se le vaya a dar a cada una de ellas y también debemos de definir en cada una de esas plantillas a cuales les queremos respaldar su clave privada

Para empezar vamos a asignarle un nombre

En este caso usaremos Usuario Corporativo (Clave Archivada)

A continuación en la pestaña Tratamiento de la Solicitud tendremos que activar la casilla: Archivar clave privada de cifrado de sujeto

Esta opción es la que permitirá archivar la clave privada del certificado

Tendremos que modificar sus permisos para que se puedan distribuir los certificados basados en esta plantilla de forma automática mediante Directivas de Grupo. Para ello asignamos al grupo Usuarios Autentificados los permisos de lectura, inscribirse e inscripción automática. También podríamos restringir estos permisos a grupos más reducidos dependiendo de como queremos asignar certificados a nuestros usuarios

A continuación solo resta publicar la plantilla en la CA mediante el menú contextual de la carpeta Plantillas de certificados

Nuestra CA de Empresa debería de tener un aspecto similar al siguiente

En este punto se puede desconcetar la CA raíz


Distribución de los certificados a los usuarios

Distribución desde el Directorio Activo

Ya tenemos lista nuestra CA para poder comenzar a distribuir certificados

Abrimos la herramienta de administración de las directivas de grupo dentro de las herramientas administrativas y creamos una GPO a nivel de dominio o al nivel de las OUs donde queremos distribuir certificados

Editamos la directiva que acabamos de crear y nos vamos a: Configuración de Usuario – directivas – Configuración de Windows – Configuración de Seguridad – Directivas de clave pública

Aquí hacemos clic sobre Cliente de Servicios de Certificate Server – Inscripción Automática

Lo habilitamos y activamos las casillas de renovaciones automáticas y actualizaciones de plantillas