Vous êtes sur la page 1sur 23

24/03/2023

Chapitre 2:
Les tunnels de niveau 2 (liaison de
données)
Ihsen NAKOURI

1 Année universitaire 2022-2023

Plan
 Introduction
 Generic Routing Encapsulation (GRE)
 Point to Point Protocol (PPP)
 Point to Point Tunneling Protocol (PPTP)
 Layer 2 Tunneling Protocol (L2TP)

1
24/03/2023

Tunneling
 Tunnel :
 utiliser un protocole pour acheminer des messages d’un autre
protocole.
 Encapsulation des messages du protocole transporté dans
des messages du protocole transporteur.
 Solution fréquente en réseau.
 Architecture en couches des réseaux (OSI) :
 encapsuler des messages de niveau N+1 dans des messages de
niveau N (inférieur).
 Différence mode tunnel et modèle OSI:
 Tunnel = encapsuler des messages d’un niveau donné dans des
messages du même niveau ou de niveaux supérieurs
3

Les protocoles associés pour réaliser un


tunnel
1) Protocole porteur utilisé (Carrier Protocol):
 Le protocole d’un réseau existant permettant d’acheminer des
informations => N’importe quel protocole robuste et répandu.
 Exemples : PPP, IP, TCP, HTTP
2) Protocole d’encapsulation (Tunneling Protocol):
 Le protocole qui est ajouté pour encapsuler les données
usagers en les sécurisant => le protocole qui réalise les
objectifs VPN de sécurité.
 Exemple : GRE
3) Protocole transporté (Passenger Protocol):
 Le protocole utilisateur que l’on souhaite acheminer.
 Exemple : IP

2
24/03/2023

GRE

Generic Routing Encapsulation (GRE)


 Protocole de tunneling , Site-à-Site,
 Initialement développé par Cisco puis standardisé (RFC
2784, RFC 2890)
 GRE assure le transport de trafic multiprotocol et
multicast IP entre deux (ou plusieurs) sites
 Une interface du tunnel prend en charge un en-tête pour
chacun des protocoles suivants:
 Un protocole transporté (IPv4, IPv6)
 Un protocole de tunneling (GRE).
 Un protocole porteur (IP).

3
24/03/2023

Tunnel GRE

Transport(carrier) Tunneling Protocol


Protocol

 Dans l’entête IP externe le champ “Protocol” est “47”.


 L’encapsulation GRE utilise un champ “Protocol Type” dans l’entête GRE pour
supporter l’encapsulation de n’importe quel protocol de la couche 3.
 Les entêtes GRE et IP de tunneling créent un overhead d’au moins 24 octets.
7

Entête GRE

0 13 15 16 31
Protocole réseau transporté
C Réservé Ver Protocole
GRE
Somme de contrôle Réservé (si c=1)
Protocole réseau transporteur

 C : Présence ou absence de la somme de contrôle (cheksum).


 Réservé : Bits réservés pour un usage futur.
 Ver : numéro de version (zéro actuellement).
 Protocole : contient un code numérique définissant le protocole
transporté.
 Somme de contrôle : la même somme de contrôle que celle de
IP portant sur l’entête GRE et le paquet transporté (si le bit C est à
1).

4
24/03/2023

Configuration d’un tunnel GRE- les


adresses

GRE- Aspects de sécurité


 GRE n’offre pas les mécanismes pour chiffrer les données
(payload)
 Souvent il fait appel au chiffrement réalisé au niveau de la
couche application.
 Possibilité d’associer GRE à un mécanisme de chiffrement
niveau 3 (ex., IPSec).
 Ex : Usage de GRE pour encapsuler un trafic non-IP Chiffrer
le paquet GRE en utilisant IPSec.
 Possibilité d’injecter des paquets ayant un numéro de
séquence arbitraire et lancer des attaques de type DoS.
 Usage d’IPSec Protection de l’entête GRE et des données du
tunnel.
10

