Construire son VPN

De Page Personnelle de Cédric Blancher.

Sommaire

[modifier] Construire son VPN

[modifier] Introduction

À l'heure de la globalisation, une entreprise doit être capable de fédérer les réseaux de ses filiales en un seul réseau global. Les réseaux privés virtuels, ou VPNs, offrent une réponse alternative aux coûteuses lignes spécialisées, en s'appuyant sur l'infrastructure Internet existante.

[modifier] Article

Si l'attrait en terme fonctionnel des réseaux privés virtuels (VPNs) est grand, leur mise en place a un impact important sur le réseau existant de l'entreprise et sur la politique de sécurité qui lui est attachée. L'introduction d'éléments extérieurs au réseau physique de l'entreprise, à travers Internet, pose en effet de nouveaux problèmes de sécurité, comme l'authentification des utilisateurs distants ou encore la confidentialité et l'intégrité des données échangées.

Les VPNs s'appuient sur des tunnels permettant d'encapsuler dans des paquets IP d'autres protocoles de niveau 3, comme IP par exemple. L'intérêt du tunnel par rapport au routage classique à travers Internet est la transparence pour les applications, les passerelles constituant les extrémités de ces tunnels étant responsables de l'encapsulation des données devant y transiter.

Ce type de transport pose trois problèmes majeurs, découlant directement de l'absence de sécurité du protocole IP (dans sa version 4). Premièrement, on ne peut pas compter sur le protocole IP pour identifier l'hôte distant voulant établir un tunnel : des protocoles d'authentification doivent donc être mis en place pour assurer l'identité des deux parties. Ensuite, IP n'offrant pas de mécanisme assurant la confidentialité des données transportée, il convient d'implémenter des mécanismes de chiffrement au niveau du tunnel. Enfin, des mécanismes pour assurer l'intégrité des données doivent être mis en place, parallèlement au chiffrement. La cryptographie apporte des réponses à ces problèmes.


[modifier] Usages et protocoles, la jungle !

Les besoins en VPN ne sont pas tous les mêmes. On distingue trois situations.

1. Les utilisateurs nomades auxquels on souhaite fournir un accès aux ressources du réseau de l'entreprise. C'est ce qu'on appelle de VDPN, pour Virtual Dial-up Private Networking). 2. La liaison au moyen d'un tunnel sécurisé de deux sites distants. 3. La constitution d'un extranet global permettant à un ensemble de sites distants de communiquer via un réseau virtuel auxquels ils sont raccordés.

Il existe plusieurs protocoles pour établir des liaisons VPN. Les trois principaux sont PPTP, L2TP et IPSEC.

[modifier] PPTP (Point to Point Tunneling Protocol)

Développé par Microsoft, ce protocole est à présent un standard public (RFC 2637). Il permet l'établissement d'un lien PPP au dessus du protocole IP. L'authentification est réalisée par le protocole MsCHAP. Le transport des données est assuré par une variante améliorée du protocole GRE (Generic Routing Encapsulation, développé par Cisco). L'établissement et le contrôle du tunnel est assuré par une connexion TCP parallèle. N'offrant pas à l'origine de mécanisme de chiffrement des données véhiculées, PPTP s'est vu étendu. Il supporte à présent le chiffrement des données via le protocole RC4, avec des clés de 40 ou 128 bits. Cependant, PPTP n'offre aucun mécanisme de contrôle d'intégrité des paquets.

[modifier] L2TP (Layer 2 Tunneling Protocol)

L2TP est une évolution d'un protocole initialement developpé par Cisco, L2F, pour y ajouter certaines idées de PPTP. Il est standardisé par la RFC 2661. Comme L2F, il permet d'établit un lien PPP sur un protocole de niveau 2, ou sur UDP dans le cas d'un transport sur IP. Comme PPTP, il utilise un flux pour transporter les données, et un flux de contrôle. L'authentification est réalisée par MsCHAP. Si un mécanisme de chiffrement et de contrôle d'intégrité doit être mis en place, on utilisera les mécanisme fournis par IPSEC, en particulier ESP.

[modifier] IPSEC (IP Security) - voir encadré

