Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Limitazioni

Licenze

Premesse

Necessità di ulteriori scambi di chiavi

Configurazione

Esempio di rete

Configurazione ASA

Configurazione delle interfacce ASA

Configurazione del criterio IKEv2 con scambio di più chiavi e abilitazione di IKEv2 sull'interfaccia esterna

Configurazione del gruppo di tunnel

Configurazione di ACL di traffico e crittografia rilevanti

Configurazione di un NAT di identità (facoltativo)

Configurazione della proposta IPSec IKEv2

Configurare una mappa crittografica e associarla all'interfaccia

Configurazione finale ASA locale

Configurazione finale ASA remota

Verifica

Risoluzione dei problemi

Introduzione

In questo documento viene descritto come configurare una connessione VPN IKEv2 da sito a sito tra due appliance ASA Cisco con scambio di più chiavi IKEv2.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Cisco Adaptive Security Appliance (ASA)

- Nozioni generali su IKEv2

Componenti usati

Per la stesura del documento, sono state usate appliance Cisco ASA con versione 9.20.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.

Limitazioni

Lo scambio di più chiavi IKEv2 presenta le seguenti limitazioni:

- Supportato solo sulla CLI dell'ASA

- Supportato su dispositivi multi-contesto e HA

- Non supportato nei dispositivi del cluster

Licenze

I requisiti delle licenze sono gli stessi della VPN da sito a sito sulle appliance ASA.

Premesse

Necessità di ulteriori scambi di chiavi

L'arrivo di computer quantistici di grandi dimensioni comporta un grande rischio per i sistemi di sicurezza, in particolare per quelli che utilizzano la crittografia a chiave pubblica. I metodi crittografici che si pensava fossero molto difficili per i normali computer possono essere facilmente rotti dai computer quantistici. Quindi, sorge la necessità di passare a nuovi metodi resistenti ai quanti, chiamati anche algoritmi di crittografia post-quantistica (PQC). Lo scopo è quello di migliorare la sicurezza delle comunicazioni IPsec utilizzando scambi di chiavi multipli. Ciò implica la combinazione di uno scambio di chiavi tradizionale con uno post-quantistico. Questo approccio garantisce che lo scambio risultante sia almeno altrettanto efficace del tradizionale scambio di chiavi, fornendo un ulteriore livello di sicurezza.

Il piano prevede il miglioramento di IKEv2 tramite l'aggiunta del supporto per più scambi di chiave. Questi scambi di chiave extra possono gestire algoritmi che sono al sicuro dalle minacce quantistiche. Per lo scambio di informazioni su queste chiavi aggiuntive, viene introdotto un nuovo tipo di messaggio denominato Intermediate Exchange. Questi scambi di chiave vengono negoziati utilizzando il normale metodo IKEv2, tramite il payload SA.

Configurazione

In questa sezione vengono descritte le configurazioni dell'ASA.

Esempio di rete

Per le informazioni di questo documento viene utilizzata la seguente configurazione della rete:

Configurazione ASA

Configurazione delle interfacce ASA

Se le interfacce ASA non sono configurate, verificare di configurare almeno gli indirizzi IP, i nomi delle interfacce e i livelli di sicurezza:

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.10.10.10 255.255.255.0

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.0.1 255.255.255.0

Nota: verificare la presenza di connettività sia alle reti interne che a quelle esterne, in particolare al peer remoto utilizzato per stabilire un tunnel VPN da sito a sito. È possibile usare un comando ping per verificare la connettività di base.

Configurazione del criterio IKEv2 con scambio di più chiavi e abilitazione di IKEv2 sull'interfaccia esterna

Per configurare i criteri IKEv2 per queste connessioni, immettere i seguenti comandi:

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

È possibile configurare ulteriori trasformazioni di scambio chiave in crypto ikev2 policy utilizzando il comandoadditional-key-exchange. È possibile configurare un totale di sette trasformazioni di scambio aggiuntive. In questo esempio, sono state configurate due trasformazioni di scambio aggiuntive (utilizzando i gruppi DH 21 e 31).

additional-key-exchange 1 key-exchange-method 21 additional-key-exchange 2 key-exchange-method 31

Il criterio IKEv2 finale è simile al seguente:

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

additional-key-exchange 1

key-exchange-method 21

additional-key-exchange 2

key-exchange-method 31

Nota: esiste una corrispondenza di criteri IKEv2 quando entrambi i criteri dei due peer contengono gli stessi valori di autenticazione, crittografia, hash, parametro Diffie-Hellman e parametro Additional Key Exchange.

È necessario abilitare IKEv2 sull'interfaccia che termina il tunnel VPN. In genere, si tratta dell'interfaccia esterna o Internet. Per abilitare IKEv2, immettere il comandocrypto ikev2 enable outside in modalità di configurazione globale.

Configurazione del gruppo di tunnel

Per un tunnel da sito a sito, il profilo di connessione è IPSec-l2l. Per configurare la chiave già condivisa IKEv2, immettere i seguenti comandi:

tunnel-group 10.20.20.20 type ipsec-l2l

tunnel-group 10.20.20.20 ipsec-attributes

ikev2 remote-authentication pre-shared-key cisco

ikev2 local-authentication pre-shared-key cisco

Configurazione di ACL di traffico e crittografia rilevanti

L'appliance ASA utilizza gli Access Control Lists (ACL) per distinguere il traffico che deve essere protetto con la crittografia IPSec dal traffico che non deve essere protetto. Protegge i pacchetti in uscita che corrispondono a una voce ACE (Application Control Engine) dell'autorizzazione e garantisce la protezione dei pacchetti in entrata che corrispondono a una voce ACE dell'autorizzazione.

