🔑 IPsec et IKEv2 — Fondements VPN

Bloc B2 Module M2.1 C2.1.6 — SĂ©ance 1 3h30 BTS SIO SISR
FormationBTS SIO option SISR — IRIS Mediaschool
BlocB2 — RĂ©seaux et sĂ©curitĂ©
ModuleM2.1 — Infrastructure rĂ©seau
CompétenceB2.2 / Lien B3.4
Durée3h30

🎯 Introduction (10 min)

En 2019, une vulnĂ©rabilitĂ© critique (CVE-2019-11510) a Ă©tĂ© dĂ©couverte dans Pulse Secure : un 0-day permettant la lecture de fichiers sensibles sans authentification, facilitant l'accĂšs non autorisĂ© Ă  des rĂ©seaux d'entreprises et massivement exploitĂ© par des groupes APT. Cet incident montre Ă  quel point une mauvaise configuration ou des logiciels non mis Ă  jour cĂŽtĂ© VPN peuvent ouvrir des portes sur l'ensemble du SI d'une PME. Dans le contexte du tĂ©lĂ©travail massif de 2020, des VPN mal configurĂ©s ont amplifiĂ© les risques — l'objectif de cette sĂ©ance est de comprendre les protocoles et les mĂ©canismes d'IPsec pour concevoir des VPN robustes.

🎯 Objectifs de la sĂ©ance

À l'issue de cette sĂ©ance, vous serez capable de :

  • Expliquer les principaux protocoles VPN (L2TP/IPsec, SSL VPN, OpenVPN) et les diffĂ©rences IKEv1 vs IKEv2.
  • DĂ©tailler les mĂ©canismes d'IPsec (SA, ESP, AH, modes tunnel/transport, phases IKE) et choisir des paramĂštres cryptographiques pertinents (AES-256-GCM, SHA-256/384, DH groups).
  • Configurer et vĂ©rifier une mise en Ɠuvre site-Ă -site IPsec IKEv2 sur routeurs Cisco et diagnostiquer une nĂ©gociation.

1. Protocoles VPN (70 min)

Les VPN sont des solutions qui permettent d'étendre un réseau privé au-dessus d'un réseau non fiable (Internet). Il existe deux grandes familles : les VPN basés sur IPsec (opérés au niveau IP) et les VPN basés sur TLS/SSL (opérés au-dessus de TCP/UDP). Chaque choix a des conséquences opérationnelles (interopérabilité, NAT traversal, gestion des certificats) et de sécurité.

1.1 L2TP/IPsec — historique et usage

L2TP est un protocole de tunneling qui transporte des trames PPP ; il est fréquemment utilisé conjointement avec IPsec pour fournir chiffrement et intégrité. Les clients Windows/macOS disposent d'un support natif pour L2TP/IPsec, ce qui en fait une solution courante pour des accÚs distants légers. L2TP encapsule des sessions PPP, puis IPsec (ESP) chiffre le trafic ; la négociation des clés se fait via IKE (UDP 500) avec NAT-T en UDP 4500 si un NAT est rencontré.

1.2 SSL VPN / TLS-based VPN

Les solutions SSL VPN (ex : appliances type Pulse Secure, ou serveurs OpenVPN en TLS) utilisent la pile TLS. Elles offrent souvent une expérience utilisateur plus flexible (port 443, meilleur NAT traversal) et peuvent proposer des modes « clientless » pour accÚs web. Les clients OpenVPN peuvent s'appuyer sur TLS mutual auth (certificats) pour l'authentification forte cÎté client.

1.3 OpenVPN

OpenVPN est une implémentation TLS robuste et trÚs utilisée en PME : il supporte les modes tun (Layer 3) et tap (Layer 2), fonctionne sur UDP/TCP, et permet d'utiliser une PKI (easy-rsa) pour mutualiser confiance et révocation. OpenVPN est simple à déployer sur Debian et sur des postes clients Linux/Windows.

1.4 IKEv1 vs IKEv2

