Tutorial VPN. Principales abréviations



Documents pareils
Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Table des matières 1 Accès distant sur Windows 2008 Server Introduction...2

Configuration de l'accès distant

Sécurité GNU/Linux. Virtual Private Network

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Configurer ma Livebox Pro pour utiliser un serveur VPN

Transmission de données

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Module 7 : Configuration de l'accès distant

[ Sécurisation des canaux de communication

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Présentation du modèle OSI(Open Systems Interconnection)

Le rôle Serveur NPS et Protection d accès réseau

Configuration de Serveur 2003 en Routeur

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)

Transmission ADSL. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

NOTIONS DE RESEAUX INFORMATIQUES

Eric DENIZOT José PEREIRA Anthony BERGER

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

Fiche de l'awt La sécurité informatique

Mise en place d'un Réseau Privé Virtuel

Sécurité des réseaux IPSec

1 PfSense 1. Qu est-ce que c est

TECHNICAL NOTE. Configuration d un tunnel VPN entre un firewall NETASQ et le client VPN. Authentification par clé pré-partagée. Version 7.

SECURITE DES DONNEES 1/1. Copyright Nokia Corporation All rights reserved. Ver. 1.0

Cours n 12. Technologies WAN 2nd partie

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Installation du point d'accès Wi-Fi au réseau

Protocoles utilisant des mécanismes d'authentification: TACACS+, RADIUS et Kerberos

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Bac Pro SEN Epreuve E2 Session Baccalauréat Professionnel SYSTEMES ELECTRONIQUES NUMERIQUES. Champ professionnel : Télécommunications et réseaux

Sécurité des réseaux sans fil

Cisco Discovery - DRSEnt Module 7

Réseaux et protocoles Damien Nouvel

Mise en route d'un Routeur/Pare-Feu

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Module 1 : Présentation de l'infrastructure réseau de Microsoft Windows 2000

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

Couche application. La couche application est la plus élevée du modèle de référence.

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

Réseaux grande distance

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Infrastructure RDS 2012

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Rapport de stage Stage de fin d études IUT Réseaux et Télécommunications

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Introduction. Adresses

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

1 Définition et présentation. 2 Le réseau Numéris. 3 Les services. 3.1 Les services Support (Bearer service) SYNTHESE

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Installation d un serveur DHCP sous Gnu/Linux

Date : 08/02/12 SISR1 tp.topologie.reseau.wan Durée : 2 h

Projet : PcAnywhere et Le contrôle à distance.

DSCG : UE5 - Management des Systèmes d'information CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2

Installation d'un serveur DHCP sous Windows 2000 Serveur

Le protocole SSH (Secure Shell)

Le protocole RADIUS Remote Authentication Dial-In User Service

MS 2615 Implémentation et support Microsoft Windows XP Professionnel

Firewall Net Integrator Vue d ensemble

RX3041. Guide d'installation rapide

Voix et Téléphonie sur IP : Architectures et plateformes

Sécurité des réseaux wi fi

18 TCP Les protocoles de domaines d applications

Bibliographie. Gestion des risques

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

ETI/Domo. Français. ETI-Domo Config FR

Travaux pratiques : dépannage de la configuration et du placement des listes de contrôle d'accès Topologie

Microsoft Windows NT Server

Passerelle VoIP pour PBX

Les messages d erreur d'applidis Client

Votre appareil est configuré en usine pour permettre d'envoyer immédiatement des SMS.

Introduction aux Technologies de l Internet

TAGREROUT Seyf Allah TMRIM

Stéphanie Lacerte. Document technique. Connextek. 31 mai Cloudtel

Bravo! Vous venez d acquérir un routeur large bande à 4 ports Conceptronic C100BRS4H.

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

JetClouding Installation

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

Pare-feu VPN sans fil N Cisco RV120W

La Solution Crypto et les accès distants

Installation du client Cisco VPN 5 (Windows)

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Installation du client Cisco VPN 5 (Windows)

Le service FTP. M.BOUABID, Page 1 sur 5


Informatique Générale Les réseaux

TP réseau Les réseaux virtuels (VLAN) Le but de se TP est de segmenter le réseau d'une petite entreprise dont le câblage est figé à l'aide de VLAN.

A. À propos des annuaires

Introduction de la Voix sur IP

Chapitre 2 Rôles et fonctionnalités

Transcription:

Tutorial VPN Ecole d ingénieurs du Canton de Vaud Institut de Télécommunications Tutorial sur les VPN, destiné aux étudiants; rédigé dans le cadre du travail de diplôme. Tutorial VPN Complément au laboratoire sur les VPN Auteur: Christian Tettamanti Principales abréviations

AH CHAP ESP GRE ICV IETF IKE IPSec ISAKMP ISP L2TP MPPE MS-CHAP NAS PAP PPP PPTP SA SPI VPN Authentication Header Challenge Handshake Authentication Protocol Encapsulating Security Payload Internet Generic Routing Encapsulation Integrity Check Value Internet Engineering Task Force Internet Key Exchange IP Security Protocol Internet Security Association and Key Management Protocol Internet Service Provider Layer 2 Tunneling Protocol Microsoft Point-to-Point Encryption Microsoft Challenge Handshake Authentication Protocol Network Access Server Password Authentication Protocol Point-to-Point Protocol Point-to-Point Tunneling Protocol Security Association Security Parameter Index Virtual Private Network Travail de diplôme Tutorial VPN Page 2

