Les tunnels VPN pour les débutants

I. Présentation

Les VPN ne sont pas nouveaux, et pourtant, ces dernières années leur usage s'est intensifié. Tout d'abord, suite à la présence sur le marché de nombreuses solutions VPN pour le grand public, mais aussi à cause de la pandémie de la Covid-19 qui a poussé les entreprises à recourir au télétravail. À l'origine, les VPN étaient utilisés majoritairement par les entreprises, mais aujourd'hui, tout le monde peut utiliser un VPN très facilement.

Dans cet article, je vais vous présenter les trois grands types de VPN en alimentant mes propos par des schémas et des exemples, avant de vous parler des protocoles VPN les plus populaires. Cela vous permettra d'avoir une vue d'ensemble sur les "VPN". Avant tout, commençons par une introduction sur la notion de VPN.

II. Qu'est-ce qu'un VPN ?

VPN signifie Virtual Private Network, que l'on peut traduire en français : réseau privé virtuel, ce qui nous donne RPV. Néanmoins, retenez l'acronyme "VPN", car c'est celui qui est utilisé par tout le monde.

L'objectif d'un VPN est simple : le VPN va créer un lien virtuel entre deux points, par exemple entre deux réseaux d'entreprise, ou entre un PC client et un réseau d'entreprise. Au sein de ce lien, que l'on appelle un tunnel, les données seront chiffrées et isolées du reste du trafic, c'est là tout l'intérêt du VPN et cette notion de "privé". Le VPN permet de créer une extension virtuelle de votre réseau local jusqu'à un autre réseau (site) ou jusqu'à un poste de travail distant.

Le VPN va chiffrer les données de bout en bout, c'est-à-dire de l'équipement qui ouvre le tunnel jusqu'à son point de terminaison. Grâce à cela, il renforce la confidentialité des échanges au travers de réseaux non sécurisés (exemple : hotspot public).

Pour mieux comprendre cette notion de tunnel VPN, intéressons-nous aux types de VPN.

III. Les types de VPN

A. VPN client-to-site

Quand un tunnel VPN est établi entre un appareil (ordinateur, smartphone, tablette, etc.) et un réseau d'entreprise, on parle de VPN client-to-site (client à site). Ce type de VPN est généralement utilisé lorsque vous souhaitez travailler de votre domicile (télétravail) et que vous avez besoin d'accéder à un ensemble de ressources de votre entreprise. C'est également utile pour les personnes nomades, afin de pouvoir se connecter depuis un hôtel, une gare, un restaurant, etc.

Ainsi, on peut imaginer que plusieurs employés de l'entreprise se connectent au réseau d'entreprise, à distance, de façon sécurisée via un VPN. Grâce à cette connexion, l'utilisateur peut accéder à ses données sur le serveur de fichiers, ou à une application hébergée sur un serveur, etc.

Il n'est pas question de publier sur Internet les différents serveurs : ce serait un risque important en termes de sécurité. Le VPN est également préférable à l'utilisation d'outils de connexion à distance comme TeamViewer, AnyDesk, etc. Dans le cas où une entreprise s'appuie sur un Cloud tel qu'Office 365 pour héberger ses données, sa messagerie, etc... il ne sera pas nécessaire d'utiliser un VPN pour accéder aux données hébergées dans le Cloud.

Schéma VPN client to site

Lorsque l'on configure un VPN "client-to-site", il y a différentes options possibles, notamment les options liées au chiffrement. En plus, il y a également la possibilité de choisir entre un "split tunnel" et un "full tunnel". Explications.

  • Split tunnel

Un VPN en mode split tunnel est un tunnel divisé, cela signifie que tout le trafic réseau de la machine connectée au VPN ne passera pas par le VPN. Prenons un exemple... Si la machine essaie d'accéder à un document hébergé sur le serveur de fichiers, alors le flux passera par le VPN. Par contre, si la machine essaie de naviguer sur Internet, pour accéder à "it-connect.fr" et bien le flux sortira directement via la connexion Internet du réseau où se situe la machine (le réseau du domicile, celui de la gare, etc.).

On parle de tunnel divisé, car certains flux spécifiques (correspondants à un sous-réseau ou à certains serveurs) seront redirigés vers le tunnel VPN, tandis que les autres vont utiliser la connexion locale de la machine.

  • Full tunnel

Un VPN en mode full tunnel est un tunnel complet, c'est-à-dire que tout le trafic réseau de la machine connectée au VPN passe par le tunnel VPN. Si l'utilisateur accède à Internet, ce flux passera par le VPN également, et il sortira par la connexion Internet de l'entreprise, comme s'il était au bureau. C'est intéressant pour sécuriser tous les flux de la machine : si vous filtrez certains sites Internet, le filtrage s'appliquera également même si l'utilisateur est chez lui, ou à l'hôtel.

  • VPN client-to-site pour la maison

