Réseaux

VPN

Sources :

VPN : Virtual Private Network ( en français, réseau privé virtuel)

Système permettant de créer un lien direct entre des ordinateurs distants. On utilise notamment ce terme dans le travail à distance, ainsi que pour l’accès à des structures de type cloud computing.

Ce réseau est dit virtuel car il relie deux réseaux “physiques” (réseaux locaux) par une liaison non fiable (Internet), et privé car seuls les ordinateurs des réseaux locaux de part et d’autre du VPN peuvent “voir” les données.

Il est possible d’utiliser un VPN pour :

  • Se protéger des attaques (c’est le VPN qui est attaqué et non votre PC) ;
  • Sécuriser la connexion sur des WiFi publics (gare, hôtel, bibliothèque, Mc Donald, etc.) ;
  • Préserver son anonymat (pays d’origine, navigateur, cookies…) ;
  • Contourner la censure d’un pays ;
  • Contourner le blocage de géolocalisation ;
  • etc.

Fonctionnement d’un VPN

Capture d'écran de 2017-04-08 20-09-20

client VPN = élément permettant de chiffrer et de déchiffrer les données du côté utilisateur (client)

serveur VPN (ou plus généralement serveur d’accès distant) = élément chiffrant et déchiffrant les données du côté de l’organisation

Un réseau privé virtuel repose sur un protocole, appelé protocole de tunnelisation (tunneling), c’est-à-dire un protocole permettant aux données passant d’une extrémité du VPN à l’autre d’être sécurisées par des algorithmes de cryptographie.

De cette façon, lorsqu’un utilisateur nécessite d’accéder au réseau privé virtuel, sa requête va être transmise en clair au système passerelle, qui va se connecter au réseau distant par l’intermédiaire d’une infrastructure de réseau public, puis va transmettre la requête de façon chiffrée. L’ordinateur distant va alors fournir les données au serveur VPN de son réseau local qui va transmettre la réponse de façon chiffrée. A réception sur le client VPN de l’utilisateur, les données seront déchiffrées, puis transmises à l’utilisateur …

Principaux protocoles de tunneling

PPTP

(Point-to-Point Tunneling Protocol ou Protocole de tunnel point-à-point en français) est un protocole d’encapsulation PPP sur IP de niveau 2 développé par Microsoft, 3Com, Ascend, US Robotics et ECI Telematics.

Capture d'écran de 2017-04-08 20-09-25

Il permet de mettre en place des réseaux privés virtuels (VPN) au-dessus d’un réseau public. Layer 2 Tunneling Protocol (L2TP) et IPsec sont des protocoles inspirés de PPTP et chargés de le remplacer. Cependant, le protocole PPTP continue d’être utilisé car il est implémenté nativement sur les machines Windows depuis Windows 2000. Toute machine Microsoft est donc capable de mettre en place un tunnel PPTP avec une machine distante sans devoir ajouter de mécanisme supplémentaire.

Ce protocole ouvre deux canaux de communication entre le client et le serveur :

  • un canal de contrôle pour la gestion du lien, qui consiste en une connexion TCP sur le port 1723 du serveur ;
  • un canal de données transportant les données du réseau privé et utilisant le protocole IP numéro 47.

Le canal de données consiste en une version non standard du protocole Generic Routing Encapsulation (GRE). Les paquets GRE modifiés transportent des trames PPP. Enfin, les trames PPP encapsulent les paquets IP transportés par le tunnel.

Capture d'écran de 2017-04-08 20-09-29

Conception d’un Protocole PPP

L2F

(Layer Two Forwarding) est un protocole de niveau 2 développé par Cisco, Northern Telecom et Shiva. Le protocole combine des fonctionnalités de deux protocoles tunnel : Layer 2 Forwarding (L2F) de Cisco et Point-to-point tunneling protocol (PPTP) de Microsoft.

Le protocole L2TP est un protocole standard de tunnelisation (standardisé dans un RFC) très proche de PPTP. Ainsi le protocole L2TP encapsule des trames protocole PPP, encapsulant elles-mêmes d’autres protocoles (tels que IP, IPX ou encore NetBIOS).

L2TP

(Layer Two Tunneling Protocol ou signifie protocole de tunnellisation de niveau 2 en français) Il est l’aboutissement des travaux de l’IETF (RFC 2661). Le protocole combine des fonctionnalités de deux protocoles tunnel : Layer 2 Forwarding (L2F) de Cisco et Point-to-point tunneling protocol (PPTP) de Microsoft. Il s’agit ainsi d’un protocole de niveau 2 s’appuyant sur PPP.

C’est un protocole réseau utilisé pour créer des réseaux privés virtuels (VPN), le plus souvent entre un opérateur de collecte de trafic (dégroupeur ADSL ou opérateur de téléphonie pour les accès RTC) et les fournisseurs d’accès à Internet.