object-group network local-network

network-object 192.168.0.0 255.255.255.0

object-group network remote-network

network-object 172.16.10.0 255.255.255.0

access-list asa-vpn extended permit ip object-group local-network object-group remote-network

Nota: il peer VPN deve avere lo stesso ACL in un formato con mirroring.

Configurazione di un NAT di identità (facoltativo)

In genere, è necessario un NAT di identità per evitare che il traffico interessante colpisca il NAT dinamico. Il NAT dell'identità configurato in questo caso è:

nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup

Configurazione della proposta IPSec IKEv2

La proposta IPSec IKEv2 viene utilizzata per definire una serie di algoritmi di crittografia e integrità allo scopo di proteggere il traffico di dati. Per poter creare un'associazione di protezione IPSec correttamente, questa proposta deve corrispondere a entrambi i peer VPN. I comandi utilizzati in questo caso sono:

crypto ipsec ikev2 ipsec-proposal IKEV2_TSET

protocol esp encryption aes-256

protocol esp integrity sha-256

Configurare una mappa crittografica e associarla all'interfaccia

Una mappa crittografica combina tutte le configurazioni richieste e deve necessariamente contenere:

- Un elenco degli accessi che corrisponda al traffico che deve essere crittografato (detto comunemente ACL di crittografia)

- Identificazione peer

- Almeno una proposta IPSec IKEv2

La configurazione utilizzata è:

crypto map outside_map 1 match address asa-vpn crypto map outside_map 1 set peer 10.20.20.20 crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET

La parte finale sta applicando questa mappa crittografica all'interfaccia esterna (pubblica) utilizzando il crypto map outside_map interface outside comando.

Configurazione finale ASA locale

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.10.10.10 255.255.255.0

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.0.1 255.255.255.0

!

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

additional-key-exchange 1

key-exchange-method 21

additional-key-exchange 2

key-exchange-method 31

!

crypto ikev2 enable outside

!

tunnel-group 10.20.20.20 type ipsec-l2l

tunnel-group 10.20.20.20 ipsec-attributes

ikev2 remote-authentication pre-shared-key cisco

ikev2 local-authentication pre-shared-key cisco

!

object-group network local-network

network-object 192.168.0.0 255.255.255.0

!

object-group network remote-network

network-object 172.16.10.0 255.255.255.0

!

access-list asa-vpn extended permit ip object-group local-network object-group remote-network

!

nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup

!

crypto ipsec ikev2 ipsec-proposal IKEV2_TSET

protocol esp encryption aes-256

protocol esp integrity sha-256

!

crypto map outside_map 1 match address asa-vpn

crypto map outside_map 1 set peer 10.20.20.20

crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET

!

crypto map outside_map interface outside

Configurazione finale ASA remota

interface GigabitEthernet0/0 nameif outside security-level 0 ip address 10.20.20.20 255.255.255.0 ! interface GigabitEthernet0/1 nameif inside security-level 100 ip address 172.16.10.1 255.255.255.0 ! crypto ikev2 policy 10 encryption aes-256 integrity sha256 group 20 prf sha256 lifetime seconds 86400 additional-key-exchange 1 key-exchange-method 21 additional-key-exchange 2 key-exchange-method 31 ! crypto ikev2 enable outside ! tunnel-group 10.10.10.10 type ipsec-l2l tunnel-group 10.10.10.10 ipsec-attributes ikev2 remote-authentication pre-shared-key cisco ikev2 local-authentication pre-shared-key cisco ! object-group network local-network network-object 172.16.10.0 255.255.255.0 ! object-group network remote-network network-object 192.168.0.0 255.255.255.0 ! access-list asa-vpn extended permit ip object-group local-network object-group remote-network ! nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup ! crypto ipsec ikev2 ipsec-proposal IKEV2_TSET protocol esp encryption aes-256 protocol esp integrity sha-256 ! crypto map outside_map 1 match address asa-vpn crypto map outside_map 1 set peer 10.10.10.10 crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET ! crypto map outside_map interface outside

Nota: l'ACL è nel formato con mirroring e le chiavi già condivise sono le stesse su entrambe le estremità.

Verifica

Prima di verificare se il tunnel è attivo e se sta attraversando il traffico, accertarsi che alle appliance ASA venga inviato traffico interessante.

Nota: il tracer del pacchetto è stato usato per simulare il flusso del traffico. A tale scopo, è possibile usare il comando packet-tracer; packet-tracer input inside icmp 192.168.0.11 8 0 172.16.10.11 dettagliato sull'appliance Local-ASA.

Per convalidare gli scambi di chiave aggiuntivi, è possibile utilizzare il show crypto ikev2 sa comando. Come mostrato nell'output, è possibile controllare i parametri AKE per convalidare gli algoritmi di scambio selezionati.

Local-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:2, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote fvrf/ivrf Status Role 246015 10.10.10.10/500 10.20.20.20/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:20, Auth sign: PSK, Auth verify: PSK Additional Key Exchange Group: AKE1: 21 AKE2: 31 Life/Active Time: 86400/7 sec Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 172.16.10.0/0 - 172.16.10.255/65535 ESP spi in/out: 0xf41ca3b5/0xda0e693b

Risoluzione dei problemi

I debug menzionati possono essere usati per risolvere i problemi del tunnel IKEv2:

debug crypto ikev2 protocol 127

debug crypto ikev2 platform 127

Nota: se si desidera risolvere i problemi relativi a un solo tunnel (come deve essere il caso se il dispositivo è in produzione), è necessario abilitare i debug in modo condizionale utilizzando il comando debug crypto condition peer X.X.X.X.