1. Table des matières 1. Table des matières...3 2. Introduction...5 3. Définition de VPN (Virtual Private Networks)...5 4. Motivations pour le choix d'une solution VPN...7 4.1 Utilisations communes des VPN...9 4.1.1 Accès à distance à travers Internet (Host to LAN)...9 4.1.2 Connexion entre plusieurs réseaux à travers Internet (LAN to LAN)...9 4.1.3 Réseau privé entre deux ordinateurs (Host to Host)...10 5. Exigences de base des VPN...10 6. Protocoles VPN...11 6.1 Concepts de base sur les tunnels...11 6.1.1 Types de tunnel...12 6.2 PPTP Point-to-Point Tunneling Protocol...12 6.2.1 Préambule...12 6.2.2 PPTP et les VPN...12 6.2.3 Scénario PPTP typique...13 6.2.4 Clients PPTP...14 6.2.5 Serveur d'accès réseau de l'isp...15 6.2.6 Serveur PPTP...15 6.2.7 Architecture PPTP...15 6.2.8 Vue d'ensemble de l'architecture PPTP...15 6.2.9 Connexion de contrôle PPTP...16 6.2.10 Transmission de données PPTP...30 6.2.11 Exemple de connexion...32 6.2.12 La sécurité de PPTP...33 6.2.13 Contrôle d'accès...34 6.2.14 Le chiffrement de données...34 6.2.15 Usage de PPTP avec des firewalls...35 6.3 L2TP Layer 2 Tunneling Protocol...36 6.3.1 Vue d'ensemble du protocole...36 6.3.2 Format de l'entête L2TP...37 6.3.3 Connexion de contrôle L2TP...38 6.4 IPSec IP Security Protocol...39 6.4.1 Architecture de IPSec...39 6.4.2 AH (Authentication Header)...41 6.4.3 ESP (Encapsulating Security Payload)...44 6.4.4 IKE (Internet Key Exchange)...47 7. Conclusions...51 8. Bibliographie...52 8.1 Ouvrages...52 8.2 Articles et documents du web (annexés)...52 8.3 Compléments (annexés)...52 Travail de diplôme Tutorial VPN Page 3

Table des illustrations Figure 1 : Exemple de VPN....6 Figure 2 : Réseau privé virtuel construit sur Internet....7 Figure 3 : Plusieurs communications dans le même média...8 Figure 4 : Communications utilisant chacune un média indépendant...8 Figure 5 : Utilisation d'un VPN pour connecter un client distant à un réseau privé....9 Figure 6 : Connexions LAN to LAN...10 Figure 7 : VPN entre deux hôtes....10 Figure 8 : Tunneling...11 Figure 9 : Tunnel PPTP....13 Figure 10 : Connexion à distance entre un client PPTP et un réseau privé....14 Figure 11 : message de contrôle Start-Control-Connection-Request...17 Figure 12 : message de contrôle Start-Control-Connection-Reply...18 Figure 13 : message de contrôle Stop-Control-Connection-Request...19 Figure 14 : message de contrôle Echo-Request...20 Figure 15 : message de contrôle Echo-Reply...20 Figure 16 : message de contrôle Outgoing-Call-Request...21 Figure 17 : message de contrôle Outgoing-Call-Reply...22 Figure 18 : message de contrôle Incoming-Call-Request...23 Figure 19 : message de contrôle Incoming-Call-Reply...24 Figure 20 : message de contrôle Incoming-Call-Connected...25 Figure 21 : message de contrôle Call-Clear-Request...26 Figure 22 : message de contrôle Call-Disconnect-Notify...27 Figure 23 : message de contrôle WAN-Error-Notify...28 Figure 24 : message de contrôle Set-Link-Info...29 Figure 25 : Datagramme PPTP avec message de contrôle...30 Figure 26 : Datagramme GRE...31 Figure 27 : Encapsulation des données dans GRE dans le cas de PPTP....31 Figure 28 : Exemple d'ouverture, maintient et fermeture d'une connexion PPTP...32 Figure 29 : Processus CHAP...33 Figure 30: Serveur PPTP derrière un firewall....35 Figure 31 : Structure du protocole L2TP...36 Figure 32 : Entête L2TP...37 Figure 33 : Mode transport d'ipsec....40 Figure 34 : Mode tunnel d'ipsec...40 Figure 35 : Entête du protocole AH....41 Figure 36 : AH en mode Transport...42 Figure 37 : AH en mode Tunnel...42 Figure 38 : Entête du protocole ESP....44 Figure 39 : ESP en mode Transport...45 Figure 40 : ESP en mode Tunnel....45 Figure 41 : Entête ISAKMP...47 Figure 42 : Entête générique de ISAKMP...47 Figure 43 : Chaînage possible d'un message ISAKMP....49 Figure 44 : Main mode exchange de IKE....50 Figure 45 : Quick Mode Exchange....51 Travail de diplôme Tutorial VPN Page 4

