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 vengono descritti i concetti e la configurazione di una VPN tra Cisco ASA e Cisco Secure Firewall e i servizi cloud di Microsoft Azure.
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'intervallo di indirizzi IP IPSec consente la partecipazione al tunnel VPN.Il dominio di crittografia viene definito utilizzando un selettore di traffico locale e uno remoto per specificare gli intervalli di subnet locali e remote acquisiti e crittografati da IPSec.
Di seguito vengono riportati due metodi per definire i domini di crittografia VPN: selettori di traffico basati su route o basati su criteri.
Basato su route:
Il dominio di crittografia è impostato in modo da consentire il traffico in entrata nel tunnel IPSec. I selettori di traffico locale e remoto IPSec sono impostati su 0.0.0.0. Il traffico indirizzato nel tunnel IPSec viene quindi crittografato, a prescindere dalla subnet di origine/destinazione.
Cisco Adaptive Security Appliance (ASA) supporta VPN basate su route con l'utilizzo di VTI (Virtual Tunnel Interfaces) nella versione 9.8 e successive.
Cisco Secure Firewall o Firepower Threat Defense (FTD) gestiti da Firepower Management Center (FMC) supportano VPN basate su route con l'utilizzo di VTI nelle versioni 6.7 e successive.
Basato su regole:
Il dominio di crittografia è impostato per crittografare solo intervalli IP specifici per l'origine e la destinazione. I selettori di traffico locale e remoto basati su criteri identificano il traffico da crittografare su IPSec.
ASA supporta VPN basate su criteri con mappe crittografiche nella versione 8.2 e successive.
Microsoft Azure supporta selettori di traffico basati su route, criteri o route con simulatori basati su criteri. Azure attualmente limita la versione di Internet Key Exchange (IKE) che è possibile configurare in base al metodo VPN selezionato. Basato su route richiede IKEv2 e basato su criteri richiede IKEv1. Se si usa IKEv2, è necessario selezionare la route basata in Azure e l'ASA deve usare una VTI.
Se l'appliance ASA supporta solo mappe crittografiche a causa della versione del codice, è necessario configurare Azure per la route basata su selettori di traffico basati su criteri.
Questa operazione viene eseguita nel portale di Azure tramite la distribuzione di script PowerShell per implementare un'opzione che Microsoft chiama UsePolicyBasedTrafficSelectors, come spiegato di seguito:
Connessione di un gateway VPN a più dispositivi VPN basati su criteri locali
Per riepilogare i dati dalla prospettiva di configurazione ASA e FTD:
Completare la procedura di configurazione. Scegliere se configurare IKEv1, route IKEv2 basata su VTI o route IKEv2 basata su selettori del traffico basati su policy (mappa crittografica su ASA).
Per una VPN IKEv1 da sito a sito da ASA ad Azure, implementare la successiva configurazione ASA. Verificare di configurare un tunnel basato su criteri nel portale di Azure. Per questo esempio, le mappe crittografiche vengono usate sull'appliance ASA.
Per informazioni complete sulla configurazione dell'ASA, consultare la sezione Configurazione dei tunnel IPsec IKEv1 da sito a sito con ASDM o CLI su ASAv.
Passaggio 1. Abilitare IKEv1 sull'interfaccia esterna.
Cisco-ASA(config)#crypto ikev1 enable outside
Passaggio 2. Creare un criterio IKEv1 che definisca gli algoritmi o i metodi da utilizzare per l'hash, l'autenticazione, il gruppo Diffie-Hellman, la durata e la crittografia.
Nota: gli attributi IKEv1 della fase 1 elencati vengono forniti nel modo più efficace da Informazioni sui dispositivi VPN e sui parametri IPsec/IKE per le connessioni gateway VPN da sito a sito. Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ikev1 policy 1
Cisco-ASA(config-ikev1-policy)#authentication pre-share
Cisco-ASA(config-ikev1-policy)#encryption aes
Cisco-ASA(config-ikev1-policy)#hash sha
Cisco-ASA(config-ikev1-policy)#group 14
Cisco-ASA(config-ikev1-policy)#lifetime 28800
Passaggio 3. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel.
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco
Passaggio 4. Creare un elenco degli accessi che definisca il traffico da crittografare e tunneling.
Nell'esempio, il traffico di interesse viene generato dal tunnel che ha origine dalla subnet 10.2.2.0 a 10.1.1.0. Può contenere più voci se tra i siti sono coinvolte più subnet.
Nelle versioni 8.4 e successive è possibile creare oggetti o gruppi di oggetti che fungono da contenitori per le reti, le subnet, gli indirizzi IP host o più oggetti.
Creare due oggetti che hanno le subnet locali e remote e usarli sia per l'istruzione Crypto Access Control List (ACL) che per l'istruzione Network Address Translation (NAT).
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Passaggio 5. Configurare il Transform Set (TS), che deve includere la parola chiaveIKEv1.
È necessario creare un TS identico anche sull'estremità remota.
Nota: gli attributi IKEv1 della fase 2 elencati vengono forniti nel modo più efficace da Informazioni sui dispositivi VPN e sui parametri IPsec/IKE per le connessioni gateway VPN da sito a sito. Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
Passaggio 6. Configurare la mappa crittografica e applicarla all'interfaccia esterna che ha i seguenti componenti:
· L'indirizzo IP peer
· L'elenco degli accessi definito che contiene il traffico di interesse
· TS
· La configurazione non imposta Perfect Forward Secrecy (PFS). Informazioni sui dispositivi VPN e sui parametri IPsec/IKE per le connessioni gateway VPN da sito a sito indica che PFS è disabilitato per IKEv1 in Azure.
Un'impostazione PFS facoltativa crea una nuova coppia di chiavi Diffie-Hellman utilizzate per proteggere i dati (entrambi i lati devono essere abilitati PFS prima dell'attivazione della Fase 2).
Questa impostazione può essere abilitata tramite la seguente configurazione: crypto map outside_map 20 set pfs
.
· La durata IPSec di fase 2 impostata si basa su Informazioni sui dispositivi VPN e sui parametri IPsec/IKE per le connessioni gateway VPN da sito a sito. Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100
Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1
Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000 Cisco-ASA(config)#crypto map outside_map interface outside
Passaggio 7. Verificare che il traffico VPN non sia soggetto a nessun'altra regola NAT. Creare una regola di esenzione NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Nota: quando si utilizzano più subnet, è necessario creare gruppi di oggetti con tutte le subnet di origine e di destinazione e utilizzarli nella regola NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Per una VPN basata su route IKEv2 da sito a sito su codice ASA, utilizzare questa configurazione. Verificare che Azure sia configurato per la VPN basata su route e non configurare UsePolicyBasedTrafficSelectors nel portale di Azure. Sull'appliance ASA è configurata una VTI.
Vedere la CLI Book 3: Cisco ASA Series VPN CLI Configuration Guide, 9.8 per informazioni complete sulla configurazione della VTI dell'ASA.
Passaggio 1. Abilitare IKEv2 sull'interfaccia esterna:
Cisco-ASA(config)#crypto ikev2 enable outside
Passaggio 2. Aggiungere un criterio IKEv2 fase 1.
Nota: Microsoft ha pubblicato informazioni in conflitto con gli attributi di crittografia IKEv2 fase 1, integrità e durata utilizzati da Azure. Gli attributi elencati vengono forniti nel modo più efficace da About VPN Devices and IPsec/IKE Parameters for Site-to-Site VPN Gateway Connections. Le informazioni che creano conflitti tra gli attributi IKEv2 di Microsoft sono di esempio Configurazione: dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Passaggio 3. Aggiunge una proposta IPSec fase 2 IKEv2. Specificare i parametri di sicurezza nella modalità di configurazione di IPsec ikev2 ipsec-proposal
di crittografia:
protocollo esp crittografia {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
protocollo integrità esp {md5 | sha-1 | 256 sha | 384 | 512 | null}
Nota: Microsoft ha pubblicato informazioni in conflitto con gli attributi di integrità e crittografia IPSec di fase 2 specifici utilizzati da Azure. Gli attributi elencati vengono forniti nel modo più efficace da About VPN Devices and IPsec/IKE Parameters for Site-to-Site VPN Gateway Connections. Le informazioni in conflitto con l'attributo IPSec fase 2 di Microsoft sono configurazione di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
Passaggio 4. Aggiungere un profilo IPSec che specifichi:
Nota: Microsoft ha pubblicato informazioni in conflitto per quanto riguarda la durata IPSec della fase 2 specifica e gli attributi PFS utilizzati da Azure. Gli attributi elencati vengono forniti nel modo più efficace dalle offerte dell'associazione di sicurezza IPSec VPN basate su route (IKE Quick Mode SA). Le informazioni in conflitto con l'attributo IPSec fase 2 di Microsoft sono configurazione di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ipsec profile PROFILE1
Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000
Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited
Cisco-ASA(config-ipsec-profile)#set pfs none
Passaggio 5. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel locale e remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Passaggio 6. Creare una VTI che specifichi:
Cisco-ASA(config)#interface tunnel 100 Cisco-ASA(config-if)#nameif vti Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252 Cisco-ASA(config-if)#tunnel source interface outside Cisco-ASA(config-if)#tunnel destination [Azure Public IP] Cisco-ASA(config-if)#tunnel mode ipsec ipv4 Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1
Passaggio 7. Creare un percorso statico per indirizzare il traffico nel tunnel. Per aggiungere una route statica, immettere questo comando: route if_name dest_ip mask gateway_ip [distance]
L'indirizzo dest_ip
e mask
è l'indirizzo IP per la rete di destinazione nel cloud di Azure, ad esempio 10.0.0.0/24. Il gateway_ip deve essere un indirizzo IP (esistente o inesistente) nella subnet dell'interfaccia del tunnel, ad esempio 10.254.0.2. Lo scopo di questo gateway_ip è indirizzare il traffico all'interfaccia del tunnel, ma il particolare IP del gateway non è importante.
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 10.254.0.2
Per una VPN IKEv1 da sito a sito da FTD ad Azure, è necessario aver registrato in precedenza il dispositivo FTD in FMC.
Passaggio 1. Creare un criterio da sito a sito. Passare alla FMC dashboard > Devices > VPN > Site to Site.
Passaggio 2. Crea un nuovo criterio. Fare clic sul Add VPN
menu a discesa e scegliere Firepower Threat Defense device.
Passaggio 3. Nella Create new VPN Topology
finestra, selezionare la Topology Name,
casella di controllo del IKEV1
protocollo e fare clic sulla IKE
scheda. In questo esempio, le chiavi già condivise vengono utilizzate come metodo di autenticazione.
Fare clic sul Authentication Type
menu a discesa e scegliere Pre-shared manual key
. Digitare la chiave precondivisa manuale nei campi di testo Key
eConfirm Key
.
Passaggio 4. Configurare la policy ISAKMP o i parametri della fase 1 con la creazione di una nuova policy. Nella stessa finestra, fare clic sul green plus button
per aggiungere un nuovo criterio ISAKMP. Specificare il nome del criterio e scegliere i valori desiderati per Crittografia, Hash, Gruppo Diffie-Hellman, Durata e Metodo di autenticazione, quindi fare clic su Save.
Passaggio 5. Configurare il criterio IPSec o i parametri della fase 2. Passare alla IPsec
scheda e scegliere Static
la Crypto Map Type
casella di controllo. Fare clic sull' edit pencil
icona nella IKEV1 IPsec Proposals
posizione dell' Transform Sets
opzione.
Passaggio 6. Crea una nuova proposta IPSec. Nella IKEv1 IPSec Proposal
finestra fare clic sul green plus button
pulsante per aggiungerne uno nuovo. Specificare il nome del criterio e i relativi parametri desiderati per gli algoritmi di crittografia ESP ed ESP Hash e fare clic su Save.
Passaggio 7. Nella IKEV1 IPsec Proposal
finestra, aggiungere il nuovo criterio IPSec alla Selected Transform Sets
sezione e fare clic su OK.
Passaggio 8. Nella IPSec
scheda precedente, configurare la durata e le dimensioni desiderate.
Passaggio 9. Selezionare Encryption Domain/Traffic Selectors/Protected Networks (Dominio di crittografia, selettori traffico/reti protette). Passare alla Endpoints
scheda. Nella Node A
sezione fare clic su green plus button
per aggiungerne uno nuovo. In questo esempio, il nodo A viene usato come subnet locali dell'FTD.
Passaggio 10. Nella Add Endpoint
finestra, specificare l'FTD da utilizzare nell'elenco a Device
discesa insieme all'interfaccia fisica e all'indirizzo IP da utilizzare.
Passaggio 11. Per specificare il selettore di traffico locale, passare all' Protected Networks
opzione e fare clic sull'icona green plus button
per creare un nuovo oggetto.
Passaggio 12. Nella Network Objects
finestra fare clic sul green plus button
pulsante accanto al Available Networks
testo per creare un nuovo oggetto selettore traffico locale.
Passaggio 13. Nella New Network Object
finestra, specificare il nome dell'oggetto e scegliere di conseguenza host/rete/intervallo/FQDN. Quindi, fare clic su Save
.
Passaggio 14. Aggiungere l'oggetto alla Selected Networks
sezione della Network Objects
finestra e fare clic su OK.
Fare clic OK
sulla Add Endpoint
finestra.
Passaggio 15. Definire l'endpoint del nodo B, che in questo esempio è l'endpoint di Azure. Nella Create New VPN Topology
finestra passare alla Node B
sezione e fare clic su per green plus button
aggiungere il selettore di traffico dell'endpoint remoto. Specificare Extranet
per tutti gli endpoint peer VPN non gestiti dallo stesso FMC del nodo A. Digitare il nome del dispositivo (solo significativo a livello locale) e il relativo indirizzo IP.
Passaggio 16. Creare l'oggetto selettore traffico remoto. Passare alla Protected Networks
sezione e fare clic sull'icona green plus button
per aggiungere un nuovo oggetto.
Passaggio 17. Per creare un nuovo oggetto, nella Network Objects
finestra fare clic sul green plus button
testo accanto al Available Networks
testo. Nella New Network Object
finestra, specificare il nome dell'oggetto e scegliere di conseguenza host/intervallo/rete/FQDN, quindi fare clic su Save.
Passaggio 18. Tornare alla Network Objects
finestra, aggiungere il nuovo oggetto remoto alla Selected Networks
sezione e fare clic OK.
su Fare clic Ok
sulla Add Endpoint
finestra.
Passaggio 19. Nella Create New VPN Topology
finestra è ora possibile visualizzare entrambi i nodi con i relativi selettori di traffico/reti protette corretti. Fare clic su Save.
Passaggio 20. Nel dashboard FMC fare clic Deploy
nel riquadro superiore destro, scegliere il dispositivo FTD e fare clic su Deploy.
Passaggio 21. Sull'interfaccia della riga di comando, la configurazione VPN è simile a quella dei dispositivi ASA.
Per una VPN IKEv2 da sito a sito su ASA con mappe crittografiche, utilizzare questa configurazione. Verificare che Azure sia configurato per la VPN basata su route e che UsePolicyBasedTrafficSelectors sia configurato nel portale di Azure tramite PowerShell.
Per connettere un gateway VPN a più dispositivi VPN basati su criteri locali di Microsoft, viene descritta la configurazione di UsePolicyBasedTrafficSelectors in combinazione con la modalità VPN di Azure basata su route. Senza completare questo passaggio, ASA con mappe crittografiche non riesce a stabilire la connessione a causa di una mancata corrispondenza nei selettori di traffico ricevuti da Azure.
Vedere la CLI Book 3: Cisco ASA Series VPN CLI Configuration Guide, 9.8 per la versione ASA IKEv2 completa con informazioni sulla configurazione della mappa crittografica.
Passaggio 1. Abilitare IKEv2 sull'interfaccia esterna:
Cisco-ASA(config)#crypto ikev2 enable outside
Passaggio 2. Aggiungere un criterio IKEv2 fase 1.
Nota: Microsoft ha pubblicato informazioni in conflitto con gli attributi di crittografia IKEv2 fase 1, integrità e durata utilizzati da Azure. Gli attributi elencati vengono forniti nel modo più efficace da About VPN Devices and IPsec/IKE Parameters for Site-to-Site VPN Gateway Connections. Le informazioni sugli attributi IKEv2 fornite da Microsoft in conflitto sono configurazioni di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Passaggio 3. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel locale e remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Passaggio 4. Creare un elenco degli accessi che definisca il traffico da crittografare e tunneling. Nell'esempio, il traffico di interesse è il traffico proveniente dal tunnel che ha origine dalla subnet 10.2.2.0 fino a 10.1.1.0. Può contenere più voci se tra i siti sono coinvolte più subnet.
Nelle versioni 8.4 e successive è possibile creare oggetti o gruppi di oggetti che fungono da contenitori per le reti, le subnet, gli indirizzi IP host o più oggetti. Creare due oggetti che hanno le subnet locali e remote e usarli per le istruzioni crypto ACL e NAT.
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Passaggio 5. Aggiunge una proposta IPSec fase 2 IKEv2. Specificare i parametri di sicurezza nella modalità di configurazione della proposta IPSec IKEV2 di crittografia:
protocollo esp crittografia {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
protocollo integrità esp {md5 | sha-1 | 256 sha | 384 | 512 | null}
Nota: Microsoft ha pubblicato informazioni in conflitto con gli attributi di integrità e crittografia IPSec di fase 2 specifici utilizzati da Azure. Gli attributi elencati vengono forniti nel modo più efficace dalle offerte dell'associazione di sicurezza IPSec VPN basate su route (IKE Quick Mode SA). Informazioni sugli attributi IPSec fase 2 fornite da Microsoft in conflitto Configurazione di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
Passaggio 6. Configurare una mappa crittografica e applicarla all'interfaccia esterna, che contiene i seguenti componenti:
· L'indirizzo IP peer
· L'elenco degli accessi definito che contiene il traffico di interesse.
· Proposta IPSec fase 2 IKEv2
· Durata IPSec fase 2 in secondi.
· Impostazione PFS (Perfect Forward Secrecy) opzionale, che crea una nuova coppia di chiavi Diffie-Hellman utilizzate per proteggere i dati (entrambi i lati devono essere abilitati per PFS prima dell'attivazione della Fase 2).
Microsoft ha pubblicato informazioni in conflitto con gli attributi IPSec e PFS specifici della fase 2 utilizzati da Azure.
Gli attributi elencati vengono forniti nel modo più efficace dal Offerte associazione di sicurezza IPsec VPN basate su route (IKE modalità rapida SA).
Informazioni sugli attributi IPSec fase 2 fornite da Microsoft in conflitto Configurazione di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100 Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1 Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited Cisco-ASA(config)#crypto map outside_map 20 set pfs none Cisco-ASA(config)#crypto map outside_map interface outside
Passaggio 8. Verificare che il traffico VPN non sia soggetto a nessun'altra regola NAT. Creare una regola di esenzione NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Nota: quando si utilizzano più subnet, è necessario creare gruppi di oggetti con tutte le subnet di origine e di destinazione e utilizzarli nella regola NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Dopo aver completato la configurazione sia su ASA che sul gateway di Azure, Azure avvia il tunnel VPN. È possibile verificare che il tunnel venga compilato correttamente con questi comandi:
Verificare che la fase 1 dell'associazione di sicurezza (SA) sia stata creata:
Quindi, viene mostrata una SA IKEv2 costruita dall'interfaccia esterna locale IP 192.168.1.2 sulla porta UDP 500, alla destinazione remota IP 192.168.2.2. È inoltre presente un'associazione di protezione figlio valida creata per il flusso del traffico crittografato.
Cisco-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 3208253 192.168.1.2/500 192.168.2.2/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/142 sec *-->Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 192.168.3.0/0 - 192.168.3.255/65535 ESP spi in/out: 0x9b60edc5/0x8e7a2e12
Qui viene mostrata una SA IKEv1 costruita con ASA come iniziatore per peer IP 192.168.2.2 con una durata residua di 86388 secondi.
Cisco-ASA# sh crypto ikev1 sa detail IKEv1 SAs: Active SA: 1 Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey) Total IKE SA: 1 1 IKE Peer: 192.168.2.2 Type : L2L Role : initiator Rekey : no State : MM_ACTIVE Encrypt : aes Hash : SHA Auth : preshared Lifetime: 86400 Lifetime Remaining: 86388
Verificare che l'associazione di protezione IPSec per la fase 2 sia stata creata con show crypto ipsec sa peer [peer-ip].
Cisco-ASA# show crypto ipsec sa peer 192.168.2.2
peer address: 192.168.2.2
Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2
access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
current_peer: 192.168.2.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#TFC rcvd: 0, #TFC sent: 0
#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500
path mtu 1500, ipsec overhead 74(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: 8E7A2E12
current inbound spi : 9B60EDC5
inbound esp sas:
spi: 0x9B60EDC5 (2606820805)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (4193279/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0x8E7A2E12 (2390371858)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (3962879/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
Quattro pacchetti vengono inviati e quattro ricevuti tramite l'associazione di protezione IPSec senza errori. Una SA in entrata con SPI 0x9B60EDC5 e una SA in uscita con SPI 0x8E7A2E12 sono installate come previsto.
È inoltre possibile verificare il passaggio dei dati attraverso il tunnel verificando le seguenti vpn-sessiondb l2l
voci:
Cisco-ASA#show vpn-sessiondb l2l
Session Type: LAN-to-LAN
Connection : 192.168.2.2
Index : 44615 IP Addr : 192.168.2.2
Protocol : IKEv2 IPsec
Encryption : IKEv2: (1)AES256 IPsec: (1)AES256
Hashing : IKEv2: (1)SHA256 IPsec: (1)SHA256
Bytes Tx : 400 Bytes Rx : 400
Login Time : 18:32:54 UTC Tue Mar 13 2018
Duration : 0h:05m:22s
Byte Tx: e Byte Rx: mostrano i contatori dati inviati e ricevuti tramite l'associazione di protezione IPSec.
Passaggio 1. Verificare che il traffico per la VPN sia ricevuto dall'ASA sull'interfaccia interna destinata alla rete privata di Azure. Per verificare, è possibile configurare un ping continuo da un client interno e configurare l'acquisizione di un pacchetto sull'appliance ASA per verificare che venga ricevuto:
capture [cap-name] interface [if-name] match [protocol] [src-ip] [src-mask] [dest-ip] [dest-mask]
show capture [cap-name]
Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]
Cisco-ASA#show capture inside 2 packets captured 1: 18:50:42.835863 192.168.0.2 > 192.168.3.2: icmp: echo request 2: 18:50:42.839128 192.168.3.2 > 192.168.0.2: icmp: echo reply 2 packets shown
Se viene rilevato il traffico di risposta da Azure, la VPN viene creata correttamente e invia/riceve il traffico.
Se il traffico di origine è assente, verificare che il mittente stia instradando correttamente l'appliance ASA.
Se il traffico di origine è visibile, ma il traffico di risposta da Azure è assente, continuare per verificare il motivo.
Passaggio 2. Verificare che il traffico ricevuto sull'interfaccia interna ASA sia elaborato correttamente dall'ASA e instradato alla VPN:
Per simulare una richiesta echo ICMP:
input packet-tracer [inside-interface-name] icmp [inside-host-ip] 8 0 [azure-host-ip] detail
Le linee guida per l'utilizzo di Packet Tracer sono disponibili qui: Risoluzione dei problemi di accesso tramite Packet Tracer
Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail Phase: 1 Type: CAPTURE Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0000.0000.0000 input_ifc=inside, output_ifc=any Phase: 2 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c195971f0, priority=1, domain=permit, deny=false hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=inside, output_ifc=any Phase: 3 Type: ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: found next-hop 192.168.1.1 using egress ifc outside Phase: 4 Type: NAT Subtype: per-session Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 5 Type: IP-OPTIONS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 6 Type: QOS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 7 Type: INSPECT Subtype: np-inspect Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1 src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 8 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0 src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=outside Phase: 9 Type: FLOW-CREATION Subtype: Result: ALLOW Config: Additional Information: New flow created with id 43, packet dispatched to next module Module information for forward flow ... snp_fp_tracer_drop snp_fp_inspect_ip_options snp_fp_inspect_icmp snp_fp_adjacency snp_fp_encrypt snp_fp_fragment snp_ifc_stat Module information for reverse flow ... Result: input-interface: inside input-status: up input-line-status: up output-interface: outside output-status: up output-line-status: up Action: allow
NAT esenta il traffico (nessuna traduzione ha effetto). Verificare che non si verifichi alcuna conversione NAT sul traffico VPN. Verificare inoltre che la output-interface
chiave sia corretta. Deve trattarsi dell'interfaccia fisica a cui viene applicata la mappa crittografica o dell'interfaccia del tunnel virtuale.
Accertarsi che non vi siano perdite nell'elenco degli accessi. Se nella fase VPN viene visualizzato ENCRYPT: ALLOW,
che il tunnel è già stato creato ed è possibile visualizzare l'associazione di protezione IPSec installata con incapsulamenti.
Passaggio 2.1. Se ENCRYPT: ALLOW
viene rilevato in packet-tracer.
Verificare che l'associazione di sicurezza IPsec sia installata e crittografi il traffico con l'utilizzo di show crypto ipsec sa.
È possibile eseguire un'acquisizione sull'interfaccia esterna per verificare che i pacchetti crittografati vengano inviati da ASA e che le risposte crittografate vengano ricevute da Azure.
Passaggio 2.2. Se ENCRYPT:DROP
visualizzato in packet-tracer.
Il tunnel VPN non è ancora stato stabilito, ma è in fase di negoziazione. Questa è una condizione prevista quando si attiva il tunnel per la prima volta. Eseguire i debug per visualizzare il processo di negoziazione del tunnel e identificare dove e se si verifica un errore.
Verificare innanzitutto che sia attivata la versione corretta di IKE e che il processo ike-common non presenti errori rilevanti:
Cisco-ASA#debug crypto ike-common 255 Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1. Map Tag = outside. Map Sequence Number = 10.
Se non viene rilevato alcun output di debug ike-common all'avvio del traffico VPN, il traffico viene interrotto prima che raggiunga il processo di crittografia o il protocollo crypto ikev1/ikev2 non è abilitato sulla confezione. Controllare due volte la configurazione della crittografia e le perdite di pacchetti.
Se durante i debug comuni di IKE viene visualizzato l'avvio del processo di crittografia, eseguire il debug della versione configurata di IKE per visualizzare i messaggi di negoziazione del tunnel e identificare la posizione in cui si è verificato l'errore durante la generazione del tunnel con Azure.
Nota tecnica sulla risoluzione dei problemi relativi ai debug completi di ikev1 (modalità principale IKEv1) e ai debug ASA IPsec e IKE (modalità principale IKEv1).
Cisco-ASA#debug crypto ikev1 127
Cisco-ASA#debug crypto ipsec 127
La procedura di debug e l'analisi complete di ikev2 sono disponibili qui. Usare i debug ASA IKEv2 per la VPN da sito a sito con PSK
Cisco-ASA#debug crypto ikev2 platform 127 Cisco-ASA#debug crypto ikev2 protocol 127 Cisco-ASA#debug crypto ipsec 127
Revisione | Data di pubblicazione | Commenti |
---|---|---|
4.0 |
07-Oct-2024 |
Descrizione dell'articolo, collegamenti alle immagini, requisiti di stile e formattazione aggiornati. |
3.0 |
09-Sep-2022 |
Revisione/ricertificazione del contenuto |
2.0 |
28-Feb-2022 |
Il supporto per FTD 6.7 è stato aggiunto come parte della richiesta firestarter. |
1.0 |
27-Mar-2019 |
Versione iniziale |