5
24/03/2023

Point to Point Protocol (PPP)

11

Le protocole PPP
 Besoin de connexions point à point de niveau 2.
 Connexions WAN entre les routeurs.
 Accès à distance en utilisant des machines clients avec des modems.
 Exemples de protocoles:
 Serial Line IP (SLIP): pas de mécanisme de détection d’erreur, supporte
uniquement l’IP, pas d’affectation dynamique des adresses, pas
d’authentification.
 Point-to-Point Protocol (PPP):
 le successeur de SLIP, supporte IP, IPX, etc
 Protocole de niveau 2 permettant d'encapsuler des paquets IP sur
une liaison point à point.

12

6
24/03/2023

Les composants de PPP


 LCP (Link Control Protocol)
 Établissement, contrôle et maintien de la liaison
 Négocie et définit les options de contrôle sur la liaison de données.
 Authentification, détection d’erreurs, ….
 NCP (Network Control Protocol)
 Détermine comment les protocoles de la couche 3 seront transportés
 Encapsulation de plusieurs protocoles dans des trames PPP:
 Protocoles de la couche réseau transportés dans une trame PPP
 NCP pour chaque protocole de la couche réseau; IPCP pour IP
IPv4 IPv6
IPCP IPv6CP Network Layer
Network Control Protocol (NCP)
PPP
Authentication, other options Data Link Layer
Link Control Protocol (LCP)
Synchronous or Asynchronous
Physical Media Physical Layer
13

PPP- Les services de sécurités


 La version initiale de PPP (RFC 1661) propose l’exécution d’un
mécanisme d’authentification de façon optionnelle après la
phase 1.
 Deux protocoles d’authentification de base sont définis:
 Password Authentication Protocol (PAP)
 Challenge Handshake Authentication Protocol (CHAP)
 Le chiffrement peut être négocié après l’authentification:
 Encryption Control Protocol (ECP)
 PPP DES Encryption Protocol (DESE)
 PPP Triple DES Encryption Protocol (3DESE)
 La compression : Compression Control Protocol (CCP)

14

7
24/03/2023

Etablissement d’une session PPP


 Trois phases principales :
1. Établissement de liaison ,
2. Authentification optionnelle,
3. Configuration du protocole de la couche réseau.
Network Access
Server
Client

Etablissement d’une session PPP


1. Phase d’établissement de liaison
2. Phase d’authentification optionnelle
3. Phase de configuration du protocole de couche réseau

15

Session PPP – Phase 1


 Établissement de liaison :
 Chaque équipement PPP envoie des paquets LCP pour configurer,
tester et terminer la liaison de données.
 Les paquets LCP contiennent un champs d’option de configuration
permettant de négocier l’utilisation d’options telles que :
 compression de certains champs PPP
 protocole d’authentification de liaison

Network Access
Etablissement d’une connexion Server
Client

PPP Connectivity

16

8
24/03/2023

Session PPP – Phase 2


 Authentification optionnelle :
 L’authentification a lieu avant d’entrer dans la phase de protocole de la
couche réseau, une fois que le protocole d’authentification a été choisi.
 Différentes méthodes d’authentification:
 Password Authentication Protocol (PAP),
 Challenge Handshake Authentication Protocol (CHAP),
 Microsoft Challenge Handshake Authentication Protocol (MS-CHAP).

Authentification des utilisateurs


Network
Client
PPP Connectivity Access Server

Username & password


Authentication

17

Session PPP – Phase 3


 Protocole de couche réseau :
 Les équipements PPP envoient des paquets NCP pour choisir
et configurer un ou plusieurs protocoles de la couche réseau
(tel que IP).
 Choix du protocole (IPCP par exemple), assignation d’une @IP
au client, envoie des datagrammes de chaque protocole sur la
liaison.

18

9
24/03/2023

Authentification PPP- PAP


 PAP (PPP Authentification Protocol
RFC1334) :
 Authentification auprès du NAS par un
