3-Cours VPN IPSEC
3-Cours VPN IPSEC
❖ Caractère privé :
C’est le cryptage qui confère son caractère privé aux données puisqu’elles
ne peuvent être décodées que par les interlocuteurs d’extrémité
VPN : Généralités
❑ Méthode utilisée pour faire transiter des informations privées sur un
réseau public
❑ Garantit la confidentialité et l’intégrité des données ainsi que
l’authenticité des deux parties
❑ Chaque paquet est complétement chiffré et placé à l’intérieur d’un
nouveau paquet
VPN : Généralités
❖ Exemples de protocoles de tunneling
9
VPN : Le VPN d'accès
VPN d'accès : Utilisé pour permettre à des utilisateurs itinérants
d'accéder au réseau privé.
Deux cas
User demande au fournisseur d'accès de lui établir le VPN (connexion chiffrée vers serveur distant)
• User communique avec NAS (Network Access Server) du FI ==> NAS établit connexion
• Permet à User de communiquer sur ++ réseaux en créant plusieurs tunnels, mais nécessite un FI
proposant un NAS compatible avec la solution VPN choisie par l'entreprise.
✓ demande connexion par NAS n'est pas chiffrée Ce qui peut poser problèmes sécurité
User possède son propre logiciel client pour le VPN
• User établit directement la communication de manière chiffrée vers le réseau de l'entreprise
• Intégralité des infos sera chiffrée dès l'établissement connexion.
• Chaque client transporte avec lui logiciel pour établir une communication chiffrée
✓ pour pallier ce problème certaines E/ses mettent en place des VPN à base de SSL
10
VPN : L'intranet VPN
⚫ utilisé pour relier (au moins) deux intranets entre eux
⚫ Utile au sein d'une E/se possédant ++ sites distants.
⚫ Besoins (necessité d'assurer)
– Confidentialité des données transitant
– Authentification au niveau paquet
– Validité des données
– Identification de leur source
– Non-répudiation
⚫ Techniques usuels
– Signatures
– Chiffrement
– Contrôles d'intégrité
– encapsulation IP dans IP
11
VPN : Familles
⚫ VPN basé sur un réseau public (Internet) tels que IPSec et SSL.
– données transitent sur réseau public
• doivent être chiffrées pour garantir la sécurité
⚫ VPN basé sur un réseau privé (réseau opérateur) tels que MPLS.
– Communications passent entièrement sur le réseau privé d'un opérateur
• les données n'ont pas nécessairement besoin de chiffrement
12
VPN : Principe de tunneling
Tunneling = processus d'encapsulation, transmission et désencapsulation.
⚫ Construire un chemin virtuel : la source chiffre les données et les achemine en empruntant ce
chemin virtuel
Les VPN simulent un réseau privé, alors qu'ils utilisent en réalité une infrastructure d'accès
partagée, comme Internet ==> assurer accès aisé et peu coûteux
13
VPN : Exemple
⚫ L’encapsulation (ou tunneling) de paquets dans d’autres paquets
14
VPN : bilan
⚫ Un système de VPN doit pouvoir mettre en oeuvre les fonctionnalités suivantes :
⚫ Authentification User
– Seuls les Users autorisés doivent pouvoir s'identifier sur réseau virtuel
– historique connexions et actions effectuées sur le réseau doit être conservé.
⚫ Gestion d'adresses
– client sur réseau doit avoir une adresse privée, qui doit rester confidentielle
- nouveau client doit pourvoir se connecter facilement au réseau et recevoir une @
⚫ Chiffrement des données
– Lors de leurs transports sur le réseau public les données doivent être protégées
⚫ Gestion de clés
– Les clés de chiffrement pour C &S doivent pouvoir être générées dynamiquement ....
⚫ Prise en charge multiprotocole
– Solution VPN doit supporter protocoles les plus utilisés sur réseaux publics (IP, ..)
15
VPN : implémentations
⚫ Niveau 2
– PPTP de Microsoft
– L2TP (Layer Two Tunneling Protocol) proposé par l’IETF.
⚫ Niveau 2.5
– MPLS
⚫ Niveau 3
– IPSec
⚫ Niveau 4
– SSL / TLS
⚫ Niveaux >
– SSH
16
GRE (Generic Routing Encapsulation)
développé par Cisco et décrit dans les RFC 1701, 1702 et 2784
multi-protocolaire
GRE (Generic Routing Encapsulation)
⚫ chaque équipement ou LAN utilisant GRE doit posséder une passerelle sur laquelle on crée
une interface virtuelle d'acheminement par tunnel (tunneling), par laquelle transitera le trafic
destiné au LAN distant.
▪ ne permet pas non plus les accès distants sécurisés (remote accesses)
⚫ GRE conjointement avec IPSec
▪ profiter des possibilités de Multicast de GRE, limitées en IPSec tunnel
– Cette première connexion permet de faire circuler des données sur Internet.
⚫ Trafic conçu pour le réseau privé passe par la connexion virtuelle de PPTP
⚫ PPTP simplifie & réduit le coût du déploiement d'une solution d'accès distant car il fournit des
➢ L2TP (Layer 2 Tunneling Protocol) et IPsec sont des protocoles inspirés de PPTP et chargés de le
remplacer ...
L2TP (Layer 2 Tunneling Protocol)
⚫ L2TP (RFC 2661) est une dérive des protocoles L2F de Cisco et PPTP de Microsoft.
⚫ Actuellement développé et évalué conjointement par Cisco Systems, Microsoft, Ascend, 3Com
ainsi que d'autres acteurs clés du marché des réseaux.
⚫ Permet l'encapsulation paquets PPP au niveau couches 2 (Frame Relay et ATM) et 3 (IP)
⚫ Lorsqu'il est configuré pour transporter les données sur IP, L2TP peut être utilisé pour faire du
tunnelling sur Internet.
23
L2TP (Layer 2 Tunneling Protocol)
⚫ SOHO ==> Multitude de services Internet proposés au particulier et aux petites Ent/ses
– travail à distance, mail, serveur Web hébergé, VPN, …
⚫ Technologies de + en + complexes ==> déploiements sont ralentis car
– coûteux (liens fibres optiques, terminaux de connexion ATM), spécifiques
– (encapsulations des protocoles pour interfacer PC et modem)
– difficiles à mettre en place par opérateurs (configuration, formation users)
24
L2TP (Layer 2 Tunneling Protocol)
⚫ Propositions ont été faites afin de “standardiser” & “simplifier” le mode de connexion
entre un PC et un modem de type xDSL ou modem câble
– ATM sur interface xDSL, MAIS
• Interopérabilité éqpt xDSL ; ligne xDSL ne peut être utilisé que
par 1PC
– Interface ATM et modem xDSL, MAIS
25
L2TP (Layer 2 Tunneling Protocol)
⚫ L'alternative PPPoE (PPP over Ethernet) repose sur :
▪ PPP pour la comm avec l'ISP au travers de l'architecture xDSL mise en place.
→ solution proche du modèle Dial-Up bien connu de l'utilisateur final
▪ Topologie Ethernet pour le partage du modem xDSL au travers d'un réseau local
bâti autour de Hub (ou Switch) ou de rattachement direct au client PC dans
lequel est implantée une carte d'interface Ethernet (NIC)
26
L2TP (Layer 2 Tunneling Protocol)
⚫ PPP : quoi ?
– standard pour ltransport datagrammes multi-protocoles sur une liaison P2P
⚫ Composants de PPP
– méthode pour encapsuler les datagrammes de plusieurs protocoles.
– protocole de contrôle du lien (LCP) pour établir/configurer liaison de données
– famille de protocoles de contrôle de réseau (NCPs) pour l'établissement et la
configuration de plusieurs protocoles de la couche "réseau"
27
L2TP (Layer 2 Tunneling Protocol)
⚫ PPPoE : quoi ?
Souhait :
• connecter hôtes multiples à un site distant à travers un même dispositif
d'accès client
• fournir un contrôle d'accès et facturer selon la même méthode que celle
utilisée par PPP sur réseau commuté.
▪ la méthode la plus avantageuse financièrement pour rattacher des hôtes
multiples à un dispositif d'accès client est l'utilisation d'Ethernet
▪ PPP sur Ethernet (PPPoE) fournit la capacité de connecter un réseau d'hôtes vers un
concentrateur d'accès distant à travers un simple dispositif d'accès ponté.
→ chaque hôte utilise sa propre pile PPP et l'utilisateur garde une interface familière.
▪ Pour fournir une connexion point à point à travers Ethernet, chaque session PPP doit
apprendre l'adresse Ethernet de la m te afin d'établir et d'identifier une session
unique.
28
L2TP (Layer 2 Tunneling Protocol)
⚫ PPPoE : étapes (découvete + session PPP)
L'hôte lancer une requête de découverte afin d'identifier l'adresse Ethernet MAC de son
vis à vis puis définir un identificateur de session PPPoE.
▪ l'hôte découvre les concentrateurs d'accès avec lesquels il peut communiquer et
en sélectionne un.
▪ Quand la découverte s'achève avec succès, l'hôte et le concentrateur d'accès
sélectionné possèdent les informations qu'ils emploieront pour construire leur
connexion point à point sur Ethernet.
29
L2TP (Layer 2 Tunneling Protocol)
⚫ PPPoE : étapes (découverte + session PPP)
Une fois que la session PPPoE est ouverte, les données PPP sont envoyées
comme dans n'importe quelle autre encapsulation PPP.
30
L2TP (Layer 2 Tunneling Protocol) : Principe
⚫ L2TP a été conçu pour transporter des sessions PPP au travers d'un réseau IP, et de terminer
physiquement les sessions PPP en un point de concentration déterminé dans le réseau
⚫ L2TP est un protocole réseau qui encapsule des trames PPP pour les envoyer sur des réseaux
IP, X25, relais de trames ou ATM.
⚫ Lorsqu'il est configuré pour transporter les données sur IP, le protocole L2TP peut être utilisé
pour faire du tunnelling sur Internet. Dans ce cas, le protocole L2TP transporte des trames PPP
dans des paquets IP.
⚫ L2TP nécessite deux passerelles d'encapsulation :
LAC (L2TP Access Concentrator)
LNS (L2TP Network Server)
31
L2TP (Layer 2 Tunneling Protocol) : Principe
⚫ Le LAC joue le rôle d'initiateur de tunnel / serveur d'accès
• à l'origine du tunnel, responsable de l'initiation de la connexion et de
l'identification du VPN
• fournit support physique qui sera utilisé par L2TP pour transférer le trafic vers un ou
plusieurs serveurs réseau L2TP (LNS).
• assure le fractionnement en canaux pour tout protocole basé sur PPP.
32
L2TP (Layer 2 Tunneling Protocol)
2 types de paquets
▪ Paquets de contrôle ==> Fonctions de fiabilité
▪ Paquets de données
4 modes de tunneling
voluntary tunnel (encapsulation L2TP par le LAC)
compulsory tunnel — incoming call (Encapsulation par l’ISP)
compulsory tunnel — remote dial (VPN via liaison permanente)
L2TP multi-hop connexion (Connexion via une passerelle)
33
L2TP : Modes de tunneling
Voluntary tunnel model
• L'U (à travers le client LAC) envoie paquets L2TP à l'ISP, qui les forward au LNS l'ISP n'a pas
besoin de supporter L2TP, il ne fait que forwarder paquets entre LAC & LNS
• Si le login/mot de passe est valide, cela permet au LAC de connaître le LNS auquel
l'utilisateur peut se connecter pour être sur le VPN de son entreprise
• Si aucun tunnel n'existe entre le LAC et le LNS, un tunnel est créé à l'initiative du LAC
• Une session PPP est créée à l'intérieur de ce tunnel, et l'utilisateur obtient donc une connexion
PPP virtuelle entre lui et le réseau de son entreprise.
L2TP : Modes de tunneling
Compulsory tunnel model-incoming call
▪ Un tunnel est créé entre le LAC de l'ISP et le LNS home gateway
L'E/se peut fournir à l'U distant un login pour le VPN
▪ L'U envoie paquets PPP à l'ISP (LAC) qui l'encapsule dans tunel L2TP et l'envoie au LNS
▪ L'ISP doit supporter l2TP
Compulsory tunnel model-remote dial
▪ Le home gateway (LNS) initie un tunnel avec l'ISP (LAC) et demande à l'ISP de placer un
appel local au client PPP (U distant)
▪ Ce modèle est destiné aux cas où le client PPP distant (appelé) possède une liaison
télephonique permanente avec l'ISP
L2TP Multi-hop connection
▪ Moyen pour rediriger le traffic L2TP à la place de clients LAC & LNS à travers une GW
Une connection multi-hop est établie en utilsant une passerelle L2TP Multi-hop
▪ Un 1er tunnel est établie depuis un client LAC vers la GW
L2TP : Avantages & inconvénients
Inconvénients
• Overhead
• L2TP repose sur UDP, lui même repose sur IP
• empilement couches est (depuis backbone) : IP/PPP/L2TP/UDP/IP/Couche2
• A cela se rajoutent TCP/HTTP si l'utilisateur surfe sur le web.
Avantages
▪ L2TP permettant de terminer des sessions PPP n'importe où.
▪ fonction VPN de L2TP : permettre à un utilisateur mobile de se connecter à un réseau
particulier, éventuellement privé, tout en utilisant une infrastructure publique et partagée.
▪ Ainsi un salarié d'une entreprise peut être sûr de se connecter à un VPN particulier de son
entreprise, quelque soit le POP de son entreprise auquel il se connecte. Il peut ainsi
conserver les droits, et les restrictions définies par son profil. Les concepts de mobilité et
de Wholesale représentent donc les avantages de L2TP.
36
L2TP : Résumé
• L2TP permet en conclusion le transport d'une couche 2 (PPP) over un réseau
d'infrastructure basé sur IP.
• Cela permet aux opérateurs de véhiculer des services étanches basés sur une
authentification Radius apportant un provisionning simple, dynamique et rapide.
• L'intérêt d'une séparation du réseau d'infrastructure des services devient évidente.
• Les réseaux, y compris ceux d'infrastructures opérateurs, évoluent vers du full IP.
• Les services existants et futurs sont réalisés par des concepts de L3VPN et L2VPN.
• Ceci permettant de répondre aussi aux exigences d'interconnexions Lan to Lan.
• L2TP se positionne comme un tunnel transportant un L2 over IP, d'autres apparaissent
sur le marché comme VPLS, VPWS, PWE3 et comme le dit Cisco,
37
IPSec : Introduction
Introduction
– Créé en 1992, 1ère version en 1995
– Couche réseau (IP)
– Relier, de manière sûre, 2 systèmes en s'appuyant sur un réseau existant (non sûr)
– Défini par un groupe de travail du même nom à l’IETF
– IPSec n’est pas un protocole fixe
– Intégré de base dans IPV6, doit être explicitement utilisé avec IPV4
Propriétés
– confidentialité des données et protection contre l’analyse du trafic
– intégrité des données
– authentification de l’origine des données
– protection contre le rejeu
38
IPSec : Introdcution
• IPSec est un ensemble de protocoles qui accomplit des fonctions semblables à
SSL mais situé à un autre endroit de pile TCP/IP
• IPSec est plus bas niveau que SSL/TLS. Le résultat est ce qui est appelé une
association de sécurité entre deux adresses
• Étant de plus bas niveau implique que même les informations de contrôle, les
numéros de séquences utilisés pour gérer la connexion TCP, sont chiffrés.
IPSec : Principe de fonctionnement
Créez un tunnel avec IPSec
IPSec : Principe de fonctionnement
Différents cas d’usage d’IPSec
IPSec : Mode Transport et Mode Tunnel
▪ Deux Modes
IPSec : Mode Transport et Mode Tunnel
• En mode transport, on chiffre/authentifie la partie data d’un paquet IP
excepté les champs variables de l’entête (TTL …)
➢ Offre une protection plus importante contre l’analyse du trafic, car il analyse
du trafic et il masque les adresses de la source et de la destination finale
Comparaison avec SSL
• IPSec demande qu’un client soit installé sur chaque unité pour permettre le
chiffrement. Sa configuration est plus difficile pour SSL (transparent)
• SSL est inclut dans les navigateurs, ce qui ne nécessite pas l’installation de
clients
• SSL fonctionne plutôt pour les applications web, ce qui n’est pas le cas d’IPSec
➢ IPSec est utilisé pour les communications site à site qui ne sont pas de type
client serveur
• Certains routeurs NAT (Network Adress Translation) ont de la difficulté avec
IPSec. SSL n’a pas ce problème.
• Certains fournisseurs d’accés internet demandent d’etre payés pour des
communications IPSec. C’est impossible à faire avec SSL.
• Si IPSecv6 devenait supporté par les applications, alors SSL pourrait devenir
inutile.
Sécurité et IP
➢ Mécanismes cryptographiques :
• Authenticité = Code d’authentification de message (MAC)
• Confidentialité = Chiffrement
• Protection contre le rejeu = Numéro de séquence
AH=51, ESP=50
❑ AH et ESP contiendront eux-mêmes un champ Next Header qui indiquera le type
du protocole (TCP, ...) initialement contenu dans le datagramme IP
50
IPSec : AH (Propriétés)
Authenicité
• datagrammes reçus ont effectivement été émis par l'hôte dont l'@ IP est indiquée
comme adresse source dans les en-têtes
Unicité (optionnelle, à la discrétion du récepteur)
• datagramme ayant été émis légitimement et enregistré par un attaquant ne peut être
réutilisé ==> éviter attaques par rejeu
Intégrité
• Certains champs du datagramme IP n'ont pas été modifiés
• Mode tunnel ==> totalité des champs (y compris les en-têtes) du datagramme IP encapsulé
dans le datagramme protégé par AH
➢ longueur de l'en-tête (en IPv4), longueur totale du datagramme (en IPv4),
longueur des données (en IPv6),
➢ identification, protocole ou en-tête suivant (AH ==> 51)
➢ @ IP de l'émetteur, @ IP du destinataire(
51
IPSec : AH (Propriétés)
L'intégrité (suite) :
Ne porte pas sur les options IP modifiables (non prédictibles) pendant transport
AH n'assure pas la confidentialité : les données sont signées mais pas chiffrées
52
IPSec : AH (Modes)
• IP AH peut être utilisé selon deux modes : Transport ou Tunnel.
53
IPSec : Authentication Header (AH)
54
IPSec : Authentication Header (AH)
55
IPSec : Authentication Header (AH)
56
IPSec : Encapsulation Security Payload (ESP)
Deux champs supplémentaires + 1 optionnel
• Entête ESP
• Trailer ESP
• Données d'authentification (optionnel)
Données d'authentification
57
IPSec : Encapsulation Security Payload (ESP)
Comme pour AH, ESP peut être appliqué en deux modes :
En mode transport, ESP assure :
– Confidentialité :
• la partie données des datagrammes IP transmis est chiffrée
– Authentification de l'origine des données (optionnelle)
• la partie données des datagrammes reçus ne peut avoir été émise que par
l'hôte avec lequel a lieu l'échange IPsec, qui ne peut s'authentifier avec
succès que s'il connaît la clef associée à l'ESP
– Unicité (optionnelle, à la discrétion du récepteur)
• protection contre rejeux
– Integrité des données (optionnelle) :
• les données n'ont pas été modifiées depuis leur émission
58
IPSec : Encapsulation Security Payload (ESP)
⚫ En mode tunnel : Mesure de sécurité s'appliquent à la totalité (en-têtes et options
inclus) du datagramme encapsulé.
⚫ Avantages supplémentaires :
confidentialité des données
• S'étend à l'ensemble des champs, y compris les en-têtes du datagramme IP
encapsulé dans le datagramme protégé par ESP
confidentialité, limitée, des flux / traffic
• Cacher @ hôtes source et destination + taille réelle des datagrammes IP
• Attaquant qui sniffe données transitant ne peut pas déterminer quel volume est
transféré entre deux hôtes particuliers
Volume total de données échangées entre ces deux sous-réseaux est
calculable par cet attaquant, mais pas la répartition de ce volume entre les
différents systèmes de ces sous-réseaux
59
IPSec : Encapsulation Security Payload (ESP)
Portée de la confidentialité et de l'authentification en mode Transport et Tunnel
mode
tunnel
En mode Transport, l’en-tête du diagramme IP (e.g., @source & @dest ... sont à texte clair)
– Si tout datagramme qui inclut infos du protocole doit être protégé ==> utiliser mode
Tunnel
60
IPSec : Encapsulation Security Payload (ESP)
61
IPSec : Encapsulation Security Payload (ESP)
62
IPSec : Internet Key Exchange (IKE)
AH et ESP utilisent des paramètres (algos chiffrement & hachage, clefs, mécanismes
sélectionnés) sur lesquels les tiers communiquants doivent se mettre d’accord
⚫ SPI référence une entrée dans BD où sont stockées ces informations pour une AS donnée
IKE
=> échange des clés, gestion des paramètres relatifs à la sécurisation des échanges
76
Qu’est-ce qu’OpenVPN ?
⚫ OpenVPN est à la fois un protocole VPN et un logiciel qui utilise les
techniques VPN pour sécuriser les connexions point à point et site à site.
Actuellement, c’est l’un des protocoles VPN les plus populaires parmi les
utilisateurs VPN.
⚫ Programmé par James Yonan et sorti en 2001, OpenVPN est l’un des seuls
protocoles VPN open-source qui possède également sa propre application
open-source (SoftEther étant l’autre).
87
Qu’est-ce qu’OpenVPN ?
⚫ Le Protocole OpenVPN est une application informatique ouverte pour la mise en place de
techniques de réseaux privés virtuels (VPN, en anglais Virtual Private Network), avec des
connexions sécurisées point-par-point ou site-par-site, pour des configurations via routage
ou pont, ainsi que pour les accès à distance. Il exploite un protocole de sécurité sur
mesure qui utilize SSL/TLS pour les échanges clés. Il est capable de traverser des
transpondeurs de réseaux d’adresses (en anglais NAT : Network Adress Translators) et des
pare-feu
88
Comment fonctionne OpenVPN ?
⚫ Le protocole OpenVPN est responsable de la gestion des communications client-
serveur. Fondamentalement, il aide à établir un “tunnel” sécurisé entre le client
VPN et le serveur VPN.
89
Comment utiliser OpenVPN ?
90
Comment utiliser OpenVPN ?
2. Installez le client OpenVPN
Une fois que vous avez les fichiers de configuration, vous devez installer le client
OpenVPN sur votre appareil. Vous pouvez facilement trouver les installateurs dont
vous avez besoin sur la page de téléchargement d’OpenVPN. Exécutez simplement le
programme d’installation, acceptez les options par défaut, choisissez un autre dossier
de destination d’installation si vous le souhaitez, et poursuivez le processus
d’installation.
Une fois terminé, votre visionneuse de texte par défaut peut ouvrir un nouveau
fichier pour afficher un guide contenant des détails techniques. Vous pouvez le lire si
vous le souhaitez, mais à ce stade il est également possible de fermer le fichier en
toute sécurité.
91
Comment utiliser OpenVPN ?
Pour démarrer OpenVPN, vous devez lancer l’application OpenVPN GUI. Il ajoutera le
service à votre System Tray (la petite barre des tâches dans le coin inférieur droit).
Copiez ensuite tous les fichiers OVPN téléchargés dans le sous-dossier “Config” du
dossier d’installation OpenVPN.
Maintenant, si vous cliquez sur l’icône OpenVPN dans votre System Tray, vous devriez
pouvoir voir les noms de tous les fichiers que vous venez de copier. Si c’est plus facile
pour vous, vous pouvez renommer les fichiers.
92
Comment utiliser OpenVPN ?
4. Établissez la connexion
Pour se connecter à un serveur, il suffit de cliquer sur les fichiers OVPN dans
l’application OpenVPN. Lorsque vous y êtes invité, saisissez vos identifiants de
connexion. Si tout se passe bien, vous devriez voir un écran de journal avec des
commandes d’état qui disparaîtront lorsque la connexion sera établie.
Vous devriez recevoir une notification de bureau vous informant que la connexion a
été établie avec succès. De plus, si vous regardez l’icône OpenVPN, vous devriez voir
un écran vert. Lorsque vous passez dessus, vous verrez une infobulle vous indiquant le
nom du serveur et votre nouvelle adresse IP.
5. Ajustement des paramètres (de base et avancés)
L’application OpenVPN n’a pas beaucoup de paramètres, mais vous pouvez toujours
jouer avec certains d’entre eux.
93
Avantages et inconvénients de OpenVPN
94