Le protocole IPSEC découle des réflexions de l'IETF sur la sécurité de la version 6 du protocole IP (IPv6). IPSEC (RFCs 2401 à 2412) permet le transport de paquets IP au dessus du protocole IP de la manière la plus sûre et la plus efficace qui soit. IPSEC met en oeuvre deux protocoles. Le premier, ESP (Encapsulated Security Payload) permet le chiffrement et le contrôle de l'intégrité des données transportées dans le tunnel. Le second, AH (Authentication Header) permet de contrôler l'intégrité des paquets IP complets réalisant le tunnel. Ces deux protocoles sont donc complémentaires et peuvent utilisés seuls ou ensembles, selon le degré de sécurité souhaité. IPSEC supporte deux modes. Le mode tunnel permet la liaison de deux réseaux distants. Le mode transport permet à deux hôtes de communiquer directement. IPSEC fait un large usage de procédés cryptographiques. Les mécanismes et protocoles utilisés sont extensibles à souhait, mais l'usage de certains est standardisé. Le chiffrement fort est assuré, ainsi que le contrôle de l'intégrité, aussi bien pour AH que pour ESP. L'authentification des deux parties se fait par le protocole ISAKMP (Internet Security Association and Key Management Protocol) qui assure l'authentification sécurisée par mot de passe, par clé publique (DSS ou RSA) ou par certificat x509, ainsi que l'échange des clés de session par le protocole IKE (Internet Key Exchange), et leur renouvellement périodique.


[modifier] Choisir son protocole...

Différents types de VPN

Pour les problématiques d'accès de postes isolés sur Internet, on utilisera le VDPN. La difficulté de mise en oeuvre d'IPSEC sur ce genre de configuration le disqualifie souvent pour ce genre d'usage. PPTP et L2TP seront donc les protocoles privilégiés. Microsoft offrant le support PPTP en standard sur ses systèmes d'exploitation depuis Windows 98, celui-ci a largement pris le pas sur L2TP, pourtant plus souple. La mise en place d'un lien PPP offre une souplesse très importante au niveau des fonctionnalités ainsi que la possible réutilisation d'une architecture de certains éléments d'un accès RTC ou RNIS existant, comme les serveurs d'authentification RADIUS. Un tel lien permet d'offrir un accès totalement transparent tant pour le client nomade que pour le réseau auquel il se connecte.

Pour les problématiques de liaison site à site, on prendra IPSEC qui est le seul des trois protocoles à offrir un service de tunnel réseau à réseau. Ce type de lien étant permanent, le niveau de sécurité nécessaire n'est en outre fourni que par IPSEC : authentification, chiffrement, intégrité, renouvellement périodique des clés.

La mise en place d'extranets n'est pas chose simple. Elle s'appuie sur IPSEC, mais demande la mise en oeuvre de procédés compliqués, difficiles à mettre en oeuvre.


[modifier] L'avenir des VPNs ?

Par son intégration par l'IETF dans IPv6, IPSEC constitue l'avenir des réseaux privés virtuels sur IP. C'est pourquoi IPSRA (IP Secure Remote Access), un protocole exploitant les extensions IPSEC pour l'établissement de VDPN, est en cours de formalisation. En attendant l'avènement de la version 6 d'IP, il est bon d'essayer de se tourner au maximum vers IPSEC. Si le marché manquait d'outils permettant un bonne intégration de ce protocole au sein des outils de gestion de politique de sécurité, ce n'est plus le cas. De nombreux constructeurs et éditeurs offrent aujourd'hui dans leur gamme des produits permettant de réaliser des liens IPSEC de manière simple, aussi bien pour réaliser des liens site à site que des extranets, et même des connexions VDPN. En outre, IPSEC, parce qu'il supporte les certificats x509, peut être interfacé avec un infrastructure à clés publiques (PKI), permettant ainsi l'intégration complète du VPN dans la politique de sécurité de l'entreprise.

[modifier] Encadré : IPSEC

