Introduzione
In questo documento viene descritto come configurare la ZTNA per la registrazione automatica basata su certificati.
Prerequisiti
- Secure Client versione minima 5.1.9.x
- TPM (Trusted Platform Module) per Windows
- Coprocessore Secure Enclave per dispositivi Apple
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- Windows 11 con TPM versione 2.0
- Secure Client versione 5.1.10.17 con ZTNA e modulo DUO abilitati.
- Microsoft Active Directory 2022
- Strumento Openssl per la generazione di certificati
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.
Abilitazione della registrazione automatica nel dashboard di accesso sicuro
Il primo passaggio per l'attivazione di questa funzionalità consiste nell'attivazione della funzionalità di registrazione automatica di accesso sicuro, che include:
1. Passare a Dashboard -> Connessione -> Connettività utente finale -> Attendibilità zero
2. Fare clic sull'opzione Gestisci.

3. Abilitare Usa certificati.
4. Caricare il certificato CA scaricandolo dall'autorità di certificazione locale.
5. Scaricare la configurazione di registrazione e inserirla nelle directory in base al sistema operativo.
-Windows: C:\ProgramData\Cisco\Cisco Secure Client\ZTA\enrollment_options
- macOS: /opt/cisco/secureclient/zta/enrollment_choices
6. Assicurarsi di salvare le impostazioni una volta completate.

Installazione e modello di certificato
Per l'accesso sicuro sono necessari i seguenti campi obbligatori dei certificati:
- Nome alternativo soggetto (SAN) per includere l'indirizzo e-mail di reclamo RFC-822 dell'utente o il nome UPN (User Principle Name)
Esempio:
Opzione 1: E-mail conforme a RFC 822
email.1 = username@domain.local
Opzione 2: (alternativa): UPN (specifico per Microsoft)
AltroNome:1.3.6.1.4.1.311.20.2.3;UTF8:username@domain.local
In questo esempio viene utilizzato il modello di certificato utente in Microsoft AD per generare il certificato.
Passaggio 1: Passare a Microsoft AD e aprire Gestione certificati
Passaggio 2: Aprire Esegui e accedere a Microsoft Management Console (mmc)

Passaggio 3: Fare clic su File, quindi aggiungere/rimuovere lo snap-in
Passaggio 4: Aggiungi modelli di certificato
Passaggio 5: Certificato utente duplicato

Passaggio 6: Configurare le impostazioni come descritto
1. Nome nuovo modello: ztna-client-enroll nella scheda (Generale).
2. Selezionare (Fornisci nella richiesta) nella scheda (Nome soggetto).
Nota: In questo modo vengono accettate le opzioni fornite dal modello openssl, ad esempio il nome alternativo del servizio (SAN)
Passaggio 7: Fare clic su OK per salvare il nuovo modello
Passaggio 8: Aggiungere il nuovo modello all'elenco dei modelli di Active Directory eseguendo le operazioni seguenti:
1. Eseguire certsrv.msc
2. fare clic con il pulsante destro del mouse su Modelli di certificato e selezionare Nuovo -> modello di certificato da rilasciare
3. Selezionare il modello appena creato (ztna-client-enroll)

Creazione di un certificato mediante Openssl
Passaggio 1: Creazione di un file san.cnf con il contenuto
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext
[ dn ]
C = US
ST = Texas
L = Austin
O = exampleusername
OU = IT
CN = exampleusername
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
# Option 1: RFC822-compliant email
email.1 = user@domain.local
# Option 2 (alternative): UPN (Microsoft-specific)
#otherName:1.3.6.1.4.1.311.20.2.3;UTF8:user@domain.local
Passaggio 2: creare un certificato utilizzando il modello
openssl genrsa -out user.key 2048
openssl req -new -key user.key -out user.csr
openssl req -new -key user.key -out user.csr -config san.cnf
Firma certificato utente con modello CA ZTNA
Passaggio 1: Copiare il contenuto del file user.csr
Passaggio 2: passare all'autorità di firma di Active Directory locale (https:http://<indirizzo-ip>/certsrv/)
Passaggio 3: Fare clic su Request a Certificate -> Advanced Certificate Request -> select ztna-client-enroll template (Richiedi un certificato -> Richiesta avanzata certificati -> selezionare ztna-client-enroll template)

Passaggio 4: Scaricare il certificato in formato Base64 e installarlo nel certificato dell'archivio personale attendibile dell'utente.
Passaggio 5: Conferma l'esistenza delle informazioni corrette nel certificato

Passaggio 6: Riavviare il modulo ZTNA per avviare la registrazione
Verifica
Per verificare che la configurazione funzioni correttamente, consultare questa sezione.
Passaggio 1: Messaggio del modulo ZTNA durante la configurazione del file di scelte di registrazione:

Passaggio 2: Dopo aver riavviato il modulo ZTNA per la prima volta, è possibile vedere che si è registrati automaticamente in ZTNA

Passaggio 3: Verifica dell'utente corretto che viene visualizzato nella ricerca di attività in base alle informazioni sulla SAN

Passaggio 4: Conferma l'esistenza delle informazioni corrette nel certificato

Risoluzione dei problemi
In questa sezione vengono fornite informazioni utili per risolvere i problemi di configurazione.
Passaggio 1: Verificare che le informazioni corrette siano presenti nel certificato e che siano installate nell'archivio certificati corretto.

Passaggio 2: Confermare che la registrazione non ha esito negativo sui requisiti dei certificati utilizzando DART
Passaggio 3: Verificare che sia possibile risolvere correttamente l'interfaccia esterna FTD se UZTNA è in uso.
errore comune:
2025-06-16 05:44:45.609237 csc_zta_agent[0x00001638, 0x00000e58] T/ NetworkTransportStateTracker.cpp:110 NetworkTransportStateTracker::transitionState() transitoned state: Initialized->Connecting
2025-06-16 05:44:45.609237 csc_zta_agent[0x00001638, 0x00000e58] T/ AppSocketTransport.cpp:231 AppSocketTransport::OnNextTransportStateChange() tcp:51470__20.20.20.150 05411A30 stream=189 nextTransportState: Connecting
2025-06-16 05:44:45.609237 csc_zta_agent[0x00001638, 0x00000e58] T/ NetworkTransportStateTracker.cpp:110 NetworkTransportStateTracker::transitionState() transitoned state: Initialized->Connecting
2025-06-16 05:44:45.609237 csc_zta_agent[0x00001638, 0x00000e58] I/ TcpTransport.cpp:114 TcpTransport::ConnectTransport() headendInfo=TCP destination [ftd.marvel.local]:443
2025-06-16 05:44:45.609237 csc_zta_agent[0x00001638, 0x00000e58] T/ NetworkTransportStateTracker.cpp:110 NetworkTransportStateTracker::transitionState() transitoned state: Initialized->Connecting
2025-06-16 05:44:45.610238 csc_zta_agent[0x00001638, 0x00000e58] T/ TcpTransport.cpp:150 TcpTransport::ConnectTransport() resolving dns for ftd.marvel.local
2025-06-16 05:44:45.610238 csc_zta_agent[0x00001638, 0x00000e58] E/ TcpTransport.cpp:166 TcpTransport::handleDnsResolveComplete() dns resolve error No such host is known
Informazioni correlate