Publicado el
14 de abril de 2024
Gestionar los certificados y sus claves privadas de forma eficiente es crucial para la seguridad de cualquier sistema. Los Servicios de Certificados de Active Directory (ADCS) de Windows Server ofrecen una plataforma robusta para la gestión de certificados en un entorno Windows. Sin embargo, podrían surgir situaciones en las que sea necesario exportar claves archivadas de la Autoridad de Certificación (CA) y convertirlas a un formato diferente, como pfx. Este procedimiento garantiza la gestión segura de esta información confidencial, manteniendo al mismo tiempo la integridad del sistema.
[ADCS] Exportar claves privadas archivadas desde la base de datos de la autoridad de certificación
Prerrequisitos:
Antes de comenzar a exportar y convertir claves archivadas, es fundamental asegurarse de contar con los permisos y las herramientas necesarios. Necesitará los permisos "Administrar CA" y "Emitir y administrar certificados" de la entidad de certificación. Además, deberá tener acceso a herramientas como MMC (Microsoft Management Console) para agregar y PowerShell.
Los permisos de la Autoridad de Certificación (CA) generalmente incluyen la capacidad de "Administrar CA" y "Emitir y administrar certificados", lo que otorga a los usuarios la autoridad para supervisar y controlar la emisión y administración de certificados dentro del sistema.
Para facilitar estas tareas, existen diversas herramientas, como la CLI (Interfaz de Línea de Comando) y PowerShell, que ofrecen flexibilidad y funciones de scripting para una gestión eficiente. Además, la MMC funciona como interfaz gráfica, permitiendo a los usuarios agregar componentes cruciales como Plantillas de Certificado, Autoridad de Certificación y Certificados (Usuarios), agilizando así el proceso de gestión.
Para acceder a estas herramientas y componentes a través de MMC, los usuarios pueden seguir estos pasos:
Abrir MMC
Navegar por el menú " Archivo "
Seleccione " Agregar " o "Quitar complementos".
Habilitar archivado de claves
El primer paso es habilitar el archivado de claves dentro del ADCS. Esto implica configurar las plantillas de certificado y la propia CA para archivar claves privadas. Así es como se hace:
1. Asegúrese de que el usuario actual pueda inscribirse en un certificado de Key Recovery Agent ajustando los permisos en las plantillas de certificado. Pasos:
Propiedades > Seguridad
Nota: Si la plantilla de Key Recovery Agent no está disponible en la sección Plantillas de certificado:
Plantillas de certificado > Nuevo > Plantilla de certificado a emitir > Seleccionar agente de recuperación de claves
2. Inscriba un certificado de la plantilla de Key Recovery Agent y valide la solicitud.
Certificados > Usuario actual > Personal > Todas las tareas > Solicitar nuevo certificado.
Aquí, inscríbase en la plantilla de Agente de recuperación de claves emitida anteriormente (la solicitud de certificado puede necesitar validación en las solicitudes pendientes de la CA)
3. Configure la CA para archivar claves seleccionando el certificado apropiado en la pestaña Agentes de recuperación.
Vaya a la pestaña “Propiedades” de CA (que se utilizará para el archivado de claves) > En la pestaña “Agentes de recuperación”, seleccione archivar la clave.
¿Quieres implementar estas prácticas de PKI?
Obtenga orientación experta sobre la implementación de soluciones PKI seguras para su organización.
Obtenga ayuda de expertosDebe solicitar el certificado del agente de recuperación de clave emitido anteriormente.
4. Modifique la plantilla de certificado utilizada para emitir certificados para archivar la clave privada de cifrado del sujeto.
(Colocar en la plantilla de certificado que se utilizará para emitir los certificados de los cuales se debe archivar la clave privada):
Propiedades > Pestaña Manejo de solicitudes la clave privada de cifrado del sujeto del archivo
Ahora los certificados emitidos desde esta plantilla verán sus claves privadas archivadas dentro del servidor ADCS.
5. Asegúrese de que esta plantilla de certificado esté disponible en la lista de Plantillas de certificado en el complemento de la autoridad de certificación.
Exportación de las claves privadas archivadas
Para recuperar las claves archivadas de la base de datos de CA, es posible utilizar el siguiente comando en una carpeta donde el usuario tenga permisos de escritura:
certutil -getkey {número de serie del certificado}
2. Al agregar un nombre de archivo después, se puede guardar como un archivo .bin o .pfx.
Esto recuperará un blob de recuperación de clave privada archivado, generará un script de recuperación o recuperará claves archivadas.
3. De lo contrario, es posible listar los certificados en cuestión, exportarlos a una lista y luego recuperar las claves privadas para luego convertirlos.
certutil -view -restrict "KeyRecoveryHashes>0" -out Número de serie csv
También se pueden incluir los siguientes atributos:
Solicitud : describe el identificador único del certificado en la base de datos de CA.
Nombre del solicitante: describe al solicitante del certificado.
Número de serie: describe el número de serie único del certificado.
No antes de: describe el inicio de la validez del certificado.
No después: describe el final de la validez del certificado.
Hashes de Recuperación de Claves: describe con qué certificados de Key Recovery Agent se archivó la clave privada. Si la clave se archiva con varios certificados KRA, se separan con un signo "+". Para la recuperación, debe estar presente la clave privada de uno de los certificados KRA.
Por ejemplo:
certutil -view -restrict "KeyRecoveryHashes>0" -out Id. de solicitud, nombre del solicitante, número de serie, no antes, no después, KeyRecoveryHashes csv
Las salidas mencionadas anteriormente se pueden guardar en un archivo agregando “> Pathname\filename.txt”
4. Para exportar las claves individuales, ejecute el siguiente comando:
Import-Csv -Path nombre_archivo.txt | ParaCada-Objeto -Proceso { certutil -getkey $_."Número de serie" "$($_."Número de serie").bin" }
Notas:
Este comando generará un archivo bin por clave.
El argumento -getkey especifica que la clave debe exportarse desde la base de datos de la autoridad de certificación a un archivo.
Estas claves aún están cifradas, para descifrarlas hay que convertirlas al formato pfx (PKCS#12).
Conversión de las claves al formato .pfx
Para continuar correctamente, asegúrese de que todos los certificados del Agente de Recuperación de Claves (KRA), junto con sus claves privadas, estén instalados o sean accesibles. De lo contrario, importe los certificados KRA que falten para evitar este error:
Error de descifrado: no se encontraron el certificado y la clave privada necesarios para el descifrado.
Para tener en cuenta: en el siguiente ejemplo, se utiliza la misma contraseña para todas las claves exportadas, por lo que la seguridad de todas las claves está ligada al conocimiento de esta única contraseña.
Por lo tanto, este enfoque no se recomienda en la práctica. Se recomienda utilizar contraseñas seguras, generadas aleatoriamente y, sobre todo, contraseñas únicas para cada clave, lo que podría lograrse con una lógica de programa correspondientemente más compleja.
Para convertir las claves exportadas al formato .pfx (PKCS#12), ejecute el siguiente comando y especifique la contraseña deseada:
Import-Csv -Path keyscsv.txt | ForEach-Object -Process { certutil -p "P@$$w0rd" -recoverkey "$($_."Número de serie").bin" "$($_."Número de serie").pfx"}
Nota: Si no se especifica la etiqueta -p, se le solicitará al usuario una contraseña a través de la CLI.
Conclusión
Exportar y convertir claves archivadas desde un ADCS de Windows Server es un proceso crucial en la gestión de certificados. Siguiendo los pasos descritos anteriormente, puede garantizar que su información confidencial permanezca segura y accesible para las operaciones necesarias. Es fundamental seguir las mejores prácticas, como usar contraseñas seguras y únicas, y mantener los permisos adecuados, para proteger su sistema contra posibles amenazas de seguridad. Las herramientas de EVERTRUST representan una alternativa robusta a Microsoft ADCS, ofreciendo una utilidad significativa en ambos casos.
Ya sea que busque mejorar la seguridad, optimizar procesos o modernizar la gestión del ciclo de vida de sus certificados, EVERTRUST ofrece soluciones poderosas para satisfacer sus necesidades: no solo puede optimizar la eficiencia operativa, sino también fortalecer su infraestructura digital contra amenazas emergentes, lo que garantiza un enfoque resiliente y ágil para la gestión de certificados en el panorama actual en rápida evolución.