Proxy/VPN kézako ?

Proxy/VPN kézako ?

Dans le même esprit que l'article précédent, j'ai décidé d'aborder la « présentation » de deux outils fréquemment utilisés dans la sécurité informatique.

Avant tout chose, retenez-bien ceci : nous ne sommes jamais TOTALEMENT anonyme sur Internet. Certes on peut brouiller les pistes, rendre bien plus difficile l'identification mais croire qu'on est 100% à l'abri juste parce que l'on passe par un proxy/VPN est une grave erreur !

De plus, il n'y a pas que les adresses IP dans la vie. Par exemple, c'est (pas) bien de défacer un site et d'y laisser un jolly roger avec son super pseudo mais le problème c'est qu'un pseudo peut en dire long sur vous, surtout si vous avez utilisé ce pseudo des années durant.

Je vous invite d'ailleurs à faire le test d'une recherche sur Google : vous verrez, vous ne vous souviendrez plus que vous vous étiez inscrit sur ce site moche à chier, que vous écriviez aussi mal et pleins d'autres joyeusetés du genre. Mais Google, lui, s'en rappelle très bien ! Et contre ça, votre super VPN ne pourra strictement rien y faire.

Proxy

Un proxy est un intermédiaire entre vous (la source) et le site (la destination). Il faut comprendre que le site reçoit la requête du dernier intermédiaire. Quand il n'y en a pas, c'est votre adresse qui est directement utilisée mais quand il y en a un, c'est bel et bien l'adresse de cet intermédiaire qui sera utilisée.

Pour illustrer ce qu'est un proxy, nous allons prendre l'exemple du courrier postal.

Vous êtes Alice (qui représente le client, c'est à dire vous) et vous voulez envoyer une lettre à Bob (c'est le site).

Dans le cas « classique », voici ce qui se passe.

  • Alice => Bob (source : Alice, Destination : Bob)
  • Bob lit la lettre d'Alice (le site traite la requête reçue)
  • Alice <= Bob (source : Bob, destination : Alice)

Maintenant nous plaçons un intermédiaire que nous nommerons C.

  • Alice => C (source : Alice, Destination : C)
  • C => Bob (source : C, Destination : Bob)
  • Bob lit la lettre de C (le site traite la requête reçue)
  • C <= Bob (source : Bob, destination : C)
  • Alice <= C (source : C, Destination : Alice)

Comme vous pouvez le constater, Bob ne communique qu'avec C mais jamais directement avec Alice. Bob ne sait pas qu'Alice existe, il ne s'occupe que de C.

Ajoutons un autre intermédiaire.

  • Alice => C (source : Alice, Destination : C)
  • C => D ((source : C, Destination : D)
  • D => Bob (source : D, Destination : Bob)
  • Bob lit la lettre de D (le site traite la requête reçue)
  • D <= Bob (source : Bob, destination : D)
  • C <= D ((source : D, Destination : C)
  • Alice <= C (source : C, Destination : Alice)

Cette fois-ci, Bob communique avec D et ignore que C et Alice existe. Notez également qu'il y a TOUJOURS une source et une destination.

En bref, Bob ne communique qu'avec le dernier intermédiaire. Il enverra sa réponse à l'adresse de cet intermédiaire. Cet intermédiaire se chargera de le transmettre au précédent intermédiaire et ainsi de suite jusqu'à finalement retomber sur Alice.

C'est cela, un proxy, sauf que les adresses postales sont remplacées par des adresses IP.

De plus, pour corser les choses, le message transmis peut être chiffré. Il est par contre important de noter que la communication entre le dernier intermédiaire et le destinataire se fait en clair (j'entends par « clair » le message tel que vous l'auriez envoyé au destinataire s'il n'y avait pas eu d'intermédiaires). Si ce n'était pas le cas, le destinataire serait incapable de comprendre le message et par conséquent, incapable de vous répondre.

Bien entendu, si nous voyons que Bob a envoyé une lettre à D, que nous examinons ce qu'à envoyé D, nous pourrons déterminer qu'il a envoyé une lettre à C et si nous remontons à C, nous pourrons voir qu'il a envoyé une lettre à Alice.

Certes, dans la réalité, ça n'est pas toujours aussi simple vu le nombre parfois important d'intermédiaires (qui peuvent être éparpillés aux quatres coins du globe, ce qui nécessite des formalités juridiques et certains pays sont réputés pour être peu coopératif), de la présence de chiffrement etc.

C'est de cette manière ça qu'on peut contourner une protection vous disant que vous ne pouvez pas regarder telle vidéo parce que vous n'êtes pas dans tel pays : en faisant en sorte que le dernier intermédiaire soit un serveur qui se trouve dans le dit pays, le site considérera que vous êtes effectivement bien dans ce pays (puisque pour rappel, il ne peut voir que le dernier intermédiaire).

VPN

Avant d'expliquer ce qu'est un VPN, il me semble important de savoir ce qu'est un réseau local.

Quand on parle de réseau la plupart des gens ont en tête Internet, qui est en quelque sorte l'interconnexion de milliers de réseaux. Mais un réseau n'est pas forcément « lié » à Internet. Votre routeur, par exemple, permet la communication vers Internet (ou plutôt vers d'autres réseaux, parce que ça peut ne pas forcément être Internet) mais il permet également aux ordinateurs connectés à lui-même de communiquer entre eux, et ça, ça ne passe pas par Internet. C'est le réseau local, c'est à dire que les machines connectées à ce routeur forment un réseau. Si un site est hébergé sur un des ordinateurs de ce réseau local, même s'il n'y a pas de connexion à Internet, un autre ordinateur connecté à ce réseau local aura accès au site (parce qu'il se trouve sur le même réseau et qu'il peut, par conséquent, communiquer avec le site en question).

En bref, le réseau local est le réseau que forme toutes les machines connectées à un routeur/switch. On dit qu'il est local car seules les machines connectées à ce réseau ont un accès aux autres machines, même en l'absence d'une connexion vers Internet car on utilise cette connexion (on parle plutôt de « passerelle ») quand on veut atteindre une ressource qui ne se trouve pas sur le réseau local (bon ce n'est pas totalement exact car on peut connecter des réseaux en reliant les routeurs entre eux mais le but est de vous faire comprendre la notion de réseau local et pas de vous faire un cours complet de réseau).

Il me semble important aussi d'expliquer la différence entre une adresse IP privée et une adresse IP publique.

Une adresse IP publique est celle que votre routeur utilise pour communiquer sur Internet. C'est cette adresse que les sites internet « verront ».

Une adresse IP privée est une adresse IP attribuée aux ordinateurs du réseau local. Elle sera utilisée pour communiquer avec une machine présente sur le même réseau ou pour la communication machine/routeur. Il faut bien comprendre que ces adresses sont propres au réseau local. Par exemple, pour le moment mon adresse IP privée est 192.168.1.8. Cette adresse cible MON réseau local. Si vous tentez de faire un ping chez vous, c'est bien VOTRE réseau local que vous ciblerez et non le mien.

Il est donc fort probable que pas mal d'ordinateurs possèdent l'adresse 192.168.1.8 mais comme dit, cette adresse désigne l'ordinateur ayant l'adresse IP 192.168.1.8 sur LEUR réseau local. Il n'y a donc pas de collision possible. Il est par contre impossible qu'il y ait plusieurs fois la même adresse IP privée sur le même réseau local.

Les adresses IP privées sont facilement reconnaissables car il n'existe en fait que 3 plages d'adresses réservées.

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Donc quand un gars vous menace de vous faire un déni de service parce que vous avez balancé votre adresse IP privée, dites lui d'aller prendre quelques cours de réseau parce qu'il en aura grand besoin (cela ne peut être possible que si cette personne se trouve sur le même réseau local que vous. S'il tente ça chez lui, c'est sur son propre réseau qu'il fera un déni de service. Le comble serait qu'il ait précisément cette adresse IP privée car dans ce cas là, il se fera un déni de service sur... sa propre machine _). Pour le cas d'une adresse IP publique, si cette adresse vous est attribuée de manière dynamique (le routeur se voit attribuer une adresse IP publique différente à chaque démarrage), la parade est extrêmement compliquée (bien entendu, j'ironise) : tirer la prise du routeur, rebrancher la prise du routeur (puis de toute façon les dénis de service, c'est con et puéril ! :P ).

Ceci étant dit, revenons à notre VPN.

Un VPN (pour « Virtual Private Network ») est en fait un réseau local... distant.

Je sais que ça à l'air un peu contradictoire mais pour imager, c'est un peu comme si vous étiez à Paris, qu'il y avait un routeur à Moscou, et que vous tiriez un câble « virtuel » jusqu'à ce routeur. Ce câble « virtuel » est nommé tunnel. Il est tout de même à noter que ça passera d'abord par votre routeur puis via Internet.

Souvent ce tunnel est chiffré (ce n'est pas toujours le cas).

A partir de ce moment là, lorsque vous vous connecterez à un site, c'est bien le VPN qui enverra la requête, c'est donc l'adresse IP publique du VPN que le site verra.

Grosso modo, le schéma serait le suivant

  • Alice ===tunnel===> VPN (source : Alice, Destination : VPN)
  • VPN => Bob
  • Bob lit la lettre du VPN (le site traite la requête reçue)
  • VPN <= Bob (source : Bob, destination : VPN)
  • Alice <===tunnel=== VPN (source : VPN, Destination : Alice)

Bob ne communique qu'avec le VPN et jamais directement avec Alice, tout comme le proxy et d'ailleurs un VPN est un proxy puisqu'il agit comme un intermédiaire (informatiquement parlant, proxy et intermédiaire sont des synonymes ;) ). Après on utilise souvent le terme proxy pour désigner un proxy web chargé de faire transiter uniquement les protocoles utilisés sur le web comme HTTP. Cependant le réseau ne se limite pas qu'à HTTP(S), il y a une multitude d'autres protocoles, qui ne seront pas pris en charge par un proxy web (et le mot web veut bien dire ce qu'il veut dire). Pour schématiser, le VPN peut être sensiblement comparé à un second routeur.

En bref on a quelque chose de ce genre en « réalité » (en supposant que le VPN n'est directement relié à votre routeur et se trouve sur un autre réseau, ce qui est généralement le cas quand il se trouve à l'autre bout du monde ou alors vous avez un très très très très grand câble... :P ) :

Vous -> Internet -> VPN -> Internet

Une dernière chose que je voudrais aussi préciser : beaucoup de personnes s'imaginent qu'un VPN sert à « se protéger » et qu'ils peuvent de ce fait faire des choses illégales par ce biais sans être inquiété : c'est FAUX. Un VPN vous protège des « abus » oui mais, généralement, respecte cependant la loi et prend un minimum de précaution (oui il y a souvent des logs, alors certes on ne cherche pas à vous suivre à la trace mais ils n'ont souvent pas envie de se retrouver accuser de complicité à cause de VOS conneries) quand à l'utilisation qu'en font leurs clients, ne serait ce que pour se protéger eux même en cas d'infractions graves. Ça n'est donc pas un outil pour commettre des crimes. Et si vous lisez de manière attentive les conditions générales, vous savez le truc qu'on s'empresse d'accepter sans même lire une seule ligne, c'est très souvent clairement indiqué dedans, mais comme personne ne les lit jamais... Bref, vous êtes prévenu. ;)

Facebook button Twitter button Google button

Laissez un commentaire

Votre adresse email ne sera pas publiée. Les champs marqués d'une * sont obligatoires.