2. Introduction Ce document est supposé être un complément au laboratoire 'Configuration d'un VPN'. Il explique les bases théoriques pour pouvoir bien comprendre la manipulation pratique. Ceci dit, le tutorial devrait être connu préalablement à la manipulation pratique. 3. Définition de VPN (Virtual Private Networks) Lorsqu on aborde pour la première fois le sujet des réseaux privés virtuels, on s aperçoit que le nombre de définitions d un VPN est très élevé. Ceci dit, il n est pas possible de donner une seule définition. La façon la plus simple de trouver une définition commune pourrait être celle d analyser, individuellement, chaque mot de l acronyme VPN. Ceci permet de regrouper les différentes analyses et donner ainsi une définition correcte de sens commun. La difficulté d'analyse motive le choix de classement suivant: network : private : Ce mot est sans autre le plus facile à analyser et comprendre; sa définition est commune et acceptée par l industrie. Un "réseau" (network) consiste en un nombre de dispositifs pouvant communiquer entre eux à l'aide de méthodes arbitraires. Ces dispositifs peuvent être de nature différente : les ordinateurs, les imprimantes, les routeurs, etc., y sont inclus. Géographiquement, ils peuvent se trouver dans différents sites. Les méthodes avec lesquelles ces dispositifs peuvent communiquer sont très nombreuses, car elles dépendent du niveau d application. Des spécifications pour le niveau physique, liaison, transport et application devront donc être énoncées. En conclusion, un réseau est une collection de dispositifs qui peuvent communiquer entre eux et donc s échanger des données. Le terme "privé" (private) est assez correct et il est lié au concept de virtualisation dans la définition des VPN. La définition la plus simple de "privé" indique que la communication entre deux ou plusieurs dispositifs est secrète. Les dispositifs n'étant pas concernés par la communication de nature privée, ne pourront pas lire le contenu des messages privés. Ceci dit, ils ignorent tout de la relation entre les dispositifs concernés. La confidentialité des données et la sécurité (intégrité) sont des aspects importants dont il faut tenir compte lorsqu'on considère un type particulier d'implémentation VPN. La définition "privé" peut être exprimée à l'aide de la définition de son antonyme "public". Un service public est accessible ouvertement et contrôlé dans les limites et les contraintes d'une ressource publique commune, souvent par l'intermédiaire d'une entité administrative publique. Au contraire, un service privé est accessible uniquement par un groupe d'entités définies. Des tiers ne pourront pas en avoir accès. En général, la ressource privée est gérée par des entités qui ont un droit exclusif d'accès. Des exemples de ce type de réseau privé peuvent être trouvés dans des réseaux d'organisation qui ne sont pas connectés à Internet. Ces réseaux sont privés, car aucune connexion externe, et donc aucune communication de réseau avec l'extérieur, est présente. Un autre aspect important de la confidentialité dans les VPN, est donné à travers son implémentation technique. Laquelle décrit la confidentialité des systèmes d'adressage et de routage. L'adressage, utilisé dans une communauté VPN d'intérêts, est séparé par rapport à celui du réseau partagé et des autres communautés VPN. Le schéma d'adressage et de routage d'un VPN devrait être indépendant de chaque communauté VPN. Travail de diplôme Tutorial VPN Page 5

virtual : Le concept "virtuel" (virtual) est le plus compliqué des trois mots qui composent l'acronyme VPN. Dans le contexte des VPN il pourrait être défini par : simulé, qui exécute des fonctions d'un objet non réel. L'aspect de virtualisation est similaire à la définition de "privé" qu'on vient de décrire, bien que le scénario soit un peu modifié. La communication privée est établie sur une infrastructure de réseau partagée par plus qu'une organisation. De cette façon, la ressource privée est construite en se basant sur un partitionnement logique de la ressource partagé à la place d'utiliser des connexions de circuits physiques. Le réseau privé est une création qui n'a pas de contrepartie physique. La communication virtuelle entre deux ou plusieurs machines est due au fait que les machines qui ne sont pas concernées par la communication n'ont pas la possibilité de percevoir des données. Ceci dit, elles sont incapables de déterminer la relation entre les machines concernées. L'infrastructure du réseau partagé peut être par exemple représentée par le réseau global Internet et un nombre d'organisations utilisant des réseaux virtuels. Ces dernières peuvent être des centaines, des milliers, voir des millions! La combinaison de ces termes produit VPN un réseau privé dont la confidentialité est introduite par des moyens de virtualisation. Un VPN peut être créé entre deux systèmes, entre deux organisations, entre plusieurs systèmes et une organisation ou entre plusieurs organisations répandues dans Internet, soit encore entre des applications individuelles ou une combinaison des ces possibilités. La définition, la plus utilisée, qui caractérise un VPN est la suivante: Un VPN est un environnement de communication dans lequel l'accès est contrôlé, afin de permettre des connections entre une communauté d'intérêts seulement. Un VPN est construit avec un partitionnement d'un média de communication commun qui offre des services de façon non exclusive. Voilà une autre définition, plus simple et approximative: Un VPN est un réseau privé construit sur l'infrastructure d'un réseau public, comme l'est Internet. On peut noter qu'une solution exhaustive de VPN fournit un support pour l'accès via modem, pour l'accès avec des lignes dédiées, et la possibilité de supporter des connexions depuis le réseau global Internet. Figure 1 : Exemple de VPN. Travail de diplôme Tutorial VPN Page 6

On a vu qu'un VPN permet de créer un réseau privé à travers un réseau public comme Internet; voilà un exemple de VPN construit sur Internet: Figure 2 : Réseau privé virtuel construit sur Internet. 4. Motivations pour le choix d'une solution VPN Il y a plusieurs motivations qui induisent à utiliser le VPN, mais le point commun à chaque motivation est celui de vouloir virtualiser une partie des communications d'une organisation. Autrement dit, le besoin d'avoir une partie (ou toutes) des communications, essentiellement invisible de la part d'un observateur externe, tout en préservant les avantages d'une infrastructure commune. La motivation principale pour choisir une solution VPN couvre les aspects économiques des communications. Les systèmes de communications ont aujourd'hui la caractéristique d'avoir un prix constant et élevé avec des petits coûts variables qui changent selon la capacité de transport ou la bande passante du système. Dans cet environnement, il est financièrement plus attractif de réunir un nombre de communications discrètes dans une plate-forme de communication de grande capacité, permettant ainsi l'amortissement des prix élevés des composants par un grand nombre de clients, à la place d'utiliser une ligne dédiée pour chaque communication. Ainsi, une collection de VPN implémentés sur un seul média physique commun, est moins cher qu'une collection équivalente de petits médias discrets, chacun reliant un seul client réseau. Travail de diplôme Tutorial VPN Page 7

