350 likes | 521 Views
Réalisation d'un client serveur d'échange de paquets entre deux sous réseaux reliés par un VPN. Projet technique MASTER TIIR Ben Haddou Mina Duquenne Wilfried Clercq Sylvain. Le 14 Décembre 2004. Plan. 1. Problématique du sujet 2. Présentation Générale des VPN
E N D
Réalisation d'un client serveur d'échange de paquets entre deux sous réseaux reliés par un VPN Projet technique MASTER TIIR Ben Haddou Mina Duquenne Wilfried Clercq Sylvain Le 14 Décembre 2004
Plan • 1. Problématique du sujet • 2. Présentation Générale des VPN • 3. Présentation des principaux protocoles existants • PPTP • L2F • L2TP • OpenVPN • IPSec • 4. Problème de broadcast • 5. Proposition d’une solution • 6. Conclusion
1. Problématique du sujet Les trames de broadcasts et de multicasts ne sont pas disponibles sur le VPN le plus performant du moment: IPSec. • Notre but : Rendre disponible ces fonctions aux utilisateurs !
2. Présentation Générale des VPN • Qu’es qu’un VPN (Virtual Private Network)? • C’est la combinaison de deux techniques: • Le Tunneling : transporte un protocole (et ses données) dans un autre • La Sécurité : Authentification, cryptage, certificats
2. Présentation Générale des VPN • Les avantages: • Réduction des coûts liés aux communications. • Sécurité : cryptage et connexion sécurisée, masquage des adresses IP privées. • Prise en charge de la plupart des protocoles existants.
3. Présentation des principaux protocoles existants • PPTP • Principe: créer des trames sous le protocole PPP et les encapsuler dans un datagramme IP. GRE est un protocole de tunnel qui a été à l'origine développé par Cisco. Il permet le passage de trame multicast.
3. Presentation des principaux protocoles existants: PPTP • Établissement d'une connexion PPP: • Connexion initiale à un serveur PPP distant. • Protocole LCP (Link Control Protocol) établit et configure les paramètres de liaison et de trame. • Protocoles d'authentification (MS-CHAP, EAP) permettant de déterminer le niveau de validation de la sécurité qui peut être exécutée par le serveur distant. • Protocoles NCP (Network Control Protocol) établissent et configurent différents paramètres de protocole réseau pour les protocoles IP, IPX et NetBEUI et AppleTalk.
3. Présentation des principaux protocoles existants:PPTP • Détails de communication : Avec connexion PPTPifconfig –a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280stf0: flags=0<> mtu 1280en0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500tunnel inet --> ether 00:30:65:e5:a5:d0 ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500inet 80.13.102.19 --> 80.13.102.1 netmask 0xff000000 ppp1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1448inet 132.227.64.aaa --> 132.227.64.pptp netmask 0xffff0000 Sans connexion PPTPifconfig –a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280stf0: flags=0<> mtu 1280en0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500tunnel inet --> ether 00:30:65:e5:a5:d0 ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500inet 80.13.102.19 --> 80.13.102.1 netmask 0xff000000
3. Présentation des principaux protocoles existants:PPTP • Détails de communication : traceroute src.lip6.fr traceroute to src.lip6.fr (132.227.64.100), 30 hops max, 40 byte packets1 pptp.lip6.fr (132.227.64.pptp) 68.478 ms 58.315 ms 58.527 ms2 src.lip6.fr (132.227.64.100) 57.987 ms 63.38 ms 59.661 ms traceroute to src.lip6.fr (132.227.64.100), 30 hops max, 40 byte packets1 afontenayssb-106-1-4-1.abo.wanadoo.fr (80.13.102.1) 51.879 ms 51.835 ms 55.803 ms2 80.10.179.1 (80.10.179.1) 64.644 ms 59.342 ms 55.786 ms3 p1-1.nraub303.aubervilliers.francetelecom.net (193.252.99.2) 54.507 ms 59.324 ms 65.498 ms4 p9-0.ntaub301.aubervilliers.francetelecom.net (193.252.161.66) 54.322 ms 56.644 ms 83.808 ms … 13 jussieu.rap.prd.fr (195.221.126.33) 58.169 ms 58.426 ms 68.242 ms14 r-scott.reseau.jussieu.fr (134.157.254.10) 58.044 ms 55.357 ms 79.954 ms15 src.lip6.fr (132.227.64.100) 80.307 ms 74.372 ms 56.428 ms
3. Présentation des principaux protocoles existants:PPTP • Avantages: • Implanter sur toutes les plates formes Microsoft d'où sa facilité de mise en place. • Inconvénients : • Probléme de sécurité dû à l'authentification par mot de passe (MS-CHAP).
3. Présentation des principaux protocoles existants: L2F • Développé par Cisco, Northern Telecom et Shiva. • Véhicule et transfére les données du serveur distant jusqu'au serveur L2F (inclus dans un routeur). • Il s’agit d’une connexion PPP entre le client et l'ISP (Internet Service Provider), que l'ISP fait suivre au serveur d'accès distant via le tunnel L2F.
3. Présentation des principaux protocoles existants: L2TP • Développé conjointement par les majors de ce secteur clé (Microsoft, CISCO Systems, etc..). • Issu de la convergence des protocoles PPTP et L2F. • Encapsule des paquets PPP au niveau des couches 2 (Frame Relay et ATM) et 3 (IP). • L2TP repose sur deux concepts : • Les concentrateurs d'accès L2TP (LAC : L2TP Access Concentrator). • Les serveurs réseau L2TP (LNS : L2TP Network Server).
3. Présentation des principaux protocoles existants: L2TP • On distingue 2 composantes dans L2TP: • Les paquets d'informations encapsulés dans des paquets PPP pour les sessions utilisateurs qui servent pour le transport de L2TP. • Le protocole de signalisation, qui utilise le contrôle de l'information L2TP est encapsulé dans des paquets UDP/IP • Format d ’une trame L2TP:
3. Présentation des principaux protocoles existants: L2TP • Avantages : • Mobilité (salarié peut se connecter à un VPN de son entreprise en conservant ses droits et ses restrictions). • Inconvénients: • Empilement des couches protocolaires : IP/PPP/L2TP/UDP/IP/Couche2. + TCP/HTTP si user surfe sur le web. => L'ensemble n'est pas très léger.
3. Présentation des principaux protocoles existants : OpenVPN • Principe de base : • utiliser une interface de capture standard du kernel Linux (tun ou tap). • expédier ces données chiffrées et authentifiées via SSL sur un port UDP en utilisant un mot de passe ou une clé publique. • Les paquets sont chiffrés et authentifiés (certificat sur chaque machine) en utilisant la librairie openssl. • OpenVPN vise à fournir, sous une forme compacte, les fonctionnalités essentielles d'IPSec.
3. Présentation des principaux protocoles existants : OpenVPN • Principe de fonctionnement d'OpenVPN: • Création d'une interface physique : 193.121.12.134 • Construction d' un tunnel => création d'une interface virtuelle (192.168.0.51). • Sur la passerelle, on trouve le même schéma, c'est à dire une interface physique et une ou plusieurs interfaces virtuelles.
3. Présentation des principaux protocoles existants : OpenVPN • Avantages : • Outil de création de VPN facile à utiliser, robuste, sécurisé, rapide et configurable sur tous les systémes d'exploitations. • Compatible avec le NAT et l'adressage dynamique. • Evolutif, vu qu’il repose sur 2 projets en constante évolution : la bibliothèque OPenSSL et le pilote TUN/TAP qui fait partie du kernel linux. • Flexible : • Possibilité de créer autant de tunnels vers ou depuis la même machine. • Possibilité de limiter l'usage de la bande-passante et de choisir le niveau de sécurité et d’efficacité.
3. Présentation des principaux protocoles existants : IPsec • Permet de sécuriser l'échange de données au niveau de la couche réseau. • Basé sur 2 mécanismes de sécurité : • AH (Authentification Header) vise à assurer l'intégrité et l'authenticité des datagrammes IP.
3. Présentation des principaux protocoles existants : IPsec • ESP (Encapsulating Security Payload) peut assurer au choix, un ou plusieurs des services suivants : • Confidentialité (confidentialité des données et protection partielle contre l'analyse du trafic si l'on utilise le mode tunnel). • Intégrité des données en mode non connecté et authentification de l'origine des données, protection contre le rejeu.
3. Présentation des principaux protocoles existants : IPsec • Les 2 modes de fonctionnement d ’Ipsec : • Le mode transport prend un flux de niveau transport et réalise les mécanismes de signature et de chiffrement puis transmet les données à la couche IP. Dans ce mode, l'insertion de la couche IPSec est transparente entre TCP et IP. TCP envoie ses données vers IPSec comme il les enverrait vers IPv4. • Dans le mode tunnel, les données envoyées par l'application traversent la pile de protocole jusqu'à la couche IP incluse, puis sont envoyées vers le module IPSec. L'encapsulation IPSec en mode tunnel permet le masquage d'adresses.
3. Présentation des principaux protocoles existants : IPsec • Schéma de ces 2 modes :
3. Présentation des principaux protocoles existants : IPsec • Différence entre ces 2 modes : • Dans le mode transport, l'en-tête extérieur est produite par la couche IP c'est-à-dire sans masquage d'adresse, alors que dans le mode tunnel l'encapsulation IPSec permet le masquage d'adresses. • Le mode tunnel est utilisé entre deux passerelles de sécurité (routeur, firewall, ...) alors que le mode transport se situe entre deux hôtes.
3. Présentation des principaux protocoles existants : IPsec • Algorithmes de cryptage (ou chiffrement): • DES en mode CBC (avec test sur les valeurs de clés afin d’éliminer toute clé dite faible ou semi-faible). • Algorithme le plus utilisé : 3DES. • Algorithmes d'Authentification (ou de hachage): • MD5 (HMAC-MD5 ou Keyed-MD5). • HMAC-SHA . • Algorithme le plus utilisé : Tiger.
3. Présentation des principaux protocoles existants : IPsec • Schéma récapitulatif du fonctionnement d ’Ipsec :
3. Présentation des principaux protocoles existants : IPsec • Avantages : • Sécurité optimale et plus robuste que celle de PPTP. • Sécurité modulable. • Transparence de la sécurité par rapport aux applications. • Inconvénients : • Identifie les machines et non les utilisateurs. • Alourdit les perfomances des réseaux du fait des opérations de cryptage/décryptage. • Pose des difficultés au niveau de la mise en place au niveau des messages de broadcast et multicast. • Possède de nombreux systèmes de sécurité ce qui le rend complexe. • Ne possède pas d’outil centralisé pour la définition des règles de sécurité.
4. Problème du broadcast • 1. Pour PPTP: • L’interface ppp ne laisse passer que les paquets de types point-à-point et multicast. • Le brodcast n’est pas pris en charge. • En effet, les deux réseaux reliés par VPN sont deux sous réseaux distincts, différenciés par leur adresse IP et leur masque de sous réseau. • Les paquets de broadcast étant uniquement destinés aux machines d’un même sous réseau, ils ne peuvent pas être transmis par le protocole PPTP.
4. Problème du broadcast • 2. Pour OpenVPN : • Par définition, les broadcasts ne passent pas la passerelle qui sert entre autres, de routeur. • La solution : définir un pont virtuel sur la passerelle et y inclure l'ensemble de nos interfaces, puis, définir un domaine de broadcast commun.
4. Problème du broadcast • 3. Pour IPsec : • Fonctionne sur IPv4 et IPv6 or le broadcast n’existe pas en IPv6 donc IPsec rejette les broadcasts. • IPSEC = protocole de sécurité d’IP de couche 2 OR Les broadcasts, multicats et unicasts fonctionnent sur la couche 3 =>Pb d’envoi et de réception de ces messages. • NB : IPSEC rejette les paquets de broadcasts et de multicasts sauf dans le cas ou il est associé à L2TP.
5. Conclusion • IPsec semble être le moyen le plus sûr et le plus performant d’établir un VPN. • Seul le protocole PPP laisse passer des trames de multicasts. • D’où l’idée d’utiliser PPP avec une interface IPsec afin de résoudre la problématique.