IKEv1 (ancĂȘtre) utilise deux modes d'Ă©change (main/aggressive) et est plus verbeux ; IKEv2 refond le protocole : Ă©changes simplifiĂ©s, meilleure gestion du rekey, support natif de MOBIKE (mobilitĂ©) et meilleure rĂ©sistance au NAT. IKEv2 est recommandĂ© pour les dĂ©ploiements modernes, il supporte EAP pour des authentifications avancĂ©es et nĂ©gocie plus clairement les suites crypto (proposals).

CritĂšreIKEv1IKEv2
Modes d'Ă©changeMain mode / Aggressive modeÉchanges unifiĂ©s (IKE_SA_INIT + IKE_AUTH)
Nombre de messages6 (main) ou 3 (aggressive)4 (minimum)
NAT TraversalExtension RFC 3947Intégré nativement
MobilitéNonMOBIKE (RFC 4555)
Authentification étendueXAUTH (non standard)EAP (standard)
RecommandationDéploiements legacyTout déploiement moderne

2. IPsec — concepts et paramùtres (70 min)

IPsec n'est pas un seul protocole mais un ensemble : les Security Associations (SA) définissent l'ensemble des paramÚtres cryptographiques (algorithme de chiffrement, algorithme d'intégrité, durée de vie, paramÚtres DH). Deux protocoles principaux protÚgent le trafic :

  • AH (Authentication Header) : fournit intĂ©gritĂ© et authentification de paquets y compris certains champs d'en-tĂȘte IP, mais il est peu compatible avec le NAT.
  • ESP (Encapsulating Security Payload) : fournit chiffrement et authentification des donnĂ©es — c'est le choix par dĂ©faut pour la plupart des VPN.

Tunnel vs transport

ModeDescriptionUsage typique
Transport ProtĂšge la charge utile IP entre deux hĂŽtes ; l'en-tĂȘte IP original est conservĂ©. Communication sĂ©curisĂ©e point-Ă -point entre deux hĂŽtes
Tunnel Encapsule un paquet IP entier (en-tĂȘte + donnĂ©es) dans un nouveau paquet IP. VPN site-Ă -site (les routeurs encapsulent le trafic entre sous-rĂ©seaux)

IKE — phases de nĂ©gociation

  • Phase 1 (ISAKMP / IKE SA) : nĂ©gociation d'une SA IKE (authentification et Ă©change de clĂ©s Diffie-Hellman). IKEv1 distingue main mode / aggressive mode ; IKEv2 fait tout en une sĂ©rie d'Ă©changes plus robustes (IKE_SA_INIT + IKE_AUTH).
  • Phase 2 (IPsec SA / Quick Mode) : nĂ©gociation des SAs IPsec (ESP/AH) qui vont chiffrer rĂ©ellement le trafic.

ParamÚtres cryptographiques recommandés

ParamĂštreRecommandationCommentaire
Algorithme AEADAES-256-GCMChiffrement + intégrité ; tirant parti de l'accélération matérielle AES-NI
Alternative si GCM indisponibleAES-256-CBC + HMAC-SHA256/384Moins performant mais large compatibilité
Hachage (PRF / intégrité)SHA-256 ou SHA-384SHA-1 à proscrire
Groupe Diffie-Hellman (compatibilité)Group 14 (2048-bit MODP)Minimum acceptable pour les nouveaux déploiements
Groupe Diffie-Hellman (sécurité)Group 20 (ECDH P-384)Meilleure sécurité/performance via courbes elliptiques
NAT TraversalUDP/4500 avec NAT-TEncapsulation ESP dans UDP 4500 quand un NAT est détecté

Certificats PKI vs PSK

PSK (Pre-Shared Key)PKI (Certificats)
Mise en ƓuvreSimple, rapideNĂ©cessite une CA et procĂ©dures de gestion
ScalabilitĂ©Faible — gestion manuelle pair par pairÉlevĂ©e — Ă©mission/rĂ©vocation centralisĂ©es
RévocationAucune (rotation manuelle)CRL / OCSP
Risque si compromisÉlevĂ© — toute la liaison exposĂ©eLimitĂ© — seul le certificat rĂ©voquĂ© est impactĂ©
Usage recommandéLiens site-à-site entre entités contrÎlées (si rotation appliquée)AccÚs distant multi-utilisateurs (InnovatTech)

3. Exemple de configuration Cisco IKEv2 site-Ă -site

Contexte : R1 (SiĂšge Nice) IP publique 91.208.45.12, R2 (Succursale Cannes) IP publique 203.0.113.2.
Réseaux locaux : Nice 192.168.10.0/24, Cannes 192.168.30.0/24.

💡 Note — Nous utilisons ici une configuration route-based (interface Tunnel0) liĂ©e Ă  un ipsec profile. Une approche alternative classique est d'utiliser une crypto map (policy-based).

R1 (Nice) — configuration IKEv2 + IPsec

! Contexte IOS 16.x — Routeur R1 (Nice)
hostname R1-Nice
!
interface GigabitEthernet0/0
 description WAN
 ip address 91.208.45.12 255.255.255.248
!
crypto ikev2 proposal IKEV2-PROP
 encryption aes-gcm-256
 integrity sha256
 group 14
!
crypto ikev2 policy IKEV2-POL
 proposal IKEV2-PROP
!
crypto ikev2 keyring KEYRING-NICE
 peer R2-Cannes
  address 203.0.113.2
  pre-shared-key local  0 MyVerySecretPSK
  pre-shared-key remote 0 MyVerySecretPSK
!
crypto ikev2 profile IKEV2-PROFILE
 match identity remote address 203.0.113.2 255.255.255.255
 authentication local pre-share
 authentication remote pre-share
 keyring local KEYRING-NICE
 proposal IKEV2-POL
!
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
 mode tunnel
!
crypto ipsec profile IPSEC-PROFILE
 set transform-set TS
 set ikev2-profile IKEV2-PROFILE
!
interface Tunnel0
 ip address 10.10.10.1 255.255.255.252
 tunnel source GigabitEthernet0/0
 tunnel destination 203.0.113.2
 tunnel protection ipsec profile IPSEC-PROFILE
!
ip route 192.168.30.0 255.255.255.0 Tunnel0

R2 (Cannes) — configuration miroir

hostname R2-Cannes
!
interface GigabitEthernet0/0
 ip address 203.0.113.2 255.255.255.248
!
crypto ikev2 proposal IKEV2-PROP
 encryption aes-gcm-256
 integrity sha256
 group 14
!
crypto ikev2 keyring KEYRING-CANNES
 peer R1-Nice
  address 91.208.45.12
  pre-shared-key local  0 MyVerySecretPSK
  pre-shared-key remote 0 MyVerySecretPSK
!
crypto ikev2 profile IKEV2-PROFILE
 match identity remote address 91.208.45.12 255.255.255.255
 authentication local pre-share
 authentication remote pre-share
 keyring local KEYRING-CANNES
 proposal IKEV2-POL
!
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
 mode tunnel
!
crypto ipsec profile IPSEC-PROFILE
 set transform-set TS
 set ikev2-profile IKEV2-PROFILE
!
interface Tunnel0
 ip address 10.10.10.2 255.255.255.252
 tunnel source GigabitEthernet0/0
 tunnel destination 91.208.45.12
 tunnel protection ipsec profile IPSEC-PROFILE
!
ip route 192.168.10.0 255.255.255.0 Tunnel0

Vérification et sorties attendues

! Vérifier IKEv2 SA (R1 ou R2)
Router# show crypto ikev2 sa
ID LOCAL                 REMOTE                fvrf  fpolicy
1 91.208.45.12:500       203.0.113.2:500       0     active
  IKEv2 SA established, encrypted: 1, authenticated: 1

! Vérifier IPsec SA
Router# show crypto ipsec sa
interface: Tunnel0
    Crypto map tag: IPSEC-MAP, seqnum: 10, local addr: 91.208.45.12
    local  ident (addr/mask/prot/port): (91.208.45.12/255.255.255.255/0/0)
    remote ident (addr/mask/prot/port): (203.0.113.2/255.255.255.255/0/0)
    current_peer 203.0.113.2
    #pkts encaps: 12, #pkts encrypt: 12, #pkts digest: 12
⚠ Attention

show crypto isakmp sa est la commande historique pour IKEv1 (ISAKMP). Avec IKEv2, utilisez exclusivement show crypto ikev2 sa.

đŸ› ïž Travaux Pratiques (70 min)

Contexte du TP

Vous ĂȘtes technicien chez InnovatTech SARL (Nice). Le siĂšge (R1 — Cisco ISR 4321) doit Ă©tablir un VPN site-Ă -site IPsec IKEv2 vers la succursale Cannes (R2 — Cisco). Le responsable rĂ©seau vous fournit les adresses publiques et vous demande une configuration IKEv2 avec PSK pour valider le mĂ©canisme avant migration vers PKI.

Objectif

Configurer un VPN site-à-site IPsec IKEv2 entre R1 (Nice) et R2 (Cannes), vérifier la négociation IKE et IPsec, et vérifier que les réseaux 192.168.10.0/24 et 192.168.30.0/24 peuvent communiquer via le tunnel.

Prérequis techniques

  • AccĂšs console/SSH aux routeurs R1 et R2 (IOS 16.x) avec privilĂšges d'administration.
  • Adresses publiques assignĂ©es : 91.208.45.12 pour R1, 203.0.113.2 pour R2.
  • AccĂšs au plan d'adressage InnovatTech (rĂ©seaux locaux dĂ©jĂ  configurĂ©s).
  • Outil de test : un poste Linux sur 192.168.10.X capable de pinger 192.168.30.5.

Étapes

1. Préparer les adresses et ACLs

Sur chaque routeur, vérifiez les interfaces WAN et les routes vers les réseaux locaux.

! Vérifier interfaces
R1# show ip interface brief
R2# show ip interface brief

2. Configurer IKEv2 et IPsec (R1 puis R2)

Copier/adapter les blocs de configuration fournis dans la section prĂ©cĂ©dente (proposals, keyring, profile, ipsec profile, Tunnel0). Utiliser la mĂȘme PSK sur les deux pairs (MyVerySecretPSK dans l'exemple), ou de prĂ©fĂ©rence stocker les PSK dans un gestionnaire sĂ©curisĂ©.

3. Activer le routage vers le tunnel

R1(config)# ip route 192.168.30.0 255.255.255.0 Tunnel0
R2(config)# ip route 192.168.10.0 255.255.255.0 Tunnel0

4. Vérifier la négociation

R1# show crypto ikev2 sa
R1# show crypto ipsec sa
! (optionnel si IKEv1 présent)
R1# show crypto isakmp sa

Vous devriez voir un IKEv2 SA « established Â» et des compteurs IPsec non nuls (pkts encaps/decaps). Si rien n'apparaĂźt, vĂ©rifiez NAT, ACLs et la correspondance des PSK.

5. Test de connectivité

# Sur le poste Linux client (192.168.10.x)
$ ip route
$ ping -c 4 192.168.30.5

# Vérification cÎté routeur
R1# show crypto ipsec sa | include pkts

Livrable attendu

  • Fichiers de configuration (extraits) des deux routeurs contenant les blocs IKEv2/IPsec, l'interface Tunnel et les routes.
  • Sorties des commandes de vĂ©rification (show crypto ikev2 sa, show crypto ipsec sa) montrant les SA Ă©tablies.
  • Capture d'un ping rĂ©ussi entre 192.168.10.10 et 192.168.30.5 avec horodatage.

CritÚres de réussite

  • ☐ Une IKEv2 SA active sur R1 et R2 (show crypto ikev2 sa montre « established »).
  • ☐ Des compteurs non nuls dans show crypto ipsec sa (paquets chiffrĂ©s/dĂ©chiffrĂ©s).
  • ☐ Ping rĂ©ussi entre les deux sous-rĂ©seaux via le tunnel.

🔁 SynthĂšse de sĂ©ance (10 min)

Cette séance a posé les fondations des VPN IPsec : on a vu qu'IPsec construit des SAs qui définissent comment chiffrer et authentifier le trafic, qu'ESP est le protocole pratique pour chiffrer des flux, et qu'IKEv2 simplifie et sécurise la négociation des clés. En pratique, privilégiez AES-256-GCM et ECDH (group 20) lorsque le matériel le permet ; préférez PKI pour des accÚs multiples et PSK pour de petites liaisons point-à-point bien contrÎlées.

❓ Question de vĂ©rification

En une phrase, expliquez pourquoi AH est rarement utilisé avec des NATs.

🎼 QCM — Testez vos connaissances

  1. Quel protocole IPsec fournit à la fois chiffrement et authentification des données, tout en restant compatible avec le NAT ?
  2. Quelle amélioration majeure IKEv2 apporte-t-il par rapport à IKEv1 concernant la mobilité des terminaux ?
  3. En mode tunnel IPsec, qu'est-ce qui est encapsulé dans le nouveau paquet IP ?
  4. Quel algorithme AEAD est recommandé pour les nouveaux déploiements IPsec et pourquoi ?
  5. Pourquoi le protocole AH est-il incompatible avec NAT ?
📋 Afficher les corrections
  1. ESP (Encapsulating Security Payload) — ESP chiffre la charge utile et fournit l'authentification via un HMAC. Contrairement Ă  AH, il ne couvre pas les champs de l'en-tĂȘte IP externe et fonctionne donc correctement aprĂšs traversĂ©e d'un NAT.
  2. MOBIKE (RFC 4555) — IKEv2 intĂšgre nativement MOBIKE, qui permet Ă  un pair de changer d'adresse IP (ou de rĂ©seau) sans rĂ©initialiser le tunnel. C'est essentiel pour les terminaux mobiles changeant de rĂ©seau (Wi-Fi → 4G).
  3. Le paquet IP original complet (en-tĂȘte + donnĂ©es) — En mode tunnel, le paquet IP d'origine (source/destination internes) est entiĂšrement encapsulĂ© dans un nouveau paquet IP (source/destination = adresses publiques des routeurs). Cela permet de relier des sous-rĂ©seaux distants de façon transparente.
  4. AES-256-GCM — C'est un algorithme AEAD (Authenticated Encryption with Associated Data) qui combine chiffrement et intĂ©gritĂ© en une seule passe, rĂ©duisant la complexitĂ© et bĂ©nĂ©ficiant de l'accĂ©lĂ©ration matĂ©rielle AES-NI prĂ©sente dans la plupart des processeurs modernes.
  5. AH authentifie les champs de l'en-tĂȘte IP (y compris les adresses source/destination) — Or, NAT modifie prĂ©cisĂ©ment ces adresses lors du passage du paquet. La vĂ©rification d'intĂ©gritĂ© d'AH Ă©choue donc systĂ©matiquement aprĂšs traversĂ©e d'un NAT, rendant le protocole inutilisable dans ces environnements.
💡 À retenir

IPsec = ensemble de protocoles (SA, AH, ESP) + négociation IKE. Préférez toujours ESP en mode tunnel + IKEv2 + AES-256-GCM + group 20 (ECDH P-384). Utilisez PKI pour les accÚs distants multi-utilisateurs et PSK uniquement pour des liaisons site-à-site bien contrÎlées avec rotation réguliÚre. La commande clé de diagnostic est show crypto ikev2 sa (pas isakmp).

SĂ©ance suivante : SĂ©ance 2 — OpenVPN et dĂ©ploiement d'accĂšs distant sĂ©curisĂ© (PKI + 2FA).