Ce protocole permet de transporter des connexions en conservant les informations du niveau 2 au niveau 7 du modèle OSI. Le transport de ces connexions se fait grâce à des tunnels IP/UDP, le port UDP utilisé en standard est le 1701. Un même tunnel peut transporter plusieurs connexions, en général il n’y a qu’un seul tunnel entre deux mêmes équipements de terminaison. L’équipement qui initie le tunnel, généralement un NAS ou un BAS, est appelé LAC (L2TP Access Concentrator) et l’équipement qui termine le tunnel est appelé LNS (L2TP Network Server).

Au départ, L2TP a été défini pour transporter des connexions PPP avec la RFC 26611, puis L2TP a été généralisé pour transporter n’importe quel protocole de niveau 2 avec L2TPv3 dans la RFC 39312.

IPSec

(Internet Protocol Security) défini par l’IETF comme un cadre de standards ouverts pour assurer des communications privées et protégées sur des réseaux IP, par l’utilisation des services de sécurité cryptographiques1, est un ensemble de protocoles utilisant des algorithmes permettant le transport de données sécurisées sur un réseau IP. IPsec se différencie des standards de sécurité antérieurs en n’étant pas limité à une seule méthode d’authentification ou d’algorithme et c’est la raison pour laquelle il est considéré comme un cadre de standards ouverts1. De plus, IPsec opère à la couche réseau (couche 3 du modèle OSI) contrairement aux standards antérieurs qui opéraient à la couche application (couche 7 du modèle OSI), ce qui le rend indépendant des applications, et veut dire que les utilisateurs n’ont pas besoin de configurer chaque application aux standards IPsec1.

null

Réalisée dans le but de fonctionner avec le protocole IPv6, la suite de protocoles IPsec a été adaptée pour l’actuel protocole IPv4.

Son objectif est d’authentifier et de chiffrer les données : le flux ne pourra être compréhensible que par le destinataire final (confidentialité) et la modification des données par des intermédiaires ne pourra être possible (intégrité).

IPsec est souvent un composant de VPN, il est à l’origine de son aspect sécurité (canal sécurisé ou tunneling).

La mise en place d’une architecture sécurisée à base d’IPsec est détaillée dans la RFC 43012.

Lors de l’établissement d’une connexion IPsec, plusieurs opérations sont effectuées :

Échange des clés

  • un canal d’échange de clés, sur une connexion UDP depuis et vers le port 500 (ISAKMP (en) pour Internet Security Association and Key Management Protocol).

Le protocole IKE (Internet Key Exchange) est chargé de négocier la connexion. Avant qu’une transmission IPsec puisse être possible, IKE est utilisé pour authentifier les deux extrémités d’un tunnel sécurisé en échangeant des clés partagées. Ce protocole permet deux types d’authentifications, PSK (secret prépartagé ou secret partagé) pour la génération de clefs de sessions RSA ou à l’aide de certificats.

Ces deux méthodes se distinguent par le fait que l’utilisation d’un certificat signé par une tierce-partie appelée Autorité de certification (CA) assure la non-répudiation. Tandis qu’avec l’utilisation de clefs RSA, une partie peut nier être à l’origine des messages envoyés.

IPsec utilise une association de sécurité (Security association) pour dicter comment les parties vont faire usage de AH (Authentication header), protocole définissant un format d’en-tête spécifique portant les informations d’authentification, et de l’encapsulation de la charge utile d’un paquet.

  • Une association de sécurité (SA) est l’établissement d’information de sécurité partagée entre deux entités de réseau pour soutenir la communication protégée. Une SA peut être établie par une intervention manuelle ou par ISAKMP (Internet Security Association and Key Management Protocol).
  • ISAKMP est défini comme un cadre pour établir, négocier, modifier et supprimer des SA entre deux parties. En centralisant la gestion des SA, ISAKMP réduit la quantité de fonctionnalité reproduite dans chaque protocole de sécurité. ISAKMP réduit également le nombre d’heures exigé par l’installation de communications, en négociant tous les services simultanément3.

Transfert des données

Un ou plusieurs canaux de données par lesquels le trafic du réseau privé est véhiculé, deux protocoles sont possibles :

  • le protocole no 51, AH, (Authentication Header) fournit l’intégrité et l’authentification. AH authentifie les paquets en les signant, ce qui assure l’intégrité de l’information. Une signature unique est créée pour chaque paquet envoyé et empêche que l’information soit modifiée3.
  • le protocole no 50, ESP (Encapsulating Security Payload), en plus de l’authentification et l’intégrité, fournit également la confidentialité par l’entremise de la cryptographie.

Mode de fonctionnement

null

Différence mode transport / mode tunnel