Les figures suivantes montrent les concepts énoncés. Figure 3 : Plusieurs communications dans le même média. Figure 4 : Communications utilisant chacune un média indépendant. Une autre motivation concerne la confidentialité des communications. Les caractéristiques et l'intégrité des services de communications isolés diffèrent des autres environnements qui partagent un média commun. Le niveau de confidentialité dépend de la politique de l'organisation. Si le besoin de confidentialité est bas, la simple abstraction de discrétion pourra suffire. Tandis que si le besoin en confidentialité est grand, il y a un fort besoin de sécuriser les accès et les données passant dans le média commun. Travail de diplôme Tutorial VPN Page 8

4.1 Utilisations communes des VPN Cette section décrit brièvement les solutions VPN les plus souvent utilisées. 4.1.1 Accès à distance à travers Internet (Host to LAN) Un VPN permet aux utilisateurs éloignés de se connecter à un réseau privé tout en maintenant la confidentialité. La figure suivante montre un utilisateur VPN connecté à un réseau d'entreprise à travers Internet. Au lieu d'effectuer un appel téléphonique à longue distance à destination de l'entreprise, l'utilisateur se connecte simplement à Internet et ensuite il crée une connexion VPN jusqu'au réseau de l'entreprise. Figure 5 : Utilisation d'un VPN pour connecter un client distant à un réseau privé. L'utilisateur distant sera connecté logiquement au réseau LAN de l'entreprise comme s'il l'était physiquement. 4.1.2 Connexion entre plusieurs réseaux à travers Internet (LAN to LAN) Il y a deux méthodes pour connecter des réseaux locaux entre eux avec un VPN: 1. En utilisant des lignes dédiées Au lieu d'utiliser des lignes louées très coûteuses à longue distance entre deux LAN, on utilise une ligne dédiée locale pour se connecter à un ISP pour permettre des connexions à Internet. Le réseau privé virtuel sera donc créé à l'aide des connexions locales à l'isp et à l'aide du réseau public Internet. 2. À l'aide d'une liaison téléphonique Au lieu d'utiliser des lignes dédiées pour se connecter à l'isp, il suffit d'avoir une liaison téléphonique permettant l'appel de son propre ISP. Comme pour la solution précédente, le réseau privé virtuel sera créé à l'aide des connexions locales à l'isp et à l'aide du réseau public Internet. Travail de diplôme Tutorial VPN Page 9

Ces deux solutions diffèrent uniquement dans la façon de se connecter à son propre ISP. L'image suivante montre ces solutions. Figure 6 : Connexions LAN to LAN. 4.1.3 Réseau privé entre deux ordinateurs (Host to Host) Dans ce cas de figure, on veut connecter deux ordinateurs distants entre eux pour des raisons de confidentialité. On crée donc un VPN entre eux, et toutes les données y transmises sont encryptées et compréhensibles que par les deux paires correspondantes. La figure suivante montre cet exemple. Figure 7 : VPN entre deux hôtes. 5. Exigences de base des VPN Lorsqu'on veut créer des VPN, l'entreprise nécessite d'un contrôle d'accès facilité aux ressources et aux informations partagées. La solution doit permettre aux utilisateurs distants de se connecter aux ressources du réseau LAN local (solution Host-to-LAN). La solution doit aussi permettre à des réseaux distants de pouvoir se connecter au réseau LAN, afin de partager les ressources et les informations (solution LAN-to- LAN). De plus la solution doit assurer la confidentialité et l'intégrité des données à travers Internet. Le même concept doit être appliqué à des données sensibles traversant le réseau d'entreprise. En conséquence une solution VPN doit offrir au minimum les fonctions suivantes : Authentification de l'utilisateur : la solution doit vérifier l'identité de l'utilisateur et limiter l'accès VPN seulement aux utilisateurs autorisés. Il doit de même pouvoir enregistrer les accès, afin de permettre ensuite de déterminer qui s'est connecté et quand il s'est connecté. Administration des adresses : la solution doit assigner une adresse du réseau privé à chaque client et assurer que les adresses privées restent en tant que privées. Encryption des données : les données circulants dans le réseau public (Internet) doivent être illisibles aux clients non autorisés. Administration des clés : la solution doit générer et mettre à jour les clés pour l'encryption des données pour le client et le serveur. Support multiprotocoles : la solution doit permettre l'utilisation de protocoles communs utilisés dans le réseau public. IP, IPX, etc. sont inclus. Travail de diplôme Tutorial VPN Page 10