nom d’utilisateur/mot de passe.
 Le mot de passe circule en clair.

 Inconvénients :
 Schéma d’authentification non sécurisé :
 Un tiers pourrait capturer le nom et le
mot de passe de l'utilisateur
 Aucune protection contre les attaques
par rejeu n’est fournie

19

Authentification PPP- CHAP


 PPPP Challenge Handshake Protocol, protocole simple basé
sur le «challenge-response »
1. A  B ( identifier, RA, A)
2. B  A (identifier, H(B, KAB, RA), B)
3. A vérifie la réponse avec son propre calcul du hash prévu. Si
les valeurs concordent, la connexion est établie.
 A des intervalles aléatoires, le NAS (A) envoie un nouveau
« challenge » au client (B), et répète les étapes 1 à 3.
 Protection contre les attaques de rejeu.
 Authentification basée sur un « secret partagé » dérivé d'un
mot de passe stocké « en clair » sur le NAS.
 Amélioration par rapport à PAP:
 Le mot de passe en texte clair n’est pas envoyé sur la liaison.
 Amélioration par rapport à CHAP
 MS-CHAP: authentification mutuelle des pairs
20

10
24/03/2023

Authentification PPP – MS-CHAP


 MS-CHAP-v2 (Microsoft PPP CHAP Extensions version 2):
 Authentification mutuelle des deux pairs :
 Le NAS vérifie que le client d'accès a la connaissance du mot de passe
de l'utilisateur et le client d'accès vérifie que le NAS a la connaissance
du mot de passe de l'utilisateur.

 Le serveur utilise les hachés du mot de passe du client,


conservés dans une base de données, plutôt que le mot de
passe “en clair”.

21

Extensible Authentication Protocol


 EAP: framework pour récupérer toutes les solutions
d’authentification désirées [RFC 2284, RFC 3748]
 Solutions existantes : PAP/CHAP/MS-CHAP.
 Solutions utilisant des matériels : cartes à puces ou clé USB ou
cartes à jetons.
 Mots de passe à usage unique : ‘One time passwords’ RFC 1760.
 Authentification par clé publique : utilisant des certificats.
 Plusieurs versions de protocoles d’authentification déployés
sous EAP.
 One-Time Password (OTP)
 EAP-MD5 Challenge (équivalent à CHAP)
 EAP et les réseaux locaux: EAP d’abord défini dans le cadre de
PPP est adapté aux réseaux locaux sous les références IEEE
802.1x (EAPOL) .

22

11
24/03/2023

Trame PPP
 Format des trames PPP
 Besoin: transporter sur une même liaison des blocs d’information issues
de protocoles de niveau supérieur différents
 Solution : un champ identifiant le protocole transporté (2 octets)

Protocole transporté

Protocole: permet le multiplexage de différents flots de messages associés à des


protocoles différents associés à PPP.
Exemples de valeurs: IP : 0x0021, LCP : 0xC021, etc.
23

Point to Point Tunneling Protocol

24

12
24/03/2023

Point-to-Point Tunneling Protocol (PPTP)


 PPTP utilise PPP pour se connecter à un ISP (NAS).
 permet d'implémenter les VPN point à point
 une extension de PPP
 PPTP permet d'encapsuler et de transmettre des trames PPP sur un réseau
IP
 Utilise Internet comme réseau de distribution
 Il n'offre pas de service de sécurité
 Le protocole transporté (par ex. PPP) doit fournir ce service
 Compatible RFC 2637 ("not an IETF standard"), 1999
 Proposé par Microsoft (présent par défaut dans les OS Windows)
 L'idée de base de PPTP est d'étendre la portée du PPP sur Internet en
définissant le transport des PDU PPP dans des paquets IP.

25

PPTP
 Protocole qui utilise une connexion PPP à travers le
