La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare l'autenticazione a due fattori esterni per la connessione AnyConnect IPSec a un router Cisco IOS® XE.
Contributo dei tecnici TAC di Sadhana K.S. e Rishabh Aggarwal Cisco.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
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.
L'utente AnyConnect esegue l'autenticazione con un nome utente e una password sul server ISE. Il server Duo Authentication Proxy invia inoltre un'ulteriore autenticazione sotto forma di notifica push al dispositivo mobile dell'utente.
Per completare la configurazione, prendere in considerazione le sezioni seguenti.
1. Configurare il server RADIUS. L'indirizzo IP del server RADIUS deve essere l'indirizzo IP del proxy di autenticazione Duo.
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. Configurare il server RADIUS come aaa
autenticazione e autorizzazione locali.
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3. Creare un trust point per installare il certificato di identità, se non è già presente per l'autenticazione locale. È possibile fare riferimento a Registrazione certificato per una PKI per ulteriori dettagli sulla creazione del certificato.
crypto pki trustpoint TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (Facoltativo) Configurare un elenco degli accessi standard da utilizzare per il tunnel suddiviso. Questo elenco degli accessi è composto dalle reti di destinazione a cui è possibile accedere tramite il tunnel VPN. Per impostazione predefinita, tutto il traffico passa attraverso il tunnel VPN se il tunnel suddiviso non è configurato.
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. Creare un pool di indirizzi IPv4.
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
Il pool di indirizzi IP creato assegna un indirizzo IPv4 al client AnyConnect durante una connessione AnyConnect riuscita.
6. Configurare un criterio di autorizzazione.
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
Il pool IP, il DNS, l'elenco di split-tunnel e così via sono specificati nei criteri di autorizzazione.
Nota: se il criterio di autorizzazione IKEv2 personalizzato non è configurato, per l'autorizzazione viene utilizzato il criterio di autorizzazione predefinito denominato 'default'. Gli attributi specificati nel criterio di autorizzazione IKEv2 possono inoltre essere sottoposti a push tramite il server RADIUS.
7. Configurare una proposta e un criterio IKEv2.
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. Caricare il profilo del client AnyConnect nella memoria flash del router e definire il profilo come indicato:
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. Disabilitare il server protetto HTTP.
no ip http secure-server
10. Configurare il criterio SSL e specificare l'indirizzo IP WAN del router come indirizzo locale per il download del profilo.
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11. Configurare un modello virtuale dal quale l'interfaccia di accesso virtualele interfacce vengono clonate
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
Il comando senza numero ottiene l'indirizzo IP dall'interfaccia configurata (Gigabit Ethernet1).
13. Configurare un profilo IKEv2 che contenga tutte le informazioni relative alla connessioneinformazioni finali.
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
Questi elementi vengono utilizzati nel profilo IKEv2:
match identity remote any
- Si riferisce all'identità del client. Qui 'any' è configurato in modo che qualsiasi client con le credenziali corrette possa connettersiauthentication remote
- Indica che il protocollo EAP deve essere utilizzato per l'autenticazione clientauthentication local
- Indica che i certificati devono essere utilizzati per l'autenticazione localeaaa authentication eap
- Durante l'autenticazione EAP, il server RADIUS FlexVPN_auth
è utilizzatoaaa authorization group eap list
- Durante l'autorizzazione, l'elenco delle reti FlexVPN_authz
viene utilizzato con i criteri di autorizzazione ikev2-authz-policy
aaa authorization user eap cached
- Abilita l'autorizzazione utente implicitavirtual-template 20 mode auto
- Definisce il modello virtuale da clonareanyconnect profile Client_Profile
- Il profilo client definito nel passaggio 8. viene applicato a questo profilo IKEv214. Configurare un set di trasformazioni e un profilo IPSec.
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. Aggiungere il profilo IPSec al modello virtuale.
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Nelle versioni precedenti a Cisco IOS XE 16.9.1, il download automatico del profilo dall'headend non è disponibile. Dopo 16.9.1, è possibile scaricare il profilo dall'headend.
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
Nota: il proxy di autenticazione Duo supporta MS-CHAPv2 solo con l'autenticazione RADIUS.
Passaggio 1. Scaricare e installare Duo Authentication Proxy Server.
Accedere al computer Windows e installare il server Duo Authentication Proxy.
Si consiglia di utilizzare un sistema con almeno 1 CPU, 200 MB di spazio su disco e 4 GB di RAM.
Passaggio 2. Passa a C:\Program Files\Duo Security Authentication Proxy\conf\
e aperto authproxy.cfg
per configurare il proxy di autenticazione con i dettagli appropriati.
[radius_client]
host=10.197.243.116
secret=cisco
Nota: '10.197.243.116' è l'indirizzo IP del server ISE e 'cisco' è la password configurata per convalidare l'autenticazione primaria.
Dopo aver apportato le modifiche, salvare il file.
Passaggio 3. Open (Aperto) Console Servizi Windows (services.msc
). E riavvia Duo Security Authentication Proxy Service
.
Passaggio 1. Passa a Administration > Network Devices
, quindi fare clic suAdd
per configurare il dispositivo di rete.
Nota: Sostituisci x.x.x.x
con l'indirizzo IP del server proxy di autenticazione Duo.
Passaggio 2. Configurare Shared Secret
come indicato nella authproxy.cfg
in secret
:
Passaggio 3. Passa a Administration > Identities > Users
.Scegli Add
per configurare l'utente Identity per l'autenticazione primaria AnyConnect:
Passaggio 1. Accedere al proprio account Duo.
Passa a Applications > Protect an Application
. Fare clic su Protect
per l'applicazione che si desidera utilizzare. (in questo caso, RADIUS)
Passaggio 2. Fare clic su Protect
per l'applicazione che si desidera utilizzare. (in questo caso, RADIUS)
Copiare la chiave di integrazione, la chiave segreta e il nome host dell'API e incollarli nella authproxy.cfg
del proxy Duo Authentication.
Copiare questi valori, tornare al proxy di autenticazione DUO e aprire authproxy.cfg
e incollare i valori come mostrato:
Chiave di integrazione = ikey
chiave segreta = chiave
Nome host API = api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
Nota: quando si configura il server, è necessario copiare la chiave ikey, skey e api_host dal server Duo e '10.106.54.143' è l'indirizzo IP del router C8000V e 'cisco' è la chiave configurata sul router in modalità server radius.
Dopo aver apportato le modifiche, salvare di nuovo il file e riavviare il servizio Duo Security Authentication Proxy (in services.msc
).
Passaggio 3. Crea utenti su DUO per autenticazione secondaria.
Passa a Users > Add User
e digitare il nome utente.
Nota: il nome utente deve corrispondere al nome utente dell'autenticazione primaria.
Fare clic su Add User
. Dopo la creazione, in Phones
, cclic Add Phone
, immettere il numero di telefono e fare clic su Add Phone
.
Scegliere il tipo di autenticazione.
Scegli Generate Duo Mobile Activation Code
.
Scegli Send Instructions by SMS
.
Fare clic sul collegamento inviato al telefono e l'app DUO viene collegata all'account utente nel Device Info
come mostrato nell'immagine:
Per verificare l'autenticazione, collegarsi al C8000V dal PC dell'utente tramite AnyConnect.
Digitare il nome utente e la password per l'autenticazione primaria.
Accettare quindi le spinte DUO sul cellulare.
Connessione stabilita.
È possibile verificare questa condizione sull'headend VPN:
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2. Crypto session detail for the vpn session
R1#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
3.Verification on ISE live logs
Passa a Operations > Live Logs
ad ISE 2007. È possibile visualizzare il report di autenticazione per l'autenticazione primaria.
4. Verification on DUO authentication proxy
Passare a questo file con il proxy di autenticazione DUO; C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
Per IKEv2:
debug crypto ikev2
debug crypto ikev2 client flexvpn
debug crypto ikev2 internal
debug crypto ikev2 packet
debug crypto ikev2 error
Per IPSec:
debug crypto ipsec
debug crypto ipsec error
2. Per il proxy di autenticazione DUO, controllare il file di registro correlato al proxyd log. (C:\Program Files\Duo Security Authentication Proxy\log
)
Viene mostrato lo snippet di codice di un log degli errori nel quale ISE rifiuta l'autenticazione primaria:
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
26-Jun-2023 |
Versione iniziale |