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