Une solution VPN peut être basée sur le protocole PPTP (Point-to-Point Tunneling Protocol), le protocole L2TP (Layer 2 Tunneling Protocol) ou IPSec (IP Security Protocol). 6. Protocoles VPN 6.1 Concepts de base sur les tunnels Le tunneling permet l'envoi de données d'un réseau à un autre en utilisant une infrastructure d'inter réseau. Les données à transférer (ou la charge utile - payload) peuvent être les trames (ou des paquets) d'un autre protocole. Au lieu d'envoyer une trame dans son état originaire, le protocole qui implémente le tunnel encapsule la trame dans une en-tête supplémentaire. L'en-tête supplémentaire fournit des informations de routage de sorte que la charge utile encapsulée puisse traverser le réseau intermédiaire. Les paquets encapsulés sont alors conduits entre les points finaux du tunnel à travers le réseau intermédiaire. Le chemin d'accès logique, par lequel les paquets encapsulés traversent l'inter réseau, s'appelle tunnel. Une fois que les trames encapsulées atteignent leur destination, la trame est décapsulée et expédiée à sa destination finale. Le tunneling inclut l'entier processus : encapsulation, transmission, et décapsulation des paquets. Figure 8 : Tunneling. Pour la création d'un tunnel, tant le client que le serveur doivent implémenter le même protocole. Les technologies utilisant le tunneling peuvent être basées sur des protocoles de niveau 2 ou 3. Ces niveaux correspondent aux différentes couches du modèle de référence OSI (Open Systems Interconnection). Les protocoles de niveau 2 correspondent à des protocoles de couche liaison. PPTP (Point-to-Point Tunneling Protocol) et L2TP (Layer 2 Tunneling Protocol) sont des protocoles de niveau 2; les deux encapsulent la charge utile dans une trame PPP (Point-to-Point Protocol) pour être ensuite envoyé à travers le réseau intermédiaire. Les protocoles de niveau 3 correspondent à des protocoles de couche réseau. Le mode tunnel de IPSec (IP Security) représente un exemple d'un protocole de niveau 3. En bref : PPTP permet au trafic IP, IPX ou NetBEUI d'être encrypté et ensuite d'être encapsulé dans un paquet IP, afin d'être envoyé à travers un réseau intermédiaire IP, comme Internet. L2TP permet au trafic IP, IPX ou NetBEUI d'être encrypté et ensuite d'être envoyé à travers n'importe quel type de média qui supporte la livraison de datagramme point à point, comme IP, X.25, Frame Relay ou ATM. IPSec (configuré en mode tunnel) permet l'encryptage de la charge utile IP, l'encapsulation dans un autre paquet IP, et l'envoi à travers un réseau intermédiaire IP, comme Internet. Ces protocoles feront respectivement l'objet d'une présentation dans les chapitres 6.2, 6.3 et 6.4. Travail de diplôme Tutorial VPN Page 11

6.1.1 Types de tunnel Les tunnels peuvent être créés selon des manières différentes. Tunnel volontaire : un client peut émettre une demande de création de VPN, afin de configurer et de créer un tunnel volontaire. Dans ce cas, l'ordinateur de l'utilisateur est un point final du tunnel. Le tunneling volontaire se produit lorsqu'un poste de travail ou un serveur de routage emploie un client implémentant le tunneling pour créer une connexion virtuelle avec le serveur destinataire. Les VPN n'exigent pas une connexion commutée. C'est une étape préliminaire en vue de créer un tunnel et n'est pas une partie du protocole de tunnel elle-même. Ils exigent seulement la gestion du réseau IP. Tunnel d'office : un serveur d'accès réseau implémemtant un protocole VPN configure et crée un tunnel d'office. Avec un tunnel d'office, l'ordinateur de l'utilisateur n'est pas un point final de tunnel. C'est le serveur d'accès à distance, entre l'ordinateur de l'utilisateur et le serveur VPN, qui est le point final du tunnel et agit en tant que client VPN. 6.2 PPTP Point-to-Point Tunneling Protocol 6.2.1 Préambule PPTP (Point-to-Point Tunnelling Protocol) est un protocole réseau permettant le transfert sécurisé de données entre un client distant et un serveur privé. Ceci est possible par la création d'un VPN utilisant TCP/IP. PPTP supporte les VPN à la demande multiprotocole sur des réseaux publics comme Internet. La technologie utilisée par PPTP est une extension du protocole permettant l'accès à distance PPP (Pointto-Point Protocol) défini dans le document de l'ietf (Internet Engineering Task Force) intitulé "The Pointto-Point Protocol for the transmission of multiprotocols Datagrams over Point-to-Point Links" (RFC 1171, v. CD en annexe). PPTP est un protocole qui encapsule les paquets PPP dans des datagrammes IP pour la transmission sur Internet ou un autre réseau public basé sur TCP/IP. PPTP peut être de même utilisé pour des liaisons LAN-to-LAN. Le protocole PPTP est expliqué dans le document "Point-to-Point Tunnelling Protocol, (RFC 2637, v. CD en annexe).un avant-projet de ce document fut envoyé à l'ietf en juin 1996 par les entreprises du PPTP forum. US Robotics, ECI Telematics, 3 Com/Primary Access, Ascend Communications, Microsofts Corporation sont inclus. 6.2.2 PPTP et les VPN PPTP permet la création de VPN sur demande à travers des réseaux basés sur TCP/IP. Il peut de même être utilisé pour créer un VPN entre deux ordinateurs dans le même réseau local. Une caractéristique importante de PPTP est son support pour la création de réseaux privés virtuels en utilisant le réseau téléphonique public (PSTN). PPTP simplifie et réduits les coûts d'une solution pour l'accès longue distance par les utilisateurs distants mobiles. Ceci, car il permet des communications encryptées sûres à travers les liaisons téléphoniques et l'internet. Généralement, l'usage de PPTP implique: - un client PPTP; - un serveur d'accès réseau (Network Access Server NAS); - un serveur PPTP. Travail de diplôme Tutorial VPN Page 12

