Nouveau post dans lequel cette fois ci nous allons faire une petite introduction à ce que l’on appelle un “VPN“, couplé avec le protocole le plus sécurisé actuellement, le protocole “IPSEC”.

Ces notions peuvent être assez complexes mais sont très importantes de nos jours et cet article tâchera d’être le plus concis possible. Il comprendra également des analogies du quotidien afin d’être accessible aux plus grands nombres.

C’est parti ! 😉


Qu’est ce qu’un VPN ?

Depuis plusieurs années, le VPN est devenu un outil très à la mode sur internet. Mais qu’est-ce que c’est réellement et à quoi cela peut-il bien nous servir ?

Un VPN c’est un “Virtual Private Network“, ou un “Réseau virtuel privé” en français, qui peut être vu comme une extension d’un réseau local. Il va nous permettre d’interconnecter des réseaux entre eux, même si ceux-ci sont à des milliers de kilomètres l’un de l’autre, de façon sécurisée en utilisant une technique de “tunneling” à travers le plus grand réseau mondial : Internet.

La technique consiste à utiliser Internet comme support de transmission en créant, dans ce vaste réseau, un réseau artificiel, un “réseau virtuel privé” donc, qui ne sera accessible que par ceux que l’on va autoriser, comme par exemple la succursale d’une entreprise à Paris qui a besoin d’accéder aux fichiers sur un serveur de sa maison mère situé à New York ou encore un employé qui a besoin d’accéder au réseau de sa société depuis son domicile.

 

Internet comme support ? C’est sûr comme méthode ?

Alors dans un premier temps il faut préciser une chose : NON Internet n’est pas un réseau considéré comme sécurisé bien qu’il soit le plus grand réseau monde. En effet, grâce à Internet, tout le monde peut communiquer ensemble. Sur ce réseau, on peut trouver des particuliers qui font des achats en ligne, des joueurs invétérés, des entreprises qui s’échangent des données mais aussi et surtout des pirates informatiques qui sont là pour vous nuire et dérober des informations confidentielles.

Voici une représentation grossière du réseau Internet. Ici, Internet est vu comme un énorme tuyau bleu qui relie les ordinateurs et serveurs du monde entier.

Dans cette illustration, les réseaux de New York et de Paris communiquent ensemble sans se méfier. Le PC de Paris envoie une simple requête ping au serveur de fichiers de New York.

Je suis un méchant pirate au milieu qui veut voir ce que ces deux-là se disent. Pour cela, je vais utiliser un logiciel de capture du trafic réseau, Wireshark. Tout ce qui sera émis entre Paris et New York sera capté par le logiciel.

Le logiciel voit clairement que le site de Paris (adresse source 192.168.1.1) est en train d’émettre une requête ping au serveur de New York (adresse de destination 192.168.3.1) et que ce dernier lui répond.

Certes ici il ne s’agit que d’une simple requête mais imaginez que New York héberge un site de e-commerce et qu’un utilisateur du PC de Paris soit en train d’effectuer un achat. Si le client rentre ses numéros de carte bancaire, le pirate les aura également…

Attention cet exemple est très exagéré et n’est là que dans un but démonstratif.

 

Mais alors comment interconnecter deux sites distants en toute sécurité ?

Pour pallier à ce problème de sécurité, c’est là que nous allons faire intervenir un « Tunnel VPN ». On va installer dans le gros tuyau bleu représentant internet, un petit tuyau rouge qui va faire passer uniquement la communication entre la maison mère de New York et sa succursale de Paris. Tout ce qui va transiter dans ce tuyau rouge sera complètement hermétique et illisible par un usurpateur car « chiffré » de bout en bout.

