La sécurité des Réseaux Par0e 6.2 VPN Fabrice Theoleyre theoleyre@unistra.fr
Références F. Ia et O. Menager, Op#miser et sécuriser son trafic IP, édi0ons Eyrolles S. Coulondre, cours de sécurité, INSA Lyon, dpt TC V. Bollapragada, M. Khalid, S. Wainner, IPSec VPN Design, Cisco Press, 2005
Introduc0on Flexibilité d u0lisa0on U0lisateurs nomades (commerciaux ) Télétravail Partenaires Eclatement géographique Avant : créa0on de liaisons dédiées coût Maintenant : VPN!
Introduc0on Défini0on «Créer un canal sécurisé sur un médium qui ne l est pas» Possibilité Connexions d Internet de partenaires Sécurisa0on des communica0ons sans- fil Sécurisa0on des communica0ons internes sensibles Fonc0ons authen0fica0on autorisa0on confiden0alité Intégrité
Introduc0on Avantages Coût Sécurité Passage à l échelle (intégra0on de filiales ) Compa0bilité avec les technologies de niveau 2 Facilité de déploiement Quand faire du VPN? Bande- passante faible De nombreuses localisa0ons géographiques Nomadisme possible Pas de QoS Critères NAT Performances : débit, équilibrage de charge, fiabilité, disponibilité Passage à l échelle : nombre d u0lisateurs / de sites Inter- opérabilités Compression Support d IP seul ou mul0- protocoles
Classifica0on
Classifica0on 3 types: WAN : siège central + filiales Accès : nomades (e.g. commerciaux) Extranet : fournisseurs / clients VPN Quelle couche (2 ou 3) Protocole de tunneling (MPLS, L2TP, PPTP) Qui est en charge L entreprise L opérateur Site 1 Site 2 opérateur Site 4 Site 3
VPN de niveau 2 Les paquets du client sont encapsulés et délivrés à l autre extrémité N importe quel protocole de niveau 3 Virtual Private Lan service Interconnexion de plusieurs LAN ethernet distant
PPP (Point- to- Point Protocol) Crée un lien point à point Découpage en trames Détec0on de boucle envoi possible d'un magic number : si même nombre reçu le lien est une boucle Transmission transparente les caractères ne sont pas interprétés par le modem Mul0- protocoles : peut gérer IP (avec compression d'en- têtes), IPX, appletalk cohabita0on possible sur le même lien négocia0on séparée pour la configura0on Authen0fica0on accès distants 9
Protocoles associés LCP (Link Control Protocol) ac0ve le lien un paquet doit être reçu de chaque côté négocie les op0ons indépendantes des protocoles de niveau 3 iden0té du demandeur taille maximale des paquets caractère de fin de trame Authen0fica0on mot de passe (PAP) secret partagé (CHAP) Extensible Authen0ca0on Protocol (EAP) : sans- fil 10
CHAP Fonc0onne sous la forme de défi (challenge) Bob veut authen0fier Alice Bob envoie un nonce aléatoire (255 caractères au plus) Alice répond au défi fonc0on de hachage (e.g. MD5) avec le nonce concaténé avec le secret partagé Bob reçoit la réponse d'alice et recalcule lui- même si résultat iden0que ok Propriétés secret échangé? rejeu possible? bidirec0onnel?
Auto- configura0on Network Control Protocol négocie les op0ons pour le protocole de niveau 3 s'exécutant au dessus une fois la connexion établie, PPP peut relayer les paquets tant que la connexion NCP n'est pas terminée jepe les paquets IPCP (IP Configura0on Protocol) NCP adapté à IP assigne une adresse IP temporaire à l'autre extrémité adresse IP prise dans un pool pour les sta0ons accédant au réseau par modem vue logique : la sta0on fait maintenant par0e intégrante du réseau Eventuellement compression des en- têtes IP/TCP modem : bas débit (9,600 kbps)
Protocoles CHAP PAP IP compression d'en-tête PPP NCP LCP data-link network authentification data négociation PHY 13
Diagramme d'états mort établissement échec authentification échec fin fermeture connexion 14
Encapsula0on Le format de trame vient des premiers réseaux commutés transmission synchrone avec récupéra0on d'erreurs (HDLC) Transpac (X.25 LAPB) PPP délimiteurs de début et de fin de trames transmission transparente et pour les caractères de délimita0on dans les données? détec0on d'erreurs codes polynomiaux 15
PPP format de la trame flag address control protocol data CRC flag 8 bits 8 bits 8 bits 8 or 16 bits variable 16 bits 8 bits Flag : 01111110-0x7e Adresse : 11111111 le des0nataire doit récupérer la trame (P2P) Control : 00000011 trames non numérotées Protocol : LCP, IPCP, IP Data : 1500 octets par défaut (au plus) CRC : 16 bits CCITT code polynomial 16
PPP - transparence flag address control protocol data CRC flag 8 bits 8 bits 8 bits 8 or 16 bits variable 16 bits 8 bits Byte stuffing 0x7e 0x7d 0x5e 0x7d 0x7d 0x5d caractère X < 0x20 0x7d 0xYY 0xYY = X + 0x20 exemple : 0x03 0x7d 0x23 17
PPPoE TCP TCP IP IP IP PPP PPP PPPoE PPPoE Ethernet Ethernet Ethernet Ethernet ADSL telco X station modem DSLAM serveur destination
Protocoles existants PPTP Encapsula0on de trames PPP sur IP Microsow Authen0fica0on et chiffrement via les extensions de PPP Permet de créer un tunnel PPP au dessus d IP Cas d u0lisa0on du roadwarrior 2 canaux Contrôle Données contrôle (TCP 1723) tunnel GRE pour les données (trames encapsulées dans du PPP)
L2TP similaire à PPTP Cisco Protocoles existants Un seul tunnel mul0plexant tout U0lisé avec IPsec pour sécuriser le tunnel Encapsula0on de niveau 2 dans un tunnel de la couche transport Fins du tunnel PPP et du circuit de niveau 2 différents u0lisé dans les DSLAM par exemple
IPSec
IPSec IPSec Au niveau des paquets IP Obligatoire dans la pile IPv6, faculta0f dans IPv4 Mis en œuvre dans chaque équipement Sécurité de bout en bout Sécurité par lien Services Confiden0alité Authen0fica0on Rejeu
IPSec AH (Authen0fica0on Header) Un champ supplémentaire pour l authen0fica0on Un champ id contre le rejeu ESP (Encapsula0ng Security Payload) Chiffrage du paquet Encapsula0on si confiden0alité des en- têtes Indépendants des algorithmes DES, RC5, Blowfish, HMAC- MD5, HMAC- SHA- 1
IPSec Modes Transport : agit sur la payload Champ protocole suivant : AH ou ESP Uniquement sur les clients terminaux Tunnel : encapsule le paquet en0er Équipements réseaux Mode tunnel Mode transport En tête IP TCP Data En tête IP AH TCP Data En tête IP ESP TCP Data ESP ESPauth Nouveau en-tête IP Nouveau en-tête IP Paquet IP complet AH encrypté authentifié Paquet IP complet ESP Paquet IP complet ESP ESPauth encrypté authentifié
IPSec Paramètres de sécurité Manuel Configura0on de chaque associa0on protocoles & clés à u0liser pour chaque des0na0on possible Lourd Automa0que Protocole dynamique Négocia0on, mise à jour et suppression de tous les paramètres Fonc0onnement Authen0fica0on mutuelle» Secret partagé ou clés publiques» Prise en charge des cer0ficats X509, des autorités de cer0fica0on Créa0on d un secret commun avec Diffie Hellman
IPSec Security Associa0on (SA) Base de données des informa0ons de sécurité Iden0fiée par des0na0on / numéro de série / protocole (AH, ESP) Structure de données comprenant tous les paramètres clés, durée des clés, algorithmes, hôtes Unidirec0onnel : un flux bidirec0onnel 2 SA IPSec SA Pour les protocoles ESP et AH (qui encapsulent les données) IKE SA Uniquement pour le trafic de contrôle (négocia0on des clés) Plus grande durée de vie que les IPSec SA Echange des clés IKE (Internet Key Exchange) Authen0fier Comment échanger les clés secrètes
IPSec IKE (phase 1), ISAKMP SA 1 : Négocia0on Algorithmes, authen0fica0on 2 : Diffie- Hellman (X et Y) Créa0on d un secret partagé K Créa0on d une série de clés Hachage du secret partagé, et de K, Ci, Cr Authen0fica0on, confiden0alité 3 : prouver l iden0té Clés publiques : signer le message avec le cer0ficat Secret partagé : générer un hash commun servant à authen0fier ID : adresses IP, email, X500 dn IKE (Phase 2), IPSec SA Négocia0on des algorithmes à u0liser Etablissement des clés nécessaires à AH et ESP Cisco Press
IPSec Déploiement d IPSec Intégré dans la plupart des OS modernes IPsec na0f dans les noyaux > 2.5.47 (nov. 2002) Windows (> Windows 7) Na0f dans MAC (>10.6, 2009) Android (> 2.x) Interopérabilité quelquefois délicate
Architectures pour un VPN
Protocoles existants IPSEC pour les VPNs Réseau interne B Tunnel Ipsec B A Réseau public Tunnel Ipsec B - C Tunnel Ipsec A - C Réseau interne A Réseau interne C
Protocoles existants IPSEC pour les travailleurs distants (type roadwarrior) Réseau public Réseau interne B Autres u0lisa0ons : Extranet Protec0on d un serveur sensible Accès pour les réseaux sans- fil
Architecture Où placer le concentrateur VPN? Avant le pare- feu Point d apaque de l extérieur Après le pare- feu Impossible d analyser le flux du VPN Sur le pare- feu Confiance Gourmand en ressources Cartes dédiées Apen0on à l intrusion sur un poste nomade Secrets partagés à limiter
VPN- SSL
VPN- SSL VPN au dessus de SSL Accessible avec un navigateur web (hpps) Connexion au réseau Intranet Sécurisa0on SSL Authen0fica0on forte possible SSL / TLS Mail sécurisé (imaps, pops, smtp) Web (hpps) Objec0f Accéder aux applica0ons distantes via un navigateur Contourner les problèmes de déploiement d Ipsec NAT, configura0on, filtrage du réseau visité
2 phases Handshake Authen0fica0on mutuelle en op0on échange de clés Record Layer Comment échanger des informa0ons lorsque les clés ont été déjà échangées Confiden0alité & intégrité fragmenta0on VPN SSL client server Client hello Server hello Certificate server [Server key] [certificate request] Hello done [Certificate] [Client key] Certificate verify Cipher Spec Cipher spec
VPN SSL Cisco VPN- SSL redirecteur de protocoles SSL fonc0onne pour des applica0ons webisées sinon, demande de créer une applet java qui redirige les flots Tunnel d encapsula0on via un client dédié