Introduzione
In questo documento viene descritto come configurare l'autenticazione EAP-TLS con OCSP per i controlli in tempo reale delle revoche di certificati dei client.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Configurazione di Cisco Identity Services Engine
- Configurazione di Cisco Catalyst
- Protocollo di stato del certificato in linea
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- Patch 6 Identity Services Engine Virtual 3.2
- C1000-48FP-4G-L 15.2(7)E9
- Windows Server 2016
- Windows 10
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.
Esempio di rete
Nell'immagine è illustrata la topologia utilizzata per l'esempio del documento.
Esempio di rete
Premesse
In EAP-TLS, un client presenta il proprio certificato digitale al server come parte del processo di autenticazione. In questo documento viene descritto come ISE convalida il certificato client verificando il nome comune del certificato (CN) sul server AD e confermando se il certificato è stato revocato utilizzando OCSP (Online Certificate Status Protocol), che fornisce lo stato del protocollo in tempo reale.
Il nome di dominio configurato in Windows Server 2016 è ad.rem-xxx.com, utilizzato come esempio in questo documento.
Per la convalida del certificato vengono utilizzati i server OCSP (Online Certificate Status Protocol) e AD (Active Directory) a cui si fa riferimento in questo documento.
Catena di certificati con il nome comune di ogni certificato utilizzato nel documento.
- CA: nome-comune-ocsp-ca
- Certificato client: clientcertCN
- Certificato server: ise32-01.ad.rem-xxx.com
- Certificato di firma OCSP: ocspSignCommonName
Configurazioni
Configurazione in C1000
Questa è la configurazione minima nella CLI di C1000.
aaa new-model
radius server ISE32
address ipv4 1.x.x.181
key cisco123
aaa group server radius AAASERVER
server name ISE32
aaa authentication dot1x default group AAASERVER
aaa authorization network default group AAASERVER
aaa accounting dot1x default start-stop group AAASERVER
dot1x system-auth-control
interface Vlan12
ip address 192.168.10.254 255.255.255.0
interface Vlan14
ip address 1.x.x.101 255.0.0.0
interface GigabitEthernet1/0/1
Switch port access vlan 14
Switch port mode access
interface GigabitEthernet1/0/3
switchport access vlan 12
switchport mode access
authentication host-mode multi-auth
authentication port-control auto
dot1x pae authenticator
spanning-tree portfast edge
Configurazione in un PC Windows
Passaggio 1. Configura autenticazione utente
Passare a Autenticazione, selezionare Abilita autenticazione IEEE 802.1X e selezionare Microsoft: Smart Card o altro certificato.
Fare clic su ImpostazioniPulsante, selezionare Utilizza un certificato in questo computer, quindi selezionare l'autorità di certificazione attendibile del PC Windows.
Abilita autenticazione certificato
Passare a Autenticazione, selezionare Impostazioni aggiuntive. Selezionare Autenticazione utente o computer dall'elenco a discesa.
Specifica modalità di autenticazione
Passaggio 2. Conferma certificato client
Passare a Certificati - Utente corrente > Personale > Certificati e verificare il certificato client utilizzato per l'autenticazione.
Conferma certificato client
Fare doppio clic sul certificato client, passare a Dettagli, controllare i dettagli di Oggetto, Punti di distribuzione CRL, Accesso alle informazioni dell'autorità.
Dettagli del certificato client
Configurazione in Windows Server
Passaggio 1. Aggiungi utenti
Passare a Utenti e computer di Active Directory, quindi fare clic su Utenti. Aggiungere clientcertCN come nome di accesso utente.
Nome di accesso utente
Passaggio 2. Conferma servizio OCSP
Passare a Windows e fare clic su Gestione risponditore in linea. Confermare lo stato del server OCSP.
Stato del server OCSP
Fare clic su winserver.ad.rem-xxx.com, verificare lo stato del certificato di firma OCSP.
Stato del certificato di firma OCSP
Configurazione in ISE
Passaggio 1. Aggiungi dispositivo
Selezionare Amministrazione > Dispositivi di rete, quindi fare clic su Aggiungi per aggiungere un dispositivo C1000.
Aggiungi dispositivo
Passaggio 2. Aggiungi Active Directory
Selezionare Amministrazione > Origini identità esterne > Active Directory, fare clic sulla scheda Connessione, quindi aggiungere Active Directory ad ISE.
- Nome punto di join: AD_Join_Point
- Dominio Active Directory: ad.rem-xxx.com
Aggiungi Active Directory
Passare alla scheda Gruppi, selezionare Seleziona gruppi dalla directory dall'elenco a discesa.
Seleziona gruppi dalla directory
Selezionate Recupera gruppi (Retrieve Groups) dall'elenco a discesa. Checkad.rem-xxx.com/Users/Cert Publisher e fare clic su OK.
Controlla autori certificati
Passaggio 3. Aggiungi profilo di autenticazione certificato
Passare a Amministrazione > Origini identità esterne > Profilo di autenticazione certificato, fare clic sul pulsante Aggiungi per aggiungere un nuovo profilo di autenticazione certificato.
- Nome: cert_auto_profile_test
- Archivio identità: AD_Join_Point
- Usa identità da attributo certificato: Oggetto - Nome comune.
- Confronta certificato client con certificato nell'archivio identità: solo per risolvere l'ambiguità dell'identità.
Aggiungi profilo di autenticazione certificato
Passaggio 4. Aggiungi sequenza di origine identità
Passare ad Amministrazione > Sequenze origine identità, quindi aggiungere una sequenza origine identità.
- Nome: Identity_AD
- Selezionare Certificate Authentication Profile: cert_authen_profile_test
- Elenco di ricerca autenticazione: AD_Join_Point
Aggiungi sequenze origine identità
Passaggio 5. Conferma certificato in ISE
Passare a Amministrazione > Certificati > Certificati di sistema, quindi verificare che il certificato del server sia firmato dalla CA attendibile.
Certificato server
Passare a Amministrazione > Certificati > Profilo client OCSP, quindi fare clic su Pulsante Aggiungi per aggiungere un nuovo profilo client OCSP.
Profilo client OCSP
Selezionare Amministrazione > Certificati > Certificati attendibili, quindi confermare che l'autorità di certificazione attendibile sia stata importata in ISE.
CA attendibile
Controllare la CA e fare clic sul pulsante Modifica, immettere i dettagli della configurazione OCSP per la convalida dello stato del certificato.
- Convalida rispetto al servizio OCSP: ocsp_test_profile
- Rifiuta la richiesta se OCSP restituisce lo stato UNKNOWN: check
- Rifiuta la richiesta se il risponditore OCSP non è raggiungibile: selezionare
Convalida stato certificato
Passaggio 6. Aggiungi protocolli consentiti
Passare a Criterio > Risultati > Autenticazione > Protocolli consentiti, modificare l'elenco dei servizi di accesso alla rete predefiniti e quindi selezionare Consenti EAP-TLS.
Consenti EAP-TLS
Passaggio 7. Aggiungi set di criteri
Passare a Criterio > Set di criteri, fare clic su + per aggiungere un set di criteri.
- Nome set di criteri: EAP-TLS-Test
- Condizioni: il protocollo di accesso alla rete è RADIUS
- Protocolli consentiti/sequenza server: accesso alla rete predefinito
Aggiungi set di criteri
Passaggio 8. Aggiungi criterio di autenticazione
Passare a Set di criteri, quindi fare clic su EAP-TLS-Test per aggiungere un criterio di autenticazione.
- Nome regola: autenticazione EAP-TLS
- Condizioni: Autenticazione Eap di accesso alla rete UGUALE A EAP-TLS E Wired_802.1 X
- Uso: Identity_AD
Aggiungi criterio di autenticazione
Passaggio 9. Aggiungi criterio di autorizzazione
Passare a Set di criteri e fare clic su EAP-TLS-Test per aggiungere un criterio di autorizzazione.
- Nome regola: EAP-TLS-Authorization
- Condizioni: Soggetto CERTIFICATO - Nome comune EQUALS clientcertCN
- Risultati: PermitAccess
Aggiungi criterio di autorizzazione
Verifica
Passaggio 1. Conferma sessione di autenticazione
Eseguireshow authentication sessions interface GigabitEthernet1/0/3 details il comando per confermare la sessione di autenticazione in C1000.
Switch#show authentication sessions interface GigabitEthernet1/0/3 details
Interface: GigabitEthernet1/0/3
MAC Address: b496.9114.398c
IPv6 Address: Unknown
IPv4 Address: 192.168.10.10
User-Name: clientcertCN
Status: Authorized
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Session timeout: N/A
Restart timeout: N/A
Periodic Acct timeout: N/A
Session Uptime: 111s
Common Session ID: 01C20065000000933E4E87D9
Acct Session ID: 0x00000078
Handle: 0xB6000043
Current Policy: POLICY_Gi1/0/3
Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Server Policies:
Method status list:
Method State
dot1x Authc Success
Passaggio 2. Conferma registro dinamico Radius
Selezionare Operations > RADIUS > Live Login nella GUI di ISE, quindi confermare il log attivo per l'autenticazione.
Registro Radius Live
Confermare il log dettagliato dell'autenticazione in tempo reale.
Dettagli di autenticazione
Risoluzione dei problemi
1. Registro di debug
Questo log di debug (prrt-server.log) permette di verificare i dettagli sul comportamento dell'autenticazione in ISE.
// OCSP request and response
Crypto,2024-06-05 09:43:33,064,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, CryptoLib.CSSL.OCSP Callback - starting OCSP request to primary,SSL.cpp:1444
Crypto,2024-06-05 09:43:33,064,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Start processing OCSP request, URL=http://winserver.ad.rem-xxx.com/ocsp, use nonce=1,OcspClient.cpp:144
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Received OCSP server response,OcspClient.cpp:411
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Nonce verification passed,OcspClient.cpp:426
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - OCSP responser name 8CD12ECAB78607FA07194126EDA82BA7789CE00C,OcspClient.cpp:462
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Verify response signature and KU/EKU attributes of response signer certificate,OcspClient.cpp:472
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Response signature verification passed,OcspClient.cpp:482
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Response contains 1 single responses for certificates,OcspClient.cpp:490
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - User certificate status: Good,OcspClient.cpp:598
Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, CryptoLib.CSSL.OCSP Callback - perform OCSP request succeeded, status: Good,SSL.cpp:1684
// Radius session
Radius,2024-06-05 09:43:33,120,DEBUG,0x7f982d7b9700,cntx=0000017387,sesn=ise32-01/506864164/73,CPMSessionID=01C20065000000933E4E87D9,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=1(AccessRequest) Identifier=238 Length=324
[1] User-Name - value: [clientcertCN]
[4] NAS-IP-Address - value: [1.x.x.101]
[5] NAS-Port - value: [50103]
[24] State - value: [37CPMSessionID=01C20065000000933E4E87D9;31SessionID=ise32-01/506864164/73;]
[87] NAS-Port-Id - value: [GigabitEthernet1/0/3]
Radius,2024-06-05 09:43:33,270,DEBUG,0x7f982d9ba700,cntx=0000017387,sesn=ise32-01/506864164/73,CPMSessionID=01C20065000000933E4E87D9,user=clientcertCN,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=2(AccessAccept) Identifier=238 Length=294
[1] User-Name - value: [clientcertCN]
Radius,2024-06-05 09:43:33,342,DEBUG,0x7f982d1b6700,cntx=0000017401,sesn=ise32-01/506864164/74,CPMSessionID=01C20065000000933E4E87D9,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=4(AccountingRequest) Identifier=10 Length=286
[1] User-Name - value: [clientcertCN]
[4] NAS-IP-Address - value: [1.x.x.101]
[5] NAS-Port - value: [50103]
[40] Acct-Status-Type - value: [Interim-Update]
[87] NAS-Port-Id - value: [GigabitEthernet1/0/3]
[26] cisco-av-pair - value: [audit-session-id=01C20065000000933E4E87D9]
[26] cisco-av-pair - value: [method=dot1x] ,RADIUSHandler.cpp:2455
Radius,2024-06-05 09:43:33,350,DEBUG,0x7f982e1be700,cntx=0000017401,sesn=ise32-01/506864164/74,CPMSessionID=01C20065000000933E4E87D9,user=clientcertCN,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=5(AccountingResponse) Identifier=10 Length=20,RADIUSHandler.cpp:2455
2. Dump TCP
Nel dump TCP ad ISE, ci si aspetta di trovare informazioni sulla risposta OCSP e sulla sessione Radius.
Richiesta e risposta OCSP:
Acquisizione pacchetti di richiesta e risposta OCSP
Acquisisci dettagli risposta OCSP
Sessione Radius:
Acquisizione pacchetto sessione Radius
Informazioni correlate
Configurazione dell'autenticazione EAP-TLS con ISE
Configurazione dei certificati TLS/SSL in ISE