L'usage d'un serveur d'accès réseau pour la création d'un tunnel PPTP entre deux dispositifs sur le même LAN n'est pas nécessaire. Ceci, en raison du fait que les dispositifs se trouvent déjà sur le même réseau. Le sous-chapitre suivant décrira un scénario typique de l'usage de PPTP entre deux ordinateurs et en expliquera la relation. 6.2.3 Scénario PPTP typique L'usage typique de PPTP commence avec le besoin de la part d'un client PPTP, qui soit distant ou mobile, de se connecter au réseau privé d'une entreprise. Pour se faire, le client doit se connecter à Internet à l'aide d'un ISP local (Internet Service Provider). Le client se connecte au serveur d'accès (NAS) 1 de l'isp. Une fois connecté le client peut envoyer et recevoir des paquets depuis Internet et utiliser TCP/IP. Après que le client ait créé la connexion PPP initiale avec l'isp une seconde connexion PPP est faite sur l'existante. Les données envoyées à travers la deuxième connexion sont sous la forme de datagrammes IP contenants des paquets PPP; ces paquets PPP sont en fait des paquets PPP encapsulés. Cette deuxième connexion crée la liaison VPN avec le serveur PPTP de l'entreprise et elle est appelée "tunnel". La figure suivante montre un tunnel PPTP. Figure 9 : Tunnel PPTP. Le processus permettant l'envoie de paquets vers un ordinateur se trouvant dans un réseau privé, en faisant un routage des paquets sur d'autres réseaux, comme Internet, est appelé "Tunneling". Les routeurs des autres réseaux ne peuvent pas accéder à l'ordinateur qui se trouve dans le réseau privé. Toutefois, le tunneling permet au réseau public de transmettre les paquets à un dispositif intermédiaire, comme un serveur PPTP, qui est connecté, tant au réseau public qu'au réseau privé. Le client et le serveur PPTP utilisent le tunnel pour router les paquets vers un ordinateur situé dans le réseau privé en utilisant des routeurs qui connaissent seulement l'adresse publique du serveur intermédiaire qui fait office de passerelle. Lorsque le serveur PPTP reçoit des paquets provenant du réseau public, il les envoie à l'ordinateur destinataire qui se trouve dans le réseau privé. Le serveur PPTP fait cela après avoir analysé le paquet PPTP et avoir obtenu le nom de la machine destinatrice, soit l'adresse dans le paquet PPP encapsulé. Il faut remarquer que le paquet PPP encapsulé peut contenir plusieurs types de protocoles comme TCP/IP, IPX ou NetBEUI. Puisque le serveur PPTP est configuré pour communiquer à travers le réseau privé en utilisant les protocoles du réseau privé, il est capable de comprendre les paquets de plusieurs protocoles. 1 NAS Network Acces Server : Les serveurs d'accès-réseau sont référencés de même en tant que FEPs (Front End Processors). Les serveurs Dial-in comme POP (Point-Of-Presence servers). Travail de diplôme Tutorial VPN Page 13

La figure suivante montre le support multiprotocole de PPTP. Un paquet envoyé par le client vers le serveur PPTP passe à travers le tunnel et va rejoindre la machine destinatrice dans le réseau local. Figure 10 : Connexion à distance entre un client PPTP et un réseau privé. PPTP encapsule les paquets PPP cryptés et compressés dans un datagramme IP pour la transmission sur Internet. Ces datagrammes sont routés à travers Internet jusqu'au serveur PPTP qui est connecté tant au réseau public qu'au réseau privé. Ensuite le serveur PPTP désassemble ces datagrammes dans des paquets PPP et encode ces paquets dans le protocole utilisé dans le réseau local (IPX, TCP/IP, NetBEUI). 6.2.4 Clients PPTP Un client PPTP peut être un ordinateur qui supporte le protocole PPTP, comme par exemple un client Linux ou Microsoft. Il peut se connecter à un serveur PPTP de deux manières différentes : Soit en utilisant l'accès d'un ISP qui supporte des connexions PPP entrantes; Soit en utilisant une connexion TCP/IP physique qui lui permet de se connecter directement au serveur PPTP. Un client qui utilise l'accès d'un ISP doit être doté d'un modem et d'un dispositif VPN 2 ; qui permettent respectivement la connexion à l'isp et au serveur PPTP. Comme vu dans le chapitre précédent le tunnel PPTP est créé à partir de deux connexions. La première connexion est une connexion PPP par modem à destination des fournisseurs d'accès Internet. La deuxième est une connexion VPN PPTP utilisant la première connexion pour créer un tunnel à travers Internet vers un dispositif VPN sur le serveur PPTP. La deuxième connexion nécessite de la première, car le tunnel entre les deux dispositifs VPN est établi en utilisant le modem et la connexion PPP vers Internet. Une autre possibilité consiste à créer un réseau privé virtuel entre deux ordinateurs connectés physiquement au réseau LAN privé. Dans ce scénario, le client PPTP est déjà connecté au réseau et il a seulement besoin du dispositif VPN pour la connexion à un serveur PPTP dans le LAN. Les paquets d'un client distant (accès par modem) et d'un client local (LAN) sont traités différemment. Un paquet PPTP provenant d'un client distant est placé dans le média physique du dispositif de télécommunication (modem) qui peut être une ligne téléphonique ou le téléréseau, etc.. Tandis qu'un paquet PPTP provenant d'un client relié physiquement au réseau local est placé dans l'adaptateur du média physique, comme par exemple une carte Ethernet. 2 En pratique, le dispositif VPN est un module sur Linux ou une carte VPN fictive sur Windows. Travail de diplôme Tutorial VPN Page 14