Il existe plusieurs sortes de VPN dont les plus connues sont certainement :

  • Le VPN PPTP : « Point-to-Point Tunneling Protocol » (en français, protocole de tunnel point-à-point). Pour accéder au VPN, les utilisateurs doivent d’authentifier en utilisant un mot de passe pré-approuvé. Un VPN PPTP ne nécessite pas d’installation de logiciel supplémentaire mais n’offre pas de base une fonctionnalité de cryptage.

  • Le VPN Site-to-site : Egalement appelé « Router-to-Router ». Cette technique crée un réseau sécurisé entre 2 points mais pas une ligne “dédiée”. C’est à dire en réalité que le VPN est créé ou “monté” uniquement lorsque la succursale se connecte à la maison mère, la connexion n’est pas permanente. Un VPN site-to-site est sécurisé mais nécessite du matériel informatique sous forme de routeur ou de logiciels situé des deux côtés afin de diriger les communications vers les bonnes destinations mais aussi et surtout, crypter/décrypter ces communications.

  • Le VPN SSL/TLS : SSL signifie « Secure Sockets Layer » et fonctionne de pair avec le protocole TLS « Transport Layer Security ». SSL et TLS sont utilisés pour construire la connexion VPN sécurisée. Dans cette méthode, le navigateur internet sert de client et l’accès utilisateur est restreint à certaines applications seulement plutôt qu’un réseau entier. De plus les navigateurs internet intègrent déjà les protocoles SSL et TLS ce qui ne nécessitera pas d’action de la part de l’utilisateur.

  • Le VPN IPsec : IPsec est l’abréviation de « Internet Protocol Security » (protocole de sécurité internet). IPsec est en fait tout un ensemble de protocoles qui ont été standardisés. Son but est de fournir un haut niveau de sécurité dans l’échange des paquets IP entre 2 réseaux. L’ensemble des données seront cryptés pendant toute la connexion et ne pourront être déchiffrés que si l’authenticité a pu être vérifiée grâce, par exemple, à un échange de certificats numériques signés de part et d’autre du VPN. Il faut impérativement que les 2 réseaux qui s’échangeront des données disposent de la même configuration IPsec sans quoi les données ne pourront être vérifiées et donc seront rejetées. IPsec est une méthode VPN très forte, transparente pour les utilisateurs finaux, mais qui peut parfois s’avérer complexe à mettre en place.

 

Le choix d’une technique de VPN dépend en partie de ce que vous voulez faire, mais surtout de la sécurisation que vous souhaitez mettre en place. Dans notre cas, nous allons étudier un peu plus en détail la méthode de VPN IPsec.

 

Comment IPsec sécurise-t-il nos données ?

IPsec, c’est un ensemble de mécanismes permettant de protéger le trafic au niveau IP, c’est à dire au niveau réseau. Les applications n’ont donc pas à se soucier de la sécurisation de l’échange.

Les points clés du protocole IPsec sont :

  • La confidentialité des données : l’émetteur chiffre les paquets avant de les transmettre sur l’Internet.
  • L’intégrité des données : le récepteur vérifie que les paquets reçus n’ont pas été altérés lors de la transmission.
  • L’authentification : le récepteur vérifie l’identité de l’émetteur.

Pour permettre de sécuriser les échanges dans un VPN IPsec, il faut que les deux réseaux correspondants établissent des règles de sécurité identiques. Les règles devront définir la politique de sécurité pour les communications entre les deux réseaux en choisissant notamment qu’est ce qui doit être échangé par le VPN IPsec, quels protocoles utilisés pour y parvenir, ou encore quelles méthodes de chiffrement choisir.

Des bases de données appelées SAD « Security Association Database » et SDP « Security Policy Database » seront interrogées pour chaque échange entre les deux réseaux afin de s’assurer que les messages suivent bien la politique de sécurité établie.

Il faut savoir que la technologie IPsec présente deux modes d’échange distincts qui sont :

  • Le mode « transport »
  • Le mode « tunnel »

La principale différence entre ces deux modes se situe au niveau du masquage des adresses sources et destination d’origine. En mode transport, les adresses d’origines ne seront pas masquées dans le message échangé entre les deux réseaux. A contrario, en mode tunnel, celles-ci seront protégées et remplacées. Le vrai destinataire du message ne saura réellement qui lui a envoyé que lorsqu’il aura lu le message, c’est une protection supplémentaire contre l’écoute des communications. Nous ne verrons ici que le mode « tunnel » qui est le plus sécurisé.

 

Donc IPsec c’est un protocole qui contient… des protocoles ?!

IPsec est en réalité un ensemble de protocoles défini par l’IETF « Internet Engineering Task Force », un organisme chargé d’élaborer les normes des protocoles Internet. Nous verrons dans cette partie deux protocoles utilisés pour sécuriser les échanges dans un VPN IPsec.

Pour vous aider à mieux cerner les explications qui vont suivre, nous allons faire une analogie avec notre quotidien en visualisant les communications réseaux comme des échanges de courriers postaux.

Le but initial est d’envoyer un message à une personne située à New York alors que nous sommes à Paris. Nous allons donc lui écrire une lettre, la glisser dans une enveloppe, y ajouter l’adresse du destinataire et évidemment, l’adresse de l’expéditeur dans l’espoir d’une réponse puis finalement refermer cette enveloppe et l’envoyer.