réseau TCP/IP pour établir une connexion vpn :
 Le client PPTP se connecte à un serveur d'accès (NAS) chez l'ISP :
 Initiation d'une connexion PPP vers l'ISP pour accéder à Internet.

 Le NAS établit ensuite une connexion VPN utilisant


PPTP vers le serveur VPN :
 PPTP encapsulation des trames PPP cryptés dans des
datagrammes IP grâce au protocole d'encapsulation GRE ;
 Trois composants :
 La connexion PPP ;
 La Connexion de contrôle PPTP ;
 Encapsulation et transmission des données PPTP

26

13
24/03/2023

Encapsulation PPTP
 Encapsulation des trames PPP dans des datagrammes IP
 Datagrammes IP créés en utilisant le protocole GRE
 Format d'un datagramme IP créé par PPTP :

(IP datagram)

 La charge utile PPP est chiffré et/ou compressé


 L’entête GRE contient des information sur l’algorithme de chiffrement

27

PPTP – Schéma général

PAC : PPTP Access Concentrator NAS: Network Access Server


PNS : PPTP Network Server RAS : Remote Access Server
28

14
24/03/2023

Mode PPTP
 Construction de tunnels selon deux modes:
 Volontaire (‘Voluntary’) : le client décide de construire un
tunnel jusqu’au serveur.
 Obligatoire (‘Compulsory’) : le tunnel est imposé
automatiquement.

29

Tunnel PPTP volontaire (1)

30

15
24/03/2023

Tunnel PPTP volontaire (2)


1) Au début le client PPTP établit avec le NAS serveur d’accès une
liaison PPP : partie LCP (Link Control Protocol) de PPP.
2) Le client PPTP établit une connexion de transport TCP avec le
serveur PPTP (le PNS) : pour négocier les paramètres de
fonctionnement du tunnel PPTP (notion de connexion de
contrôle PPTP).
3) Le client PPTP peut alors fonctionner en mode tunnel en utilisant
le protocole GRE d’encapsulation.
4) Au dessus de GRE, le client et le serveur dialoguent en utilisant le
protocole PPP, le lien PPP établi entre le client et le serveur :
 Permet d’acheminer n’importe quel protocole de niveau 3 avec PPP
comme protocole de niveau 2.
 Tout se passe comme s’il existait une liaison filaire gérée en PPP entre
le client PPTP et le serveur PPTP sans que le FAI n’ait à en connaître.

31

Construction du paquet PPTP au niveau du


client (Tunnel volontaire)

32

16
24/03/2023

Tunnel PPTP obligatoire

33

Aspects de sécurité pour PPTP


 L'authentification du client PPTP distant est réalisée en
utilisant les mêmes méthodes d'authentification PPP.
 PAP, CHAP, EAP.
 PPTP utilise les schémas de chiffrement PPP et la
compression PPP.
 Chiffrement
 ECP, DESE, 3DESE, MPPE
 Compression
 CCP: responsable de la configuration des algorithmes aux extrémités
de la liaison, signaler l’échec de compression/décompression.

34

17
24/03/2023

Les insuffisances de PPTP


 Les messages de contrôle PPTP ne sont ni authentifiés ni
protégés en termes d’intégrité.
 La connexion TCP peut être détournée par un intrus.
 Une attaque DoS peut être réalisée.
 Si les données des trames PPP ne sont pas chiffrés
possibilité de capture, lecture et modification.
 PPTP ne peut prendre en charge qu’un seul tunnel.
 Ne protège pas contre les attaques de rejeu et ne vérifie
pas l’intégrité.
 Ne dispose pas d’un mécanisme de négociation si perte
de connectivité avec le serveur.
 Opère uniquement pour des réseaux IP

35

Layer 2 Tunneling Protocol (L2TP)

36

18
24/03/2023

Layer 2 Tunneling Protocol (L2TP) (1)


 L2TP : une amélioration des tunnels antérieurs PPTP/L2F.
 L2TP est une norme de l’IETF développée et évaluée