AH permet d'assurer l'intégrité des paquets IP entiers (entête et données) impliqués dans le transport des paquets du tunnel, à l'aide de résumés cryptographiques de 96 bits calculés à l'aide de variantes des algorithmes MD5 ou SHA-1 (respectivement HMAC-MD5-96 et HMAC-SHA-A-96). ESP permet d'assurer l'intégrité des données transportées par le tunnel par les mêmes procédés que AH, et la confidentialité de ces données soit par algorithme DES-CBC, avec clé à 56 bits, soit par son successeur, 3DES-CBC, par clés 168 bits. AH peut être utilisé seul si on ne souhaite pas chiffrer. ESP peut lui aussi être utilisé seul, auquel cas on ne vérifie pas l'intégrité des paquets IP sous-jacents. L'association de AH et ESP permet d'atteindre le niveau maximum de sécurité. En raison de la vérification d'intégrité des paquets, IPSEC pose des problème de compatibilité avec les équipements réalisant de la traduction d'adresses (NAT) et ne fonctionne qu'avec ESP en mode tunnel. En effet, la modification des entêtes du paquet IP n'est ni compatible avec AH, ni avec ESP en mode transport. C'est pourquoi les fonctions IPSEC sont le plus souvent réalisées par les équipements qui gèrent la traduction d'adresses.


[modifier] Notes diverses

[modifier] PPTP (Point to Point Tunneling Protocol)

  • Protocole Microsoft, RFC 2637
  • Session PPP sur IP :
    • tunnel GRE étendu pour le transport des datagrammes PPP
    • session TCP pour contrôler le tunnel
  • la connexion TCP n'est pas securisée, le tunnel GRE non plus
  • en usage VPN securise, on chiffre :
    • MPPE (RC4) 40bits
    • MPPE (RC4) 128 bits
  • Authentification MsCHAP
  • Utile pour les utilisateurs nomades.

[modifier] L2F (Layer 2 Forwarding)

  • Protocole Cisco, RFC 2341
  • Très proche de L2TP qui l'a remplacé.

[modifier] L2TP (Layer 2 Tunneling Protocole)

  • RFC 2661
  • Session PPP sur protocoles variés => plus souple que PPTP
  • Pour des VPNs IP, on le fait au dessus d'UDP
  • Un canal de controle, un canal de données véhiculant les trames PPP
  • Authentification MsCHAP
  • On utilise IPSEC par dessus
  • Tire le meilleur de PPTP et de L2F
  • Supplanté par PPTP livré en standard sur les derniers OS Microsoft, bien que meilleur

[modifier] IPSEC (IP Security)

  • RFC 2401 a 2412
  • Propose un tunnel IP securisé sur IP
  • Meilleure gestion de l'encapsulation
  • Deux protocoles :
    • chiffrement : ESP, avec integrite de la charge
    • integrite : AH
    • les deux : AH+ESP
  • Deux modes :
    • tunnel : établissement d'un tunnel entre deux passerelles
    • transport : communication entre deux hôtes
  • Algorithmes :
    • ESP : DES-CBC, 3DES-CBC
    • intégrité ESP : HMAC-MD5-96, HMAC-SHA1-96
    • intégrité AH : HMAC-MD5-96, HMAC-SHA1-96
  • Authentification :
    • Se fait à l'établissement du tunnel
    • Par mot de passe
    • Par clé DSS ou RSA, par certificat X509
  • Négociation des cles :
    • De manière statique
    • De manière dynamique
  • ISAKMP : Internet Security Association and Key Management Protocol
    • Négociation automatique des clés
    • Amélioré par IKE (Internet Key Exchange)
  • IPSEC est la Rolls du VPN.
  • On l'utilise aussi bien pour les tunnels que pour les nomades


[modifier] Modes

  • Utilisateurs nomades : accès sécurisé à un intranet
    • PPTP, IPSEC en mode transport
    • avantage PPTP : tunnel PPP
      • on affecte une IP au tunnel PPP => IP interne
    • avantage IPSEC : plus sûr, meilleure authentification
    • L'utilisation de certains logiciels permet de realiser les fonctions de PPTP par IPSEC, en mode tunnel, avec une interface logique pour transporter les protocoles non IP.
  • Tunnels inter-sites
    • IPSEC en mode tunnel entre deux passerelles.
    • Les communications entre les deux sites sont routees via le tunnel IPSEC.
  • Extranet
    • IPSEC
    • On construit un maillage de tunnels entre les passerelles pour constituer un reseau virtuel commun.
Navigation
autres
Locations of visitors to this page

No software patents !

Valid XHTML 1.0 Transitional

Valid CSS 2.1