Le VPN site-to-site sono uno dei pilastri del dominio “Secure Network Access, Visibility and Enforcement” del SCOR. Capire come IPsec costruisce i tunnel e come IKE negozia le chiavi è essenziale per distinguere, in uno scenario, quale protocollo o modalità applicare e perché.

Il framework IPsec

IPsec non è un singolo protocollo ma una suite. Due componenti forniscono la protezione dei dati:

  • ESP (Encapsulating Security Payload, protocollo IP 50): offre confidenzialità (cifratura) e integrità/autenticazione del payload. È la scelta standard nelle VPN moderne.
  • AH (Authentication Header, protocollo IP 51): fornisce solo integrità e autenticazione, nessuna cifratura. AH protegge anche parte dell’header IP esterno, e proprio per questo non attraversa il NAT: la traduzione dell’indirizzo altera i campi coperti dall’hash e l’ICV fallisce.

Ogni comunicazione protetta è governata da una SA (Security Association), unidirezionale e identificata dallo SPI. Un tunnel bidirezionale usa quindi almeno due SA IPsec.

Tunnel mode vs Transport mode

Modalità Cosa protegge Uso tipico
Tunnel Incapsula l’intero pacchetto IP originale in un nuovo header IP VPN site-to-site tra gateway
Transport Protegge solo il payload, mantiene l’header IP originale Comunicazione host-to-host, o dentro un altro tunnel (es. GRE/DMVPN)

Nelle VPN site-to-site classiche fra due router/ASA/FTD si usa tunnel mode.

Le fasi IKE

IKE (Internet Key Exchange) è il protocollo di control plane che autentica i peer e negozia le SA. Lavora in due fasi logiche:

  • Phase 1: stabilisce un canale sicuro e autenticato fra i peer — la IKE SA (o ISAKMP SA), la “SA di gestione”. Qui avviene lo scambio Diffie-Hellman, l’autenticazione (PSK o certificati) e la negoziazione dei parametri di cifratura del canale di controllo.
  • Phase 2: dentro il canale protetto dalla Phase 1, negozia le IPsec SA che proteggeranno il traffico dati reale (quello selezionato dagli interesting traffic / proxy ID).

IKEv1 vs IKEv2

IKEv1 in Phase 1 prevede due modalità:

  • Main mode: 6 messaggi, nasconde le identità dei peer, più sicuro.
  • Aggressive mode: 3 messaggi, più veloce ma espone gli identificativi e l’hash PSK, vulnerabile a offline cracking. La Phase 2 (Quick Mode) usa 3 messaggi.

IKEv2 riprogetta tutto ed è lo standard preferito:

  • Stabilisce IKE SA + prima IPsec SA in soli 4 messaggi (IKE_SA_INIT ×2, IKE_AUTH ×2).
  • Non esiste aggressive mode: la distinzione main/aggressive è concettualmente superata.
  • NAT-Traversal (NAT-T) integrato nativamente: rileva il NAT e incapsula ESP in UDP 4500 (il rilevamento parte da UDP 500).
  • EAP integrato, utile per l’autenticazione remote-access (es. AnyConnect IKEv2).
  • Supporta autenticazione asimmetrica (i due peer possono usare metodi diversi) e include anti-DoS (cookie) e liveness check nativi.

PFS e Diffie-Hellman

Il DH group determina la robustezza del materiale di chiave (group 14 = 2048-bit MODP, group 19/20/21 = ECDH). Group deboli (1, 2, 5) sono sconsigliati.

Con la Perfect Forward Secrecy (PFS), la Phase 2 esegue un nuovo scambio DH indipendente da quello di Phase 1: se una chiave viene compromessa in futuro, le sessioni passate non sono decifrabili retroattivamente. La PFS va abilitata su entrambi i peer e il DH group deve corrispondere, altrimenti la Phase 2 non si stabilisce.

Trappole tipiche d’esame

  • Scenario: il tunnel deve passare attraverso un dispositivo NAT. → Non usare AH (incompatibile con NAT perché autentica l’header IP esterno). Usa ESP con NAT-T (incapsulamento in UDP 4500).
  • Scenario: la domanda menziona “aggressive mode” con IKEv2. → Trabocchetto: IKEv2 non ha aggressive mode. Aggressive/main mode esistono solo in IKEv1.
  • Scenario: serve confidenzialità del traffico dati.AH non cifra. Solo ESP fornisce cifratura; AH dà esclusivamente integrità/autenticazione.
  • Scenario: si vuole che la compromissione futura di una chiave non esponga il traffico registrato in passato. → Abilitare PFS (nuovo DH in Phase 2) su entrambi i peer con lo stesso group.
  • Scenario: Phase 1 up ma Phase 2 non sale (o viceversa). → Verificare i mismatch per fase: transform-set/proposal, DH group PFS, e soprattutto i crypto ACL / proxy ID che devono essere speculari fra i due lati.