IPsec peut fonctionner dans un mode transport hôte à hôte ou bien dans un mode tunnel réseau.

  • Dans le mode transport, ce sont uniquement les données transférées (la partie payload du paquet IP) qui sont chiffrées et/ou authentifiées. Le reste du paquet IP est inchangé et de ce fait le routage des paquets n’est pas modifié. Néanmoins, les adresses IP ne pouvant pas être modifiées par le NAT sans corrompre le hash de l’en-tête AH généré par IPsec, AH ne peux pas être utilisé dans un environnement nécessitant ces modifications d’en-tête. En revanche, il est possible d’avoir recours à l’encapsulation NAT-T pour encapsuler IPSec ESP. Le mode transport est utilisé pour les communications dites hôte à hôte (Host-to-Host).
  • En mode tunnel, c’est la totalité du paquet IP qui est chiffré et/ou authentifié. Le paquet est ensuite encapsulé dans un nouveau paquet IP avec un nouvel en-tête IP. Au contraire du mode transport, ce mode supporte donc bien la traversée de NAT quand le protocole ESP est utilisé. Le mode tunnel est utilisé pour créer des réseaux privés virtuels (VPN) permettant la communication de réseau à réseau (c.a.d. entre deux sites distants), d’hôte à réseau (accès à distance d’un utilisateur) ou bien d’hôte à hôte (messagerie privée.)

Algorithmes cryptographiques

Pour que les réalisations d’IPsec inter opèrent, elles doivent avoir un ou plusieurs algorithmes de sécurité en commun. Les algorithmes de sécurité utilisés pour une association de sécurité ESP ou AH sont déterminés par un mécanisme de négociation, tel que Internet Key Exchange (IKE)4.

Les algorithmes de chiffrement et d’authentification pour IPsec encapsulant le protocole ESP et AH sont :

En référence avec la RFC 4835

Liste des RFC relatives à IPsec

  • RFC 2367 : PF_KEY Interface
  • RFC 2401 (remplacée par la RFC 4301) : Security Architecture for the Internet Protocol
  • RFC 2402 (remplacée par les RFC 4302 et RFC 4305) : Authentication Header
  • RFC 2403 : The Use of HMAC-MD5-96 within ESP and AH
  • RFC 2404 : The Use of HMAC-SHA-1-96 within ESP and AH
  • RFC 2405 : The ESP DES-CBC Cipher Algorithm With Explicit IV
  • RFC 2406 (remplacée par les RFC 4303 et RFC 4305) : Encapsulating Security Payload
  • RFC 2407 (remplacée par la RFC 4306) : IPsec Domain of Interpretation for ISAKMP (IPsec DoI)
  • RFC 2408 (remplacée par la RFC 4306) : Internet Security Association and Key Management Protocol (ISAKMP)
  • RFC 2409 (remplacée par la RFC 4306) : Internet Key Exchange (IKE)
  • RFC 2410 : The NULL Encryption Algorithm and Its Use With IPsec
  • RFC 2411 (remplacée par la RFC 6071) : IP Security Document Roadmap
  • RFC 2412 : The OAKLEY Key Determination Protocol
  • RFC 2451 : The ESP CBC-Mode Cipher Algorithms
  • RFC 2857 : The Use of HMAC-RIPEMD-160-96 within ESP and AH
  • RFC 3526 : More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)
  • RFC 3706 : A Traffic-Based Method of Detecting Dead Internet Key Exchange (IKE) Peers
  • RFC 3715 : IPsec-Network Address Translation (NAT) Compatibility Requirements
  • RFC 3947 : Negotiation of NAT-Traversal in the IKE
  • RFC 3948 : UDP Encapsulation of IPsec ESP Packets
  • RFC 4106 : The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)
  • RFC 4301 (remplace la RFC 2401) : Security Architecture for the Internet Protocol
  • RFC 4302 (remplace la RFC 2402) : IP Authentication Header
  • RFC 4303 (remplace la RFC 2406) : IP Encapsulating Security Payload (ESP)
  • RFC 4304 : Extended Sequence Number (ESN) Addendum to IPsec Domain of Interpretation (DOI) for Internet Security Association and Key Management Protocol (ISAKMP)
  • RFC 4305 : Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH)
  • RFC 4306 (remplace les RFC 2407, RFC 2408, et RFC 2409) : Internet Key Exchange (IKEv2) Protocol
  • RFC 4307 : Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)
  • RFC 4308 : Cryptographic Suites for IPsec
  • RFC 4309 : Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)
  • RFC 4478 : Repeated Authentication in Internet Key Exchange (IKEv2) Protocol
  • RFC 4543 : The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH
  • RFC 4555 : IKEv2 Mobility and Multihoming Protocol (MOBIKE)
  • RFC 4621 : Design of the IKEv2 Mobility and Multihoming (MOBIKE) Protocol
  • RFC 4718 : IKEv2 Clarifications and Implementation Guidelines
  • RFC 4806 : Online Certificate Status Protocol (OCSP) Extensions to IKEv2
  • RFC 4809 : Requirements for an IPsec Certificate Management Profile
  • RFC 4835 (remplace la RFC 4305) : Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH)
  • RFC 4945 : The Internet IP Security PKI Profile of IKEv1/ISAKMP, IKEv2, and PKIX
  • RFC 6071 (remplace la RFC 2411) : IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap

Quel VPN choisir ? Comment être sûr de bien choisir son VPN ? Quel est le meilleur VPN

Il existe sur Internet, un site That One Privacy Site qui a recensé et comparé 180 fournisseurs de VPN du marché. On y retrouve un tableau comparatif de toutes les entreprises de VPN ici :

https://thatoneprivacysite.net/simple-vpn-comparison-chart/

null

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.