conjointement par Cisco Systems, Microsoft, Ascend, 3Com
et d’autres acteurs clés du marché des réseaux
 L2TP = Fusion de PPTP et de L2F (RFC 2661)
 L2TP construit des tunnels utilisables pour différents
protocoles transportés et différents transporteurs:
 Le protocole transporté est PPP (Point to Point Protocol)
 Le protocole transporteur est UDP/IP.
 La meilleure sécurité L2TP est réalisée par IPSEC :
 combinaison des deux protocoles sous le sigle L2TP/IPsec (RFC
3193 : ‘Securing L2TP using IPsec’).

37

Layer 2 Tunneling Protocol (L2TP) (2)


 Transport en tunneling de trames PPP via Internet :
 Repose sur le protocole UDP (port 1701) qui lui même repose
sur IP
 Encapsulation : Layer 2  IP  UDP  L2TP  PPP  IP

Entête MAC Entête IP Entête UDP Entête L2TP Entête PPP Charge utile

 Deux composants :
 LAC (L2TP Access Concentrator) : Client L2TP (NAS du ISP)
 LNS (L2TP Network Server) : Seveur L2TP
 Tunnel entre le LAC et le LNS:
 L'utilisateur (mobile) utilise le tunnel L2TP créé à travers
internet pour se relier au réseau privé.
38

19
24/03/2023

Schéma de l'architecture

39

Schéma de l’architecture

40

20
24/03/2023

L2TP Access Concentrator (LAC)


 Permet de relayer le trafic entre le LNS et l'utilisateur
 Encapsulation de n'importe quel protocole transporté dans la
trame PPP.
 Permet de négocier le LCP et l’authentification de
l'utilisateur :
 Données de négociation recueillies expédiées au LNS.

Vers le LNS

Réseau de Réseau IP
LAC
collecte:
ADSL, …
41

L2TP Network Server (LNS)


 Equipement final de la connexion PPP

42

21
24/03/2023

L2TP : Conclusion
1) Protocole à utiliser pour construire des tunnels de niveau
liaison.
2) Assez largement supporté en particulier par Microsoft et
Cisco.
3) Bénéficie de la qualité des protocoles de sécurité IPSEC.
4) Sans poser de problèmes avec NAT
5) Surcharges protocolaires liés aux choix d’encapsulation.

43

La sécurité en L2TP
1) Sécurité
 aucune méthode en propre n’est définie.
2) Confidentialité
 Possibilité d’utiliser la confidentialité PPP (DESE, 3DESE,
MPPE).
 Recommandation RFC 3193: Utiliser IPSEC pour chiffrer le
datagramme IP encapsulé.
3) Authentification
 Possibilité d’utiliser l’authentification autour de PPP (CHAP,
EAP, RADIUS).
 Recommandation RFC 3193: Utiliser IPSEC pour authentifier
les entités communicantes avec le protocole de négociation
IKE

44

22
24/03/2023

L2TP/IPSec : Encapsulation

45

Comparaison PPTP / L2TP


 Les deux protocoles:
 Utilisent PPP comme enveloppe initiale des données usager.
 Étendent le modèle de la liaison PPP en autorisant des communications tunnelées sur un
réseau public.
 Fonctionnent selon les architectures volontaires et obligatoires (voluntary/compulsory
tunneling).
 Réseau sous jacent
 PPTP ne peut fonctionner que sur une architecture Internet.
 L2TP peut fonctionner avec UDP/IP
 Gestion des tunnels
 PPTP gère un seul tunnel entre deux points.
 L2TP permet de créer des tunnels multiples (avec des identifiants) et a l’intérieur des
tunnels des sessions différentes (pour supporter des qualités de service différentes).
 Sécurité
 PPTP ne définit aucun mécanisme particulier.
 L2TP définit une authentification des extrémités des tunnels au moyen des mécanismes de
sécurité de IPSEC.
46

23

Vous aimerez peut-être aussi