6.2.5 Serveur d'accès réseau de l'isp Les fournisseurs d'internet utilisent des serveurs d'accès (NAS) pour permettre à ces propres clients d'accéder à Internet à l'aide de protocoles comme SLIP, soit PPP. Pour supporter des clients PPTP, un NAS doit pouvoir offrir le service PPP. Les serveurs d'accès de l'isp sont paramétrés et configurés pour permettre un grand nombre d'appels entrants de la part des clients. Certains NAS supportent eux-mêmes PPTP. Dans ce cas, les clients n'on pas besoin d'avoir une interface VPN, car c'est le NAS qui agit en tant que client PPTP et qui se connecte au réseau privé en créant un tunnel entre l'isp et le serveur PPTP. 6.2.6 Serveur PPTP Les serveurs PPTP sont des serveurs qui ont des capacités de routage et sont connectés tant au réseau privé qu'à Internet. Un serveur PPTP peut être implémenté par un ordinateur tournant Linux et le daemon pptpd ou par un ordinateur ayant Window NT. Dans le cas de WinNT, PPTP est défini comme un protocole réseau. Pendant l'installation, PPTP est configuré en rajoutant le dispositif virtuel VPNs (Virtual Private Networks) à l'accès à distance. 6.2.7 Architecture PPTP Comme vu précédemment PPTP a été conçu, afin d'obtenir une méthode sûre pour rejoindre un réseau privé à travers Internet. Par les prochains chapitres, on examinera : Le protocole PPP; La connexion de contrôle PPTP; Le Tunnel PPTP. 6.2.8 Vue d'ensemble de l'architecture PPTP La création d'un VPN à l'aide de PPTP implique typiquement trois processus; chacun ayant besoin la terminaison correcte du processus précédent. Voici les processus impliqués. Connexion et communication PPTP : un client PPTP utilise PPP pour se connecter à son ISP à l'aide d'une ligne téléphonique analogique ou RNIS. Cette connexion utilise le protocole PPP pour établir la connexion et encrypter les paquets. Connexion de contrôle PPTP : en utilisant la connexion à Internet établie par PPP, le protocole PPTP crée une connexion de contrôle entre le client et le serveur PPTP. Cette connexion TCP utilise le port de destination 1723 pour établir le tunnel PPTP. Tunnel PPTP : enfin, le protocole PPTP crée des datagrammes IP contenants des paquets PPP encryptés, lesquels sont ensuite envoyés à travers le tunnel PPTP au serveur. Le serveur désassemble les datagrammes IP, les décrypte et les redirige vers le réseau LAN privé. Protocole PPP : PPP est un protocole pour l'accès à distance utilisé par PPTP pour l'envoi de données à travers les réseaux basés sur TCP/IP. PPP encapsule les paquets IP, IPX ou NetBEUI dans des trames. Ces trames sont envoyées en créant un lien point à point entre l'ordinateur émetteur et celui récepteur. La plupart des sessions PPTP sont démarrées par un client appelant un serveur d'accès d'un ISP. Le protocole PPP est utilisé pour la création de la connexion entre le client et le serveur d'accès réseau. PPP offre ces trois options : Etablir et former la connexion physique : le protocole PPP utilise la séquence définie dans le document de référence (RFC 1662, v. CD en annexe) pour la création, le maintien et la fermeture de la connexion. Authentifier les utilisateurs : les clients PPTP sont authentifiés par le protocole PPP. L'authentification peut être faite par l'envoi de clés en clair ou encryptées. Créer des datagrammes PPP contenants des paquets IPX, NetBEUI, soit TCP/IP : PPP crée des datagrammes contentant un ou plusieurs paquets TCP/IP, IPX soit NetBEUI. Vu que tous les Travail de diplôme Tutorial VPN Page 15

paquets sont encryptés, le trafic entre un client PPP et un serveur d'accès peut être considéré comme sûr. 6.2.9 Connexion de contrôle PPTP Le protocole PPTP défini une série de messages de contrôle échangés entre le client et le serveur PPTP. Ces commandes établissent, maintiennent et terminent le tunnel PPTP. La liste suivante représente les messages utilisés pour établir et maintenir le tunnel. Messages de gestion de la connexion: START_CONTROL_REQUEST START_CONTROL_REPLY STOP_CONTROL_REQUEST STOP_CONTROL_REPLY ECHO_REQUEST ECHO_REPLY Demande de début de session Réponse à la demande de début de session Demande de fin de session Réponse à la demande de fin de session Demande de maintient la session de contrôle Réponse à la demande de maintient Messages de gestion du tunnel: OUTGOING_CALL_REQUEST OUTGOING_CALL_REPLY INCOMING_CALL_REQUEST INCOMING_CALL_REPLY INCOMING_CALL_CONNECTED CLEAR_CALL_REQUEST DISCONNECT_CALL_NOTIFY Demande de création du tunnel de la part du client Réponse à la demande de création du tunnel de la part du client Demande de création du tunnel de la part du serveur Réponse à la demande de création du tunnel de la part du serveur Tunnel en entrée crée Demande de terminaison de la session PPTP Réponse à la demande de terminaison et fin de la session PPTP Messages d'erreurs: WAN_ERROR_NOTIFY Erreur dans la connexion PPP Messages de gestion de la session PPP: SET_LINK_INFO Configure la connexion entre le client et le serveur 6.2.9.1 Messages de gestion de la connexion Ces messages sont utilisés pour établir et terminer une session d'utilisateur. Ces messages sont envoyés Travail de diplôme Tutorial VPN Page 16

comme données dans la connexion TCP 1723 établie auparavant entre le client et le serveur PPTP. Start-Control-Connection-Request Le Start-Control-Connection-Request est un message de contrôle PPTP employé pour établir la connexion de contrôle entre un client et un serveur. Une connexion de contrôle doit être créée pour chaque paire client-serveur. Une connexion de contrôle doit être établie avant que tous les autres messages de contrôle PPTP puissent être émis. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Protocol Version Reserved1 Framing Capabilities Bearer Capabilities Maximum Channels Firmware Revision Host Name (64 octets) Vendor String (64 octets) Figure 11 : message de contrôle Start-Control-Connection-Request Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 1 pour indiquer le message Start-Control-Connection-Request. Reserved0 Ce champ doit être à 0. Protocol Version Indique la version de PPTP utilisée. Reserved1 Ce champ doit être à 0. Framing Capabilities Indique le type des trames. Deux valeurs sont possibles: 1 - Asynchronous Framing 2 - Synchronous Framing Bearer Capabilities Indique le type d'accés. Deux valeurs sont possibles: 1 - Accès analogique supporté 2 - Accès numérique supporté Maximum Channels Indique le nombre maximal de session PPP individuelles. Dans le cas du message Start-Control-Connection-Requests envoyé par le client, cette valeur doit être à 0. Firmware Revision Ce champ contient la version du firmware Host Name Indique le nom du client ou du serveur. Ce champ est de 64 octets. Vendor Name Indique le nom du constructeur du client ou du serveur. Ce champ est de 64 octets. Start-Control-Connection-Reply Ce message est utilisé comme réponse au message Start-Control-Connection-Request. Il contient le Travail de diplôme Tutorial VPN Page 17