Il y a un autre cas d'usage du VPN "client-to-site" correspondant plus "aux particuliers". En effet, ce type de VPN peut vous permettre de vous connecter au réseau de votre domicile quand vous n'êtes pas chez vous. Généralement, on s'appuie sur un NAS (ou un routeur compatible) pour mettre en place le serveur VPN. Voici des tutoriels à ce sujet :

B. VPN site-to-site

Un VPN site-to-site, ou en français site à site, est un tunnel VPN qui permet d'interconnecter deux réseaux d'entreprise entre eux. Cette interconnexion est intéressante afin de permettre le partage de ressources entre les deux réseaux, par exemple une application hébergée sur le réseau A qui doit être accessible par les utilisateurs connectés sur le réseau B. Avec l'utilisation du Cloud, si une entreprise dispose de serveurs hébergés dans Azure, AWS, etc... Elle peut les rendre accessibles au travers d'un site-to-site entre les deux réseaux.

Schéma VPN site to site

Remarque :

À partir du moment où tous les sites de l'entreprise utilisent le même opérateur Internet, on peut demander à l'opérateur de mettre en place un VPN MPLS. Le protocole MPLS permet d'interconnecter les sites via le réseau de l'opérateur. Aujourd'hui, cette solution est progressivement remplacée par une autre solution à la mode : le SD-WAN, qui permet d'interconnecter des sites même s'ils ne sont pas chez le même opérateur.

Voici des tutoriels au sujet des VPN site-to-site :

C. VPN grand public

Les VPN grand public sont très populaires et il existe une quantité importante de fournisseurs VPN (NordVPN, SurfShark, GhostVPN, etc.) sur le marché. Soumis à un abonnement mensuel, l'objectif est totalement différent des deux types évoqués précédemment.

Ces solutions ouvertes à tous sont utilisées principalement pour :

  • La protection de la vie privée sur Internet grâce au surf anonyme (plus ou moins vrai en fonction des fournisseurs)
  • Contourner les restrictions géographiques pour l'accès à certains contenus (par exemple : accéder au catalogue Netflix d'un autre pays)

L'utilisateur établit une connexion VPN à partir de son ordinateur vers un serveur VPN du fournisseur VPN, et ensuite il peut naviguer sur Internet via ce tunnel. Côté du fournisseur VPN, différents mécanismes et rebonds sur plusieurs serveurs permettent d'anonymiser l'utilisateur. Par exemple, même en étant en France, il est possible de naviguer sur Internet comme si l'on était localisé en Allemagne, aux États-Unis, à un autre endroit en France, voire même au Costa Rica (même si cela ne vous apportera pas le soleil).

Schéma VPN grand public

IV. Les principaux protocoles VPN

Pour mettre en place un VPN, il est possible de s'appuyer sur différents protocoles : voici une présentation synthétique des principaux protocoles VPN. L'objectif du protocole est d'établir la connexion entre les deux hôtes, c'est-à-dire de monter le tunnel VPN, puis d'en assurer la sécurité grâce au chiffrement. Pour cela, un algorithme de chiffrement sera utilisé par le protocole en lui-même.

A. Le protocole PPTP

Le protocole PPTP (Point-to-Point Tunneling Protocol) est une méthode historique pour mettre en place tunnel VPN, développé à la base par Microsoft. Je vous en parle surtout pour votre culture personnelle, car ce protocole n'est plus recommandé à cause de différentes failles de sécurité. On peut dire qu'il présente l'avantage d'être compatible avec les appareils anciens, mais clairement il a des lacunes en matière de sécurité, et il y a des protocoles plus sécurisés qu'il est préférable d'utiliser. Retenez que PPTP est un protocole historique, mais obsolète.

Note : ce protocole est référencé au sein de la RFC 2637.

B. Les protocoles L2TP/IPsec

Conçu par Microsoft, le protocole L2TP pour Layer 2 Tunneling Protocol, s'appuie sur IPsec (Internet Protocol Security) pour fonctionner. Chacun à un rôle bien spécifique, L2TP a pour objectif d'établir la connexion VPN en elle-même, tandis que IPsec s'assure de la sécurité et du chiffrement des données en transit dans le tunnel VPN. Avec ce type de tunnel VPN, il y a une double authentification, car il y a un tunnel L2TP dans un tunnel IPsec, ce qui apporte un plus d'un point de vue la sécurité, mais cela impact directement les performances, car les flux sont plus lourds à gérer. À l'usage, il est plus lent qu'OpenVPN, un protocole que nous allons voir dans la suite de cet article.

Note : ce protocole est pris en charge nativement par Windows, et il utilise les ports 1701 et 500 en UDP.

C. Les protocoles IKEv2/IPsec

