Introducción
Este documento describe cómo resolver problemas y corregir el error de importación de la autoridad certificadora (CA) en los dispositivos Firepower Threat Defence administrados por FMC.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Public Key Infrastructure (PKI)
- Centro de administración Firepower (FMC)
- Firepower Threat Defense (FTD)
- OpenSSL
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- MacOS x 10.14.6
- CSP 6.4
- OpenSSL
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Antecedentes
Nota: en los dispositivos gestionados mediante FTD, se requiere el certificado de CA antes de generar la solicitud de firma de certificado (CSR).
- Si el CSR se genera en un servidor externo (como Windows Server u OpenSSL), el método de inscripción manual tiene la intención de fallar, ya que FTD no admite la inscripción manual de claves. Se debe utilizar un método diferente, como PKCS12.
Problema
En este escenario en particular, el FMC muestra una cruz roja en el estado del certificado de la CA (como se muestra en la imagen), que indica que la inscripción del certificado no pudo instalar el certificado de la CA con el mensaje: "Fail to configure CA certificate" (Error al configurar el certificado de la CA). Este error se observa comúnmente cuando el certificado no se ha empaquetado correctamente o el archivo PKCS12 no contiene el certificado de emisor correcto como se muestra en la imagen.
Nota: en las versiones más recientes de FMC, este problema se ha solucionado para que coincida con el comportamiento de ASA que crea un punto de confianza adicional con la CA raíz incluida en la cadena de confianza del certificado .pfx.
Solución
Paso 1. Localice el certificado .pfx
Obtenga el certificado pfx que estaba inscrito en la GUI de FMC, guárdelo y localice el archivo en la Terminal Mac (CLI).
ls
Paso 2. Extraiga los certificados y la clave del archivo .pfx
Extraiga el certificado de cliente (no los certificados de CA) del archivo pfx (se requiere la frase de contraseña que se utilizó para generar el archivo .pfx).
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem
exportación de identidad
Extraiga los certificados de CA (no los certificados de cliente).
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem
exportación de cacerts
Extraiga la clave privada del archivo pfx (se requiere la misma frase de contraseña del paso 2).
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
exportación de claves
Ahora existen cuatro archivos: cert.pfx (el paquete pfx original), certs.pem (los certificados de CA), id.pem (certificado de cliente) y key.pem (la clave privada).
ls después de exportar
Paso 3. Verificar los certificados en un editor de texto
Verifique los certificados con el uso de un editor de texto (por ejemplo: nano certs.pem).
Para este escenario en particular, certs.pem sólo contenía la CA secundaria (CA emisora).
Comenzando en el paso 5, este artículo trata el procedimiento para el escenario donde el archivo certs.pem contiene 2 certificados (una CA raíz y una CA secundaria).
vista de certificados
Paso 4. Comprobar la clave privada en un Bloc de notas
Verifique el contenido del archivo key.pem con el uso de un editor de texto (por ejemplo: nano certs.pem).
Paso 5. Dividir los certificados de CA
En el caso de que el archivo certs.pem tenga 2 certificados (1 CA raíz y 1 CA secundaria), la CA raíz debe eliminarse de la cadena de confianza para poder importar el certificado con formato pfx en el FMC, dejando solo la CA secundaria en la cadena para fines de validación.
Divida el certs.pem en varios archivos, el siguiente comando renombra los certs como cacert-XX.
split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-
splitls después de split
Agregue la extensión .pem a estos nuevos archivos con el comando que se describe a continuación.
for i in cacert-*;do mv "$i" "$i.pem";done
cambiar nombre de script
Revise los dos archivos nuevos y determine cuál contiene la CA raíz y cuál contiene la CA secundaria con los comandos descritos.
Primero, busque el emisor del archivo id.pem (que es el certificado de identidad).
openssl x509 -in id.pem -issuer -noout
vista del emisor
Ahora, busque el asunto de los dos archivos cacert- (certificados de CA).
openssl x509 -in cacert-aa.pem -subject -noout
openssl x509 -in cacert-ab.pem -subject -noout
comprobación del asunto
El archivo cacert que coincide con el Asunto con el Emisor del archivo id.pem (como se muestra en las imágenes anteriores) es la CA secundaria que se utiliza más adelante para crear el certificado PFX.
Elimine el archivo cacert que no tenga el Asunto coincidente. En este caso, ese certificado era cacert-aa.pem.
rm -f cacert-aa.pem
Paso 6. Fusionar los certificados en un archivo PKCS12
Combine el certificado de la CA secundaria (en este caso, el nombre era cacert-ab.pem) junto con el certificado de ID (id.pem) y la clave privada (key.pem) en un nuevo archivo pfx. Debe proteger este archivo con una frase de contraseña. Si es necesario, cambie el nombre del archivo cacert-ab.pem para que coincida con el suyo.
openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx
pfx-creation
Paso 7. Importe el archivo PKCS12 en el FMC
En el FMC, navegue hasta Device > Certificates e importe el certificado al firewall deseado como se muestra en la imagen.
inscripción de certificados
Inserte un nombre para el nuevo certificado.
Inscripción
Agregue el nuevo certificado y espere al proceso de inscripción para implementar el nuevo certificado en el FTD.
de nueva certificación
El nuevo certificado debe estar visible sin una cruz roja en el campo CA.
Verificación
Use esta sección para confirmar que su configuración funciona correctamente.
En Windows, puede encontrar un problema en el que el sistema operativo muestre la cadena completa del certificado, aunque el archivo .pfx sólo contenga el certificado de ID, en el caso de que tenga la cadena subCA, CA en su almacén.
Para verificar la lista de certificados en un archivo .pfx, se pueden utilizar herramientas como certutil o openssl.
certutil -dump cert.pfx
El certutil es una utilidad de línea de comandos que proporciona la lista de certificados de un archivo .pfx. Debe ver toda la cadena con ID, SubCA, CA incluido (si lo hubiera).
Alternativamente, puede utilizar un comando openssl, como se muestra en el siguiente comando.
openssl pkcs12 -info -in cert.pfx
Para verificar el estado del certificado junto con la información de CA e ID, puede seleccionar los iconos y confirmar que se importó correctamente: