dimanche 19 janvier 2014

De Telnet à SSH


Pour communiquer entre eux en réseau, deux ordinateurs doivent utiliser le même protocole. C'est un peu comme une langue : pour parler à quelqu'un, vous devez parler la même langue que lui, sinon vous ne vous comprendrez pas.

Il existe de très nombreux protocoles pour que les ordinateurs puissent communiquer entre eux. Il y en a un que vous avez forcément vu, c'est le HTTP (HyperText Transfer Protocol). Si, si, Le préfixe http signifie que vous communiquez avec les serveurs du Site du Zéro à l'aide du protocole HTTP. C'est le protocole utilisé sur le web pour s'échanger des pages web.

Mais il existe bien d'autres protocoles ! Par exemple le FTP (File Transfer Protocol, protocole de transfert de fichiers), l'IMAP (Internet Message Access Protocol, utilisé pour s'échanger des e-mails), etc.

Le protocole Telnet : simple mais dangereux

Un protocole très simple, très basique, a été créé dans les années 80 : c'est Telnet. Il sert juste à échanger des messages simples d'une machine à une autre.

En théorie donc, on peut communiquer avec un serveur à l'aide du protocole Telnet. Le problème de ce protocole… c'est justement qu'il est trop simple : les données sont transférées en clair sur le réseau. Il n'y a aucun cryptage.

Voici ce qui pourrait se passer. Je force le trait, mais c'est pour vous donner une idée. Imaginez qu'un PC militaire demande à un serveur de l'armée le code de lancement de missiles (nucléaires, soyons fous), comme sur la figure suivante.
Après tout, il n'y a rien de choquant. Le message n'est envoyé qu'au client qui l'a demandé.
Mais en fait, un pirate aurait la possibilité d'« écouter » ce qui se passe sur le réseau, et donc d'intercepter les données en chemin (figure suivante).
Vous pouvez difficilement empêcher que quelqu'un intercepte les données. Intercepter les données peut être compliqué à réaliser, mais possible. Sachez qu'il existe par exemple des programmes comme Wireshark capables d'écouter ce qui se passe — notamment sur un réseau local — et donc d'intercepter les données (figure suivante).

     Euh… attends, là : moi, je veux juste me connecter à distance à ma machine ou à un serveur pour avoir l'accès à la console. Je ne vais pas échanger de code de lancement de missiles nucléaires ! Je vois pas en quoi c'est un problème si quelqu'un sait que je suis en train de faire un grep sur ma machine, par exemple…
Ça ne vous dérange pas que l'on vous espionne ? Soit.
Mais quand vous allez vous connecter au serveur, vous allez donner votre login et votre mot de passe. Rien que ça, c'est dangereux (figure suivante). Il ne faut pas que le login et le pass apparaissent en clair sur le réseau  !
Rien que pour cela, il faut que les données soient cryptées. Vous ne voulez pas que quelqu'un récupère votre mot de passe tout de même !

Le protocole SSH : la solution pour sécuriser les données

Comme on ne peut pas complètement empêcher quelqu'un d'intercepter les données qui transitent sur l'internet, il faut trouver un moyen pour que le client et le serveur communiquent de manière sécurisée. Le cryptage sert précisément à ça : si le pirate récupère le mot de passe crypté, il ne peut rien en faire.


Mais tout cela est plus compliqué que ça en a l'air. Comment crypter les données ?

0 Commentaire:

Enregistrer un commentaire

 
;