Le protocole IPsec est également associé à un autre protocole que vous êtes susceptible de rencontrer : IKEv2 (Internet Key Exchange version 2). Il est plus récent que L2TP, et il s'en inspire, d'ailleurs il s'appuie sur IPsec pour les mêmes raisons : bénéficier de la sécurité et du chiffrement des données. IKEv2 est le fruit de travaux entre Microsoft et Cisco, et sa version 2 est disponible depuis 2005 tandis que la première version est sortie en 1998.

Lorsqu'un tunnel IKEv2 est monté entre deux machines, il y a tout d'abord une authentification mutuelle entre les deux hôtes (notamment avec une clé partagée), la négociation des paramètres cryptographiques (par exemple, utilisation d'AES-256) et la création de clés de session, on appelle cela la phase 1. Ensuite, la phase 2 est déclenchée afin de négocier d'autres paramètres, notamment les réseaux accessibles au travers du tunnel VPN.

La connexion IKEv2 est réputée comme étant rapide, ce qui facilite l'usage de ce VPN sur les mobiles. D'ailleurs, pour l'anecdote, c'est le seul protocole VPN pris en charge sur les appareils BlackBerry.

Note : il s'appuie également sur le port 500, en UDP.

D. Le protocole OpenVPN

Soyons honnêtes : OpenVPN est le leadeur actuel dans le monde des VPN ! C'est clairement le plus couramment utilisé. C'est un protocole open source qui a fait ses preuves (il existe depuis 2001) et bénéficie d'une solide réputation. Il est implémenté au sein du logiciel OpenVPN, mais aussi compatibles avec de nombreux équipements de différents éditeurs/fabricants (Synology, Stormshield, Sophos, Asustor, etc.).

Quand on parle d'un VPN SSL (Secure Sockets Layer), on fait généralement référence à OpenVPN, car il s'appuie sur le protocole SSL pour chiffrer les échanges. Bien souvent, l'algorithme de chiffrement symétrique utilisé est l'AES 256 bits, un algorithme extrêmement fiable et robuste.

OpenVPN est à la fois simple à configurer, rapide et sécurisé, alors forcément il plaît. Par défaut, il fonctionne en UDP sur le port 1194, mais il peut fonctionner sur d'autres ports, ainsi qu'en TCP. Même si cela va forcément affecter les performances, c'est intéressant pour contourner certains pare-feu. A l'inverse, les VPN L2TP/IPsec et IKEv2 sont régulièrement bloqués par les pare-feu.

Je ne peux que vous recommander l'utilisation d'OpenVPN, d'autant plus qu'il est compatible avec les différents systèmes (Windows, Linux, Android, etc.).

E. Le protocole WireGuard

Dans l'histoire des VPN, le protocole WireGuard est récent puisqu'il est disponible en version stable depuis mars 2020 ! Compatible avec l'ensemble des systèmes d'exploitation que l'on utilise sur nos appareils aujourd'hui (Windows, Linux, BSD, macOS, Android, iOS), on le retrouve aussi pris en charge par certains systèmes spécifiques comme OpenWRT et OPNsense. En comparaison de solutions comme OpenVPN et IPSec, WireGuard se veut plus simple dans son fonctionnement et beaucoup plus rapide : les débits proposés sont plus élevés.

WireGuard fonctionne en mode peer-to-peer et l'authentification entre deux clients s'effectue par un échange de clés (publique/privé). La sécurité est assurée par différents algorithmes sélectionnés avec beaucoup de soin. Par exemple, il utilise l'algorithme de chiffrement symétrique ChaCha20, l'authentification des messages est effectuée avec Poly1305, tous deux accompagnés par d'autres solutions Curve25519, BLAKE2 et SipHash24.

Note : WireGuard fonctionne uniquement en UDP, ce qui là encore est un inconvénient pour traverser certains firewalls.

Pour le découvrir plus en détail, je vous recommande la lecture de cet article :

V. Conclusion

Cette introduction à la notion de VPN touche à sa fin ! Grâce à cette synthèse, vous avez une belle vue d'ensemble des types de tunnels VPN et des principaux protocoles que l'on peut rencontrer. Néanmoins, il existe d'autres protocoles comme SSTP (Secure Socket Tunneling Protocol) qui s'appuie sur un canal SSL, et qui est pris en charge par Windows et Linux. On peut également citer le protocole propriétaire Lightway de chez ExpressVPN.

Personnellement (et je ne serai surement pas le seul), je constate que :

  • Les VPN client-to-site sont généralement en VPN SSL basé sur OpenVPN, ou alors en L2TP/IPsec
  • Les VPN site-à-site sont plutôt basés sur IKEv2 et IPsec

Si le sujet des VPN en entreprise vous intéresse, je vous recommande la lecture de cet article complémentaire : Télétravail : faut-il déployer le VPN à tous les employés ?

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 3786 posts and counting.See all posts by florian

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

 

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