Introduzione
In questo documento viene descritto come risolvere i problemi relativi all'errore di importazione CA (Certification Authority) nei dispositivi Firepower Threat Defense gestiti da FMC.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- PKI (Public Key Infrastructure)
- Firepower Management Center (FMC)
- Firepower Threat Defense (FTD)
- OpenSSL
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software:
- Mac OS x 10.14.6
- CCP 6.4
- OpenSSL
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Nota: nei dispositivi gestiti con FTD, il certificato CA è necessario prima della generazione della richiesta di firma del certificato (CSR).
- Se il CSR viene generato in un server esterno (ad esempio Windows Server o OpenSSL), il metodo di registrazione manuale potrebbe non riuscire, in quanto FTD non supporta la registrazione manuale delle chiavi. Utilizzare un metodo diverso, ad esempio PKCS12.
Problema
In questo particolare scenario, il FMC visualizza una croce rossa nello stato del certificato CA (come mostrato nell'immagine), che indica che la registrazione del certificato non è riuscita a installare il certificato CA con il messaggio "Impossibile configurare il certificato CA". Questo errore si verifica in genere quando il certificato non è stato inserito correttamente nel pacchetto o il file PKCS12 non contiene il certificato dell'autorità di certificazione corretto, come mostrato nell'immagine.
Nota: nelle versioni più recenti di FMC, il problema è stato risolto in modo da corrispondere al comportamento ASA che crea un trust point aggiuntivo con la CA radice inclusa nella catena di trust del certificato con estensione pfx.
Soluzione
Passaggio 1. Individuare il certificato con estensione pfx
Ottenere il certificato pfx registrato nell'interfaccia utente grafica di FMC, salvarlo e individuare il file nel terminale Mac (CLI).
sl
Passaggio 2. Estrarre i certificati e la chiave dal file con estensione pfx
Estrarre il certificato client (non i certificati CA) dal file pfx (è necessaria la passphrase utilizzata per generare il file con estensione pfx).
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem
esportazione identità
Estrarre i certificati CA (non i certificati client).
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem
esportazione cacerts
Estrarre la chiave privata dal file pfx (è necessaria la stessa passphrase del passaggio 2).
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
esportazione chiave
A questo punto esistono quattro file: cert.pfx (il bundle pfx originale), certs.pem (i certificati CA), id.pem (certificato client) e key.pem (la chiave privata).
ls dopo l'esportazione
Passaggio 3. Verificare i certificati in un editor di testo
Verificare i certificati utilizzando un editor di testo, ad esempio nano certs.pem.
Per questo particolare scenario, certs.pem conteneva solo la CA secondaria (CA emittente).
A partire dal passaggio 5, in questo articolo viene illustrata la procedura per lo scenario in cui il file certs.pem contiene 2 certificati (una CA radice e una CA secondaria).
visualizzazione certificati
Passaggio 4. Verificare la chiave privata in un Blocco note
Verificare il contenuto del file key.pem utilizzando un editor di testo (ad esempio: nano certs.pem).
Passaggio 5. Dividere i certificati CA
Nel caso in cui il file certs.pem disponga di 2 certificati (1 CA radice e 1 CA secondaria), la CA radice deve essere rimossa dalla catena di certificati per poter importare il certificato in formato pfx nel FMC, lasciando solo la CA secondaria nella catena ai fini della convalida.
Dividendo il file certs.pem in più file, il comando successivo rinomina i certificati come cacert-XX.
split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-
splitter dopo la divisione
Aggiungere l'estensione .pem a questi nuovi file con il comando descritto di seguito.
for i in cacert-*;do mv "$i" "$i.pem";done
rinomina script
Esaminare i due nuovi file e determinare quale contiene la CA radice e quale contiene la CA secondaria con i comandi descritti.
Individuare innanzitutto l'autorità emittente del file id.pem, ovvero il certificato di identità.
openssl x509 -in id.pem -issuer -noout
visualizzazione emittente
Trovare ora l'oggetto dei due file cacert- (certificati CA).
openssl x509 -in cacert-aa.pem -subject -noout
openssl x509 -in cacert-ab.pem -subject -noout
controllo soggetto
Il file cacert che corrisponde all'oggetto con l'autorità emittente del file id.pem (come mostrato nelle immagini precedenti), è la CA secondaria utilizzata successivamente per creare il certificato PFX.
Eliminare il file cacert senza oggetto corrispondente. In questo caso, il certificato era cacert-aa.pem.
rm -f cacert-aa.pem
Passaggio 6. Unire i certificati in un file PKCS12
Unire il certificato della CA secondaria (in questo caso, il nome era cacert-ab.pem) con il certificato ID (id.pem) e la chiave privata (key.pem) in un nuovo file PFX. È necessario proteggere il file con una passphrase. Se necessario, modificare il nome del file cacert-ab.pem in modo che corrisponda al file.
openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx
creazione pfx
Passaggio 7. Importare il file PKCS12 nel FMC
Nel FMC, selezionare Periferica > Certificati e importare il certificato nel firewall desiderato, come mostrato nell'immagine.
registrazione certificato
Inserire un nome per il nuovo certificato.
Iscrizione
Aggiungere il nuovo certificato e attendere che il processo di registrazione distribuisca il nuovo certificato nell'FTD.
nuovo certificato
Il nuovo certificato deve essere visibile senza una croce rossa nel campo CA.
Verifica
Per verificare che la configurazione funzioni correttamente, consultare questa sezione.
In Windows, è possibile riscontrare un problema in cui il sistema operativo visualizza l'intera catena per il certificato anche se il file .pfx contiene solo il certificato ID, nel caso in cui abbia la catena SubCA, CA nel suo archivio.
Per controllare l'elenco dei certificati in un file PFX, è possibile utilizzare strumenti quali certutil o openssl.
certutil -dump cert.pfx
Il certutil è un'utilità della riga di comando che fornisce l'elenco dei certificati in un file con estensione pfx. È necessario visualizzare l'intera catena con ID, SubCA, CA incluso (se presente).
In alternativa, è possibile utilizzare un comando openssl, come mostrato nel comando seguente.
openssl pkcs12 -info -in cert.pfx
Per verificare lo stato del certificato insieme alle informazioni sull'ID e sulla CA, è possibile selezionare le icone e confermare l'importazione: