La cifratura in transito è il cuore di ogni connettività ibrida verso il cloud. Prima di progettare tunnel verso un provider IaaS occorre padroneggiare i mattoni fondamentali: IKEv2 per la negoziazione delle chiavi e IPsec/ESP per la protezione del traffico.
IKEv2: IKE SA e Child SA
IKEv2 sostituisce IKEv1 con un handshake più snello e affidabile. Lo scambio iniziale richiede solo quattro messaggi in due exchange:
- IKE_SA_INIT: negozia gli algoritmi di protezione del canale di controllo ed esegue lo scambio Diffie-Hellman. Nasce la IKE SA (equivalente concettuale della “Phase 1”).
- IKE_AUTH: autentica i peer (PSK, certificati o EAP) e crea la prima Child SA (equivalente della “Phase 2”), cioè la coppia di SA IPsec che protegge il traffico dati reale.
La IKE SA è bidirezionale e protegge le successive negoziazioni; le Child SA sono unidirezionali (una per direzione) e trasportano i dati utente. Nuove Child SA o i rekey avvengono tramite l’exchange CREATE_CHILD_SA, senza rinegoziare l’intera IKE SA.
Vantaggi chiave rispetto a IKEv1: NAT-Traversal nativo, messaggi con acknowledgement (affidabilità), anti-DoS tramite cookie, supporto MOBIKE, e negoziazione asimmetrica dell’autenticazione.
ESP e algoritmi
Il traffico protetto viaggia quasi sempre in ESP (IP protocol 50), che offre cifratura + integrità + anti-replay. AH (protocol 51) fornisce solo integrità, non cifra, ed è di fatto deprecato negli scenari cloud.
| Funzione | Algoritmi consigliati | Note |
|---|---|---|
| Cifratura | AES-256-CBC, AES-GCM | GCM è AEAD: cifra e autentica in un solo passaggio |
| Integrità | SHA-256 / SHA-384 / SHA-512 | Non necessaria se si usa AES-GCM |
| PRF (solo IKE SA) | SHA-256+ | Deriva il key material |
| DH group | 14 (MODP 2048), 19/20/21 (ECP) | Group 1/2/5 obsoleti, da evitare |
La PFS (Perfect Forward Secrecy) impone un nuovo scambio Diffie-Hellman a ogni rekey della Child SA: la compromissione di una chiave non espone le sessioni passate né future. Va abilitata su entrambi i peer con lo stesso DH group, altrimenti il rekey fallisce.
Policy-based vs route-based
La distinzione è cruciale in ambito cloud.
- Policy-based (crypto map): un ACL (“proxy ID” / traffic selector) definisce quale traffico entra nel tunnel. Ogni coppia di subnet richiede una SA dedicata; scala male e non supporta routing dinamico.
- Route-based (VTI): il tunnel è un’interfaccia virtuale (Virtual Tunnel Interface). La decisione “cosa cifrare” è demandata alla routing table: qualunque pacchetto instradato nell’interfaccia tunnel viene protetto. I traffic selector diventano
0.0.0.0/0 ↔ 0.0.0.0/0.
Su IOS-XE il route-based si realizza con un crypto ipsec profile applicato a un’interfaccia tunnel:
interface Tunnel1
ip address 169.254.21.2 255.255.255.252
tunnel source GigabitEthernet1
tunnel destination 203.0.113.10
tunnel mode ipsec ipv4
tunnel protection ipsec profile CLOUD-PROFILE
Perché il cloud predilige route-based: i gateway VPN dei principali provider IaaS espongono tunnel route-based e si aspettano BGP sull’interfaccia (spesso su indirizzi APIPA 169.254.x.x). Con la VTI puoi far girare OSPF/BGP dentro il tunnel, gestire ridondanza attivo/attivo, ECMP e failover senza riscrivere ACL a ogni nuova subnet annunciata. È il modello scalabile e dinamico richiesto dalle connettività ibride.
Rekey e lifetime
Ogni SA ha un lifetime a tempo e/o volume. Valori di default tipici su IOS/IOS-XE:
- IKE SA: 86400 s (24 h)
- IPsec/Child SA: 3600 s (1 h) oppure 4608000 KB
I lifetime non devono coincidere tra i peer: al rekey vince il valore più basso. Sono invece hard match gli algoritmi, il DH group e la scelta PFS.
Trappole tipiche d’esame
- Il tunnel non passa mai in UP e IKE_SA_INIT fallisce → mismatch di Phase 1: encryption, integrity, PRF o DH group diversi tra i peer. Allinea la proposal IKEv2.
- IKE SA su, ma nessun traffico dati → mismatch di Phase 2: transform set (ESP algo) o traffic selector/proxy ID non coincidenti. Nel policy-based gli ACL crypto devono essere speculari.
- Il tunnel sale e cade a intervalli regolari → PFS group impostato su un solo peer o DH group PFS diverso: il rekey della Child SA fallisce. Abilitalo identico su entrambi.
- Scenario “il cloud richiede BGP nel tunnel” → risposta corretta = route-based con VTI, non policy-based; il policy-based non instrada protocolli dinamici.
- Lifetime diversi indicati come causa del down → falso: i lifetime si negoziano al minimo. La causa reale è quasi sempre un parametro crypto o un traffic selector disallineato.