Introduzione
In questo documento viene descritta la configurazione e la risoluzione dei problemi di RADIUS su DTLS (Datagram Transport Layer Security Protocol). DTLS fornisce servizi di crittografia per RADIUS, che viene trasportato su un tunnel sicuro.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Cisco Identity Services Engine (ISE)
- protocollo RADIUS
- Cisco IOS
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- Cisco Identity Services Engine 2.2
- Catalyst 3650 con IOS 16.6.1
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.
Configurazione
Configurazioni
1. Aggiungere un dispositivo di rete ad ISE e abilitare il protocollo DTLS.
Selezionare Amministrazione > Risorse di rete > Dispositivi di rete. Fare clic su Add (Aggiungi) e fornire almeno i campi obbligatori:
- Name - Viene aggiunto un nome descrittivo del dispositivo.
- Indirizzo IP - Indirizzo IP utilizzato dall'autenticatore per contattare ISE. È possibile configurare una serie di dispositivi. A tal fine, specificare la maschera corretta (inferiore a 32).
- Profilo dispositivo - Impostazioni generali per il dispositivo. Consente di specificare i protocolli da gestire, le impostazioni CoA (Change of Authorization) dettagliate e la configurazione degli attributi Radius. Per ulteriori informazioni, selezionare Amministrazione > Risorse di rete > Profili dispositivi di rete.
- Gruppo di dispositivi di rete - Impostare il tipo di dispositivo, IPSec le funzionalità e il percorso del dispositivo. Questa impostazione non è obbligatoria. Se non si selezionano valori personalizzati, vengono utilizzate le impostazioni predefinite.
Selezionare la casella di controllo RADIUS Authentication Settings e in RADIUS DTLS Settings selezionare la casella di controllo DTLS Required. Ciò consente la comunicazione RADIUS con l'autenticatore solo tramite il tunnel protetto DTLS. Si noti che la casella di testo Segreto condiviso è disattivata. Questo valore in caso di DTLS RADIUS è fisso e la stessa stringa è configurata sul lato autenticatore.
2. Configurare la porta DTLS e il timeout di inattività.
È possibile configurare la porta utilizzata per la comunicazione DTLS e il timeout di inattività in Amministrazione > Sistema > Impostazioni > Protocolli > RADIUS > DTLS RADIUS.
Si noti che la porta DTLS è diversa dalle porte RADIUS. Per default, un raggio utilizza le coppie 1645, 1646 e 1812, 1813. Per impostazione predefinita, DTLS per autenticazione, autorizzazione, accounting e CoA utilizza la porta 2083. Idle Timeout specifica per quanto tempo ISE e l'autenticatore mantengono il tunnel senza che vi sia alcuna comunicazione effettiva. Questo timeout è misurato in secondi e varia da 60 a 600 secondi.
3. Esportare l'autorità emittente del certificato RADIUS DTLS dall'archivio certificati ISE.
Per stabilire il tunnel tra ISE e l'autenticatore, entrambe le entità devono scambiarsi e verificare i certificati. L'autenticatore deve considerare attendibile il certificato DTLS ISE RADIUS, pertanto l'autorità emittente deve essere presente nell'archivio di attendibilità dell'autenticatore. Per esportare il firmatario del certificato ISE, selezionare Amministrazione > Sistema > Certificati, come mostrato nell'immagine:
Individuare il certificato a cui è assegnato il ruolo DTLS RADIUS e controllare il campo Rilasciato da per questo certificato. Questo è il nome comune del certificato che deve essere esportato dall'ISE Trust Store. A tale scopo, selezionare Amministrazione > Sistema > CertificatiCertificati attendibili. Selezionare la casella di controllo accanto al certificato appropriato e fare clic su Esporta.
4. Configurare il trust point e importare il certificato nell'autenticatore.
Per configurare un trustpoint, accedere allo switch ed eseguire i comandi:
configure terminal
crypto pki trustpoint isetp
enrollment terminal
revocation-check none
exit
Importare il certificato con il comando crypto pki authentication isetp. Quando viene richiesto di accettare il certificato, digitare yes.
Switch3650(config)#crypto pki authenticate isetp
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIDWTCCAkGgAwIBAgIQL9s4RrhtWLpJjBYB5v0dtTANBgkqhkiG9w0BAQUFADA/
MRMwEQYKCZImiZPyLGQBGRYDY29tMRcwFQYKCZImiZPyLGQBGRYHZXhhbXBsZTEP
MA0GA1UEAxMGTEFCIENBMB4XDTE1MDIxMjA3MzgxM1oXDTI1MDIxMjA3NDgxMlow
PzETMBEGCgmSJomT8ixkARkWA2NvbTEXMBUGCgmSJomT8ixkARkWB2V4YW1wbGUx
DzANBgNVBAMTBkxBQiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMDSfJwvbJLHHJf4vDTalGjKrDI73c/y269IMZV48xpCruNhglcU8CW/T9Ysj6xk
Oogtx2vpG4XJt7KebDZ/ac1Ymjg7sPBPcnyDZCd2a1b39XakD2puE8lVi4RVkjBH
pss2fTWeuor9dzgb/kWb0YqIsgw1sRKQ2Veh1IXmuhX+wDqELHPIzgXn/DOBF0qN
vWlevrAlmBTxC04t1aPwyRk6b6ptjMeaIv2nqy8tOrldMVYKsPDj8aOrFEQ2d/wg
HDvd6C6LKRBpmAvtrqyDtinEl/CRaEFH7dZpvUSJBNuh7st3JIG8gVFstweoMmTE
zxUONQw8QrZmXDGTKgqvisECAwEAAaNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB
/wQFMAMBAf8wHQYDVR0OBBYEFO0TzYQ4kQ3fN6x6JzCit3/l0qoHMBAGCSsGAQQB
gjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQAWbWGBeqE2u6IGdKEPhv+t/rVi
xhn7KrEyWxLkWaLsbU2ixsfTeJDCM8pxQItsj6B0Ey6A05c3YNcvW1iNpupGgc7v
9lMt4/TB6aRLVLijBPB9/p2/3SJadCe/YBaOn/vpmfBPPhxUQVPiBM9fy/Al+zsh
t66bcO3WcD8ZaKaER0oT8Pt/4GHZA0Unx+UxpcNuRRz4COArINXE0ULRfBxpIkkF
pWNjH0rlV55edOga0/r60Cg1/J9VAHh3qK2/3zXJE53N+A0h9whpG4LYgIFLB9ep
ZDim7KGsf+P3zk7SsKioGB4kqidHnm34XjlkWFnrCMQH4HC1oEymakV3Kq24
-----END CERTIFICATE-----
Certificate has the following attributes:
Fingerprint MD5: B33EAD49 87F18924 590616B9 C8880D9D
Fingerprint SHA1: FD729A3B B533726F F8450358 A2F7EB27 EC8A1178
% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
% Certificate successfully imported
5. Esportare il certificato dello switch.
Selezionare il trust point e il certificato da utilizzare per le DTLS sullo switch ed esportarlo:
Switch3650(config)#crypto pki export TP-self-signed-721943660 pem terminal
% Self-signed CA certificate:
-----BEGIN CERTIFICATE-----
MIICKTCCAZKgAwIBAgIBATANBgkqhkiG9w0BAQUFADAwMS4wLAYDVQQDEyVJT1Mt
U2VsZi1TaWduZWQtQ2VydGlmaWNhdGUtNzIxOTQzNjYwMB4XDTE2MDQyNzExNDYw
NloXDTIwMDEwMTAwMDAwMFowMDEuMCwGA1UEAxMlSU9TLVNlbGYtU2lnbmVkLUNl
cnRpZmljYXRlLTcyMTk0MzY2MDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
xRybTGD526rPYuD2puMJu8ANcDqQnwunIERgvIWoLwBovuAu7WcRmzw1IDTDryOH
PXt1n5GcQSAOgn+9QdvKl1Z43ZkRWK5E7EGmjM/aL1287mg4/NlrWr4KMSwDQBJI
noJ52CABXUoApuiiJ8Ya4gOYeP0TmsZtxP1N+s+wqjMCAwEAAaNTMFEwDwYDVR0T
AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSEOKlAPAHBPedwichXL+qUM+1riTAdBgNV
HQ4EFgQUhDipQDwBwT3ncInIVy/qlDPta4kwDQYJKoZIhvcNAQEFBQADgYEAlBNN
wKSS8yBuOH0/jUV7sy3Y9/oV7Z9bW8WFV9QiTQ1lZelvWMTbewozwX2LJvxobGcj
Pi+n99RIH8dBhWwoYl9GTN2LVI22GIPX12jNLqps+Mq/u2qxVm0964Sajs5OlKjQ
69XFfCVot1NA6z2eEP/69oL9x0uaJDZa+6ileh0=
-----END CERTIFICATE-----
Per elencare tutti i trust point configurati, eseguire il comando show crypto pki trustpoints. Una volta stampato il certificato sulla console, copiarlo su un file e salvarlo sul PC.
6. Importare il certificato dello switch nell'archivio di attendibilità ISE.
Su ISE, selezionare Amministrazione > Certificati > Certificati attendibili, quindi fare clic su Importa.
Fare clic su Sfoglia e selezionare il certificato dello switch. Fornire (facoltativamente) un nome descrittivo e selezionare le caselle di controllo Trust for authentication within ISE and Trust for client authentication and Syslog. Quindi fare clic su Submit (Invia), come mostrato nell'immagine:
7. Configurare RADIUS sullo switch.
Aggiungere la configurazione RADIUS sullo switch. Per configurare lo switch in modo che comunichi con ISE su DTLS, utilizzare i comandi:
radius server ISE22
address ipv4 10.48.23.86
key radius/dtls
dtls port 2083
dtls trustpoint client TP-self-signed-721943660
dtls trustpoint server isetp
Il resto della configurazione specifica del server AAA dipende dai requisiti e dal progetto. Considerare questa configurazione come un esempio:
aaa group server radius ISE
server name ISE22
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
radius-server attribute 25 access-request include
aaa authentication dot1x default group ISE
aaa authorization network default group ISE
8. Configurare le policy su ISE.
Configurare i criteri di autenticazione e autorizzazione su ISE. Questo passaggio dipende anche dal progetto e dai requisiti.
Verifica
Per verificare che gli utenti possano autenticarsi, usare il comando test aaa sullo switch:
Switch3650#test aaa group ISE alice Krakow123 new-code
User successfully authenticated
USER ATTRIBUTES
username 0 "alice"
Switch3650#
Verrà visualizzato il messaggio Autenticazione utente completata. Selezionare ISE Operations > RADIUS > LiveLog, quindi selezionare i dettagli del log desiderato (fare clic sulla lente di ingrandimento):
Nella parte destra del rapporto è riportato un elenco di passaggi. Verificare che il primo passaggio dell'elenco sia un pacchetto RADIUS crittografato.
Inoltre, è possibile avviare l'acquisizione dei pacchetti su ISE ed eseguire nuovamente il comando test aaa. Per avviare l'acquisizione, selezionare Operazioni > Risoluzione dei problemi > Strumenti diagnostici > Strumenti generali > Dump TCP. Selezionare Policy Service Node utilizzato per l'autenticazione e fare clic su Start:
Al termine dell'autenticazione, fare clic su Stop and Download (Interrompi e scarica). Quando si apre l'acquisizione dei pacchetti, dovrebbe essere possibile visualizzare il traffico crittografato con DTLS:
I pacchetti 813 - 822 fanno parte dell'handshake DTLS. Quando l'handshake viene negoziato correttamente, i dati dell'applicazione vengono trasferiti. Il numero di pacchetti può variare e dipende, ad esempio, dal metodo di autenticazione utilizzato (PAP, EAP-PEAP, EAP-TLS, ecc.). Il contenuto di ciascun pacchetto viene crittografato:
Quando vengono trasmessi tutti i dati, il tunnel non viene demolito immediatamente. IdleTimeout configurato su ISE determina per quanto tempo è possibile stabilire il tunnel senza passare attraverso la comunicazione. Se il timer scade e occorre inviare una nuova richiesta di accesso all'ISE, viene eseguito l'handshake DTLS e il tunnel viene ricompilato.
Risoluzione dei problemi
1. ISE non riceve alcuna richiesta.
Notare che la porta DTLS predefinita è 2083. Le porte RADIUS predefinite sono 1645,1646 e 1812,1813. Verificare che il firewall non blocchi il traffico UDP/2083.
2. Handshake DTLS non riuscito.
Nel report dettagliato su ISE è possibile notare un errore dell'handshake DTLS:
Il motivo possibile è che lo switch o l'ISE non considerano attendibile il certificato inviato durante l'handshake. Verificare la configurazione del certificato. Verificare che il certificato appropriato sia assegnato al ruolo DTLS RADIUS su ISE e ai trust point sullo switch.