IPsec/IKEv2: configurazione VPN classica

IPsec/IKEv2: configurazione VPN classica

IPsec con IKEv2 è lo standard de facto per VPN aziendali e per molti client mobili moderni, grazie al supporto nativo in Windows, macOS, iOS e Android. La sua robustezza nasce dal doppio livello di negoziazione (IKE_SA_INIT e IKE_AUTH) e dal mobike che permette di cambiare rete senza cadere.

Perché IKEv2

IKEv2 è più efficiente del vecchio IKEv1, gestisce automaticamente la riconnessione su roaming Wi-Fi/4G e supporta autenticazione EAP per integrarsi con Active Directory o RADIUS. La cifratura usa AES-GCM, Curve25519 o NIST P-256 e PFS tramite Diffie-Hellman gruppo 14 o superiore.

Procedura passo-passo

  1. Installa strongSwan su Ubuntu con apt install strongswan strongswan-pki libcharon-extra-plugins.
  2. Genera CA e certificato server con pki --gen, pki --self e pki --issue, includendo SAN con FQDN pubblico.
  3. Configura /etc/ipsec.conf definendo conn ikev2-vpn con left=%any, leftcert, rightsourceip per il pool client.
  4. Imposta credenziali EAP in /etc/ipsec.secrets nella forma utente : EAP "password".
  5. Apri sul firewall UDP 500 e UDP 4500 (NAT-T) e abilita NAT masquerading per la rete VPN.
  6. Avvia strongSwan con systemctl restart strongswan-starter e verifica con ipsec statusall.
  7. Esporta CA al client e crea il profilo VPN nativo (Windows: Impostazioni VPN > Tipo IKEv2).

MOBIKE e roaming

MOBIKE (Mobility and Multihoming Protocol) e una caratteristica distintiva di IKEv2 che permette di mantenere il tunnel attivo mentre il client cambia indirizzo IP, ad esempio passando da Wi-Fi a 4G. Lato server abilitalo con mobike=yes in ipsec.conf, lato client è tipicamente automatico su iOS e Windows. Questa capacita riduce drasticamente le disconnessioni in ambito mobile, fondamentali per VPN sempre attive.

Autenticazione mista: EAP e certificati

IKEv2 supporta autenticazione asimmetrica: il server si autentica con certificato (leftauth=pubkey) e i client con EAP-MSCHAPv2 (rightauth=eap-mschapv2) o EAP-TLS (rightauth=eap-tls). EAP-TLS richiede certificato client e offre sicurezza superiore, ideale per dispositivi aziendali. EAP-MSCHAPv2 è più comodo perché usa username/password, integrabili con RADIUS, Active Directory o Azure AD via NPS.

Hardening crittografico moderno

Per ambienti che richiedono compliance con NIST o ENISA evita gruppi DH inferiori a 14, sostituisci 3DES con AES-256-GCM e usa SHA-384. Configura ike=aes256gcm16-prfsha384-ecp384 e esp=aes256gcm16-ecp384 in ipsec.conf. Disabilita esplicitamente IKEv1 con ikelifetime e keylife configurati per rotazione frequente (8h IKE, 1h ESP).

Integrazione con Active Directory

strongSwan supporta autenticazione EAP-RADIUS verso Network Policy Server (NPS) di Microsoft, che a sua volta interroga Active Directory. Configura eap_radius plugin con il server RADIUS interno e instradera credenziali per validazione AD. Questo permette SSO con utenze esistenti senza dover sincronizzare password su sistemi separati e supporta policy NPS centralizzate.

Setup client Windows

Su Windows 10/11 IKEv2 è configurato da Impostazioni > VPN > Aggiungi VPN: tipo IKEv2, autenticazione username/password o EAP-MSCHAPv2. Per certificati client, importa il certificato in Personal Certificate Store e configura il profilo via PowerShell (Add-VpnConnection con AuthenticationMethod MachineCertificate). Per distribuzione mass via Intune crea ProfileXML con tutti i parametri.

Best practice di sicurezza

Indipendentemente dalla soluzione VPN scelta, alcune regole valgono sempre: usa chiavi e certificati robusti (RSA 2048+ o ECC P-256+, chiavi WireGuard generate con tool ufficiali), aggiorna regolarmente sia il software server sia i client, applica patch security non appena rilasciate, monitora i log per identificare attività anomale, ruota le credenziali periodicamente, segmenta la rete in modo che il tunnel non dia accesso indiscriminato a tutta la LAN aziendale, e formalizza una policy di disaster recovery con backup delle configurazioni. La VPN protegge il tunnel in transito ma non sostituisce hygiene di sicurezza degli endpoint: combina con MFA, EDR, patching aggressivo e formazione utenti per ottenere una postura di sicurezza completa.

Monitoring e osservabilita

Una VPN che non viene monitorata è una VPN che non sai se funziona. Raccogli metriche minime: numero di sessioni attive, latenza media end-to-end, percentuale di handshake riusciti vs falliti, throughput aggregato, geolocazione client. Strumenti come Prometheus + Grafana, Zabbix, PRTG o stack ELK forniscono dashboard utili. Configura alert proattivi su soglie critiche: tunnel down per oltre N minuti, picchi anomali di tentativi di autenticazione falliti, traffico fuori orario. In ambito aziendale integra con SIEM per correlazione cross-system e response automatica. Il monitoring continuo trasforma la VPN da componente passiva a infrastruttura osservabile e tunable nel tempo.

Documentazione e procedure operative

Documenta sempre l'architettura VPN come la documentereresti per un nuovo collega che la prende in carico domani: diagramma di rete, IP scheme, chiavi/certificati e dove sono custoditi, procedure di onboarding e revoca utenti, processi di rotazione chiavi, runbook per incidenti comuni (tunnel giu, latency anomala, certificato scaduto), responsabilità ownership. Conserva la documentazione in un wiki interno (Confluence, BookStack, GitBook) versionato e con backup. Quando un membro del team lascia, basta passare il riferimento alla documentazione: continuita operativa garantita anche con turnover.

Errori comuni e come risolverli

  • Authentication failed: verifica che leftid corrisponda al SAN del certificato e che il client usi lo stesso identificativo.
  • NAT-T non funziona: controlla che UDP 4500 sia raggiungibile e che encap=yes sia abilitato lato server.
  • Disconnessioni frequenti: abilita mobike=yes e dpdaction=restart per gestire roaming e link instabili.
  • DNS non risolve: spingi il DNS interno via right_dns nella sezione conn o tramite attribute IKEv2.

Domande frequenti

D: IKEv2 è più sicuro di OpenVPN?
R: A parita di cifratura e equivalente; IKEv2 è più integrato nei sistemi operativi e ha minore overhead.

D: Posso autenticare con certificato anziche password?
R: Si, basta usare leftauth=pubkey e rightauth=pubkey emettendo certificati firmati dalla CA per ogni client.

D: Quale algoritmo scegliere?
R: Usa aes256gcm16-prfsha384-ecp384 come default moderno, evitando 3DES e MD5.

Hai bisogno di aiuto?

Se vuoi configurare VPN aziendale con G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?