résultat de la demande de connexion. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Protocol Version Result Code Error Code Framing Capabilities Bearer Capabilities Maximum Channels Firmware Revision Host Name (64 octets) Vendor String (64 octets) Figure 12 : message de contrôle Start-Control-Connection-Reply Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 2 pour indiquer le message Start-Control-Connection-Reply. Reserved0 Ce champ doit être à 0. Protocol Version Indique la version de PPTP utilisée. Result Code Indique le résultat de la tentative de connexion. Les valeurs possibles sont: 1 - Connexion établie avec succès 2 - Erreur générale. Si défini, il est spécifié dans le champ Error Code 3 - La connexion de contrôle existe déjà 4 - Le client n'est pas autorisé à créer la connexion de contrôle. 5 - La version du protocole n'est pas supportée Error Code Tant qu'il n'y a pas d'erreur générale, ce champ vaut 0. Sinon il indique le type d'erreur. Framing Capabilities Indique le type des trames. Deux valeurs sont possibles: 1 - Asynchronous Framing 2 - Synchronous Framing Bearer Capabilities Indique le type d'accés. Deux valeurs sont possibles: 1 - Accès analogique supporté 2 - Accès numérique supporté Maximum Channels Indique le nombre maximal de sessions PPP individuelles. Dans le cas du message Start-Control-Connection-Requests envoyé par le client, cette valeur doit être à 0. Firmware Revision Ce champ contient la version du firmware Host Name Indique le nom du client ou du serveur. Ce champ est de 64 octets. Vendor Name Indique le nom du constructeur du client ou du serveur. Ce champ est de 64 octets. Stop-Control-Connection-Request Le Stop-Control-Connection-Request est un message de contrôle envoyé par un pair de la connexion afin Travail de diplôme Tutorial VPN Page 18

d'informer l'autre que la connexion de contrôle devrait être fermée. En plus de fermer la connexion, tous les appels d'utilisateur actifs sont implicitement effacés. La raison de l'émission de cette demande est indiquée dans le champ Reason. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Reason Reserved1 Reserved2 Figure 13 : message de contrôle Stop-Control-Connection-Request Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 3 pour indiquer le message Stop-Control-Connection-Request. Reserved0 Ce champ doit être à 0. Reason Indique la raison pour la fermeture de la connexion. Che champs peut avoir les valeurs: 1 - (None) Requête générale pour la fermeture de la connexion 2 - (Stop-Protocol) Version de protocole non supportée 3 - (Stop-Local-Shutdown) Arrêt de l'ordinateur qui fait la requête Reserved1, Reserved2 Ce champ doit être à 0. Stop-Control-Connection-Reply Le Stop-Control-Connection-Reply est un message de contrôle envoyé par un pair d'une connexion de contrôle à la réception d'un message Control-Connection-Request de l'autre pair. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Result Code Error Code Reserved1 Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 4 pour indiquer le message Stop-Control-Connection-Reply. Reserved0 Ce champ doit être à 0. Result Code sont: Indique le resultat de la demande de déconnexion. Les valeurs possibles 1 (OK) - Connexion de contrôle fremée. 2 (General Error) - Connexion de contrôle pas fermée à cause de Error Code Travail de diplôme Tutorial VPN Page 19

Error Code Tant qu'il n'y a pas d'erreur générale, ce champ vaut 0. Sinon il indique le type d'erreur. Reserved1 Ce champ doit être à 0. Echo-Request L'Echo-Request est un message de contrôle envoyé par l'un ou l'autre pair d'une connexion de contrôle. Ce message est utilisé comme test d'existance de la connexion de contrôle. Le pair de réception émet un Echo-Reply à chaque Echo-Request reçu. Si l'expéditeur ne reçoit pas un Echo-Reply en réponse à un Echo-Request, il peut fermer la connexion. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Identifier Figure 14 : message de contrôle Echo-Request Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 5 pour indiquer le message Echo-Request. Reserved0 Ce champ doit être à 0. Identifier Valeur choisit par l'émetteur pour la correspondance avec le message suivant Echo-Reply. Echo-Reply L'Echo-Reply est un message de contrôle envoyé par l'un ou l'autre pair d'une connexion de contrôle en réponse à la réception d'une demande d'écho. 16 bit 16 bit PPTP Message Type Control Message Type Reserved0 Identifier Result Code Error Code Reserved1 Figure 15 : message de contrôle Echo-Reply Déscription des champs de la trame: Longueur totale en octets du message PPTP. L'entête est incluse. PPTP Message Type Valeur 1 pour un message de contrôle. Valeur 0x1A2B3C4D. Cette constante est utilisée comme test pour les paquets reçus. Control Message Type Valeur 6 pour indiquer le message Echo-Reply. Reserved0 Ce champ doit être à 0. Identifier Valeur choisit par l'émetteur pour la correspondance avec le message Echo- Request. La valeur est celle reçue dans le champ Identifier du message Echo-Request. Travail de diplôme Tutorial VPN Page 20