Mais comment pouvons-nous être sûrs que le courrier arrivera à bonne destination et que personne d’autre que le destinataire ne l’aura lu ou pire modifié à notre insu ?

Et bien ces questions peuvent également se poser dans le cas d’un VPN. Pour sécuriser les messages échangés entre les réseaux, IPsec va faire appel à deux protocoles qui peuvent fonctionner séparément ou conjointement : Le protocole AH et le protocole ESP.

Le protocole AH, signifiant « Authentification Header » va assurer l’intégrité des données et authentifier la provenance de ces données mais attention, sans pour autant les chiffrer. Son but est simplement de remettre au destinataire final un message, un « paquet », qui possède une identification sécurisée. Ce protocole va pour cela rajouter dans le paquet, qu’on appelle techniquement « un datagramme », une partie supplémentaire qui va servir à l’authentification. Ce protocole est approprié lorsque la confidentialité n’est pas requise.

On pourrait l’illustrer ce qui se passe comme suit : un message est écrit « en clair » et déposé dans une enveloppe scellée pour certifier au destinataire qu’elle n’a pas été ouverte. Cette enveloppe scellée sera elle-même déposée dans une seconde enveloppe et le tout sera posté.

Le protocole ESP, « Encapsulation Security Payload » assure, en plus des fonctions réalisées par AH, la confidentialité des données et leur protection. C’est le protocole le plus utilisé actuellement car celui qui présente le plus haut niveau de sécurité. Il va chiffrer les données afin qu’elles ne puissent être comprises que par le destinataire. En résumé, c’est comme envoyer un coffre-fort avec un cadenas dont seul le destinataire possède la clé pour l’ouvrir. Le protocole ESP couplé au protocole AH donnera alors des données cryptées ET infalsifiables.

Si nous illustrons le fonctionnement du protocole ESP grâce à notre analogie, nous verrons qu’il est quasiment similaire au protocole AH, à la différence qu’il va crypter le message avant de le sceller et de l’expédier. De cette façon, même si le courrier est intercepté, ce qu’il contient sera tout simplement indéchiffrable sans la clé.

Du côté du destinataire, il recevra le message, s’assurera de son intégrité en constatant qu’il est toujours scellé et pourra le consulter car lui seul possède la clé pour en déchiffrer le sens.

 

Alors IPsec + ESP = tranquillité ?

Et bien, maintenant que nous avons mis en place un VPN IPsec avec le protocole ESP activé, relançons un ping entre les deux clients comme exposé au début de cet article et analysons une nouvelle fois le trafic entre nos deux réseaux avec un outil spécialisé.

Cette fois ci, nous ne voyons aucune requête ICMP. Ce que nous voyons à la place ce sont les adresses IP « publiques » (simulées je le précise…) de nos deux sites distants qui communiquent avec le protocole ESP. Nous ne voyons, ni le contenu du message, ni le destinataire/expéditeur réel. Nos échanges sont donc sécurisés.

Vous l’aurez compris, la technologie de VPN la plus sûre pour que deux réseaux distants puissent communiquer en toute confiance sera donc bien IPsec qui utilisera le protocole ESP pour protéger vos données, malgré que ce ne soit pas la plus simple à mettre en place.

 

En savoir plus

Cette article a pour but de faire découvrir ce qu’est un VPN IPsec en surface. Beaucoup d’autres protocoles interviennent dans cette technologie de VPN qui n’ont pas été cités ici comme le protocole IKE, « Internet Key Exchange », qui permet l’échange de clés pour assurer l’authentification des parties.

Afin d’en découvrir d’avantages sur le protocole IPsec, son implantation dans les datagrammes IP, les SA, SPD, les algorithmes de chiffrement ou encore l’encapsulation, je vous renvoie vers l’article très complet du site spécialisé réseau « frameip.com » disponible au lien suivant : introduction au protocole ipsec.

Aucune allusion à l’utilisation d’un VPN chez soi pour les petits malins qui veulent faire du téléchargement illégal (ou pire d’ailleurs…) n’a été faite dans cet article car c’est totalement inintéressant pour moi et j’estime que quand on a rien à se reprocher, on n’a pas besoin de se cacher. yes

 

Ce petit tour d’horizon est maintenant terminé, prenez un doliprane et protégez vos données ! A bientôt ! declare

Introduction aux VPN et tunnel IPsec

Articles pouvant vous intéresser