Formation I.S.N.

Protocoles divers

Il existe de nombreux autres protocoles de communication dédiés à des tâches bien précises qui concernent le web, le courriel, le transport... Voici quelques informations concernant :

Autres protocoles de la couche Application

HTTP(s) : HyperText Transfer Protocol (Secure)

HTTP — littéralement « protocole de transfert hypertexte » — est un protocole de communication client-serveur développé pour le World Wide Web. HTTPS est la variante du HTTP sécurisée par l'usage des protocoles SSL ou TLS qui permet d'obtenir une couche de chiffrement.

HTTP peut fonctionner sur n'importe quelle connexion fiable, dans les faits on utilise le protocole TCP comme couche de transport. Un serveur HTTP utilise alors par défaut le port 80 (443 pour HTTPS).

Les clients HTTP les plus connus sont les navigateurs Web permettant à un utilisateur d'accéder à un serveur contenant les données. Il existe aussi des systèmes pour récupérer automatiquement le contenu d'un site tel que les aspirateurs de site Web ou les robots d'indexation.

Méthodes HTTP

Dans le protocole HTTP, une méthode est une commande spécifiant un type de requête, c'est-à-dire qu'elle demande au serveur d'effectuer une action. En général l'action concerne une ressource identifiée par l'URL qui suit le nom de la méthode.

Dans l'illustration ci-dessous, une requête GET est envoyée pour récupérer la page d'accueil du site web www.perdu.com :

GET / HTTP/1.1
Host: www.perdu.com
Requête GET

Les 3 méthodes les plus courantes sont GET, HEAD et POST :

DNS : Domain Name System

Le DNS, ou système de noms de domaine en français, est un service permettant de traduire un nom de domaine en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom. À la demande de la DARPA (Defense Advanced Research Projects Agency, « Agence pour les projets de recherche avancée de défense ») américaine, Jon Postel et Paul Mockapetris ont conçu le « Domain Name System » en 1983 et en ont rédigé la première réalisation.

Les équipements (hôtes) connectés à un réseau IP, comme Internet, possèdent une adresse IP qui les identifie sur le réseau. Ces adresses sont numériques afin de faciliter leur traitement par les machines. Pour faciliter l'accès aux hôtes sur un réseau IP, un mécanisme a été mis en place permettant d'associer un nom à une adresse IP, plus simple à retenir, appelé « nom de domaine ». Résoudre un nom de domaine consiste à trouver l'adresse IP qui lui est associée.

Le DNS est en quelque sorte un gros annuaire qui lie les adresses IP aux noms des serveurs.

En plus des adresses IP, des informations complémentaires peuvent être associées aux noms de domaines comme des enregistrements dans le contexte de la lutte contre le spam (SPF), RRSIG pour la sécurité des informations du DNS (DNSSEC) ou NAPTR pour associer des numéros de téléphone à des adresses e-mail (ENUM).

Un système hiérarchique

Le système des noms de domaines consiste en une hiérarchie dont le sommet est appelé la racine. On représente cette dernière par un point. Dans un domaine, on peut créer un ou plusieurs sous-domaines ainsi qu'une délégation pour ceux-ci, c'est-à-dire une indication que les informations relatives à ce sous-domaine sont enregistrées sur un autre serveur. Ces sous-domaines peuvent à leur tour déléguer des sous-domaines vers d'autres serveurs.

Hierarchie des DNS

Les domaines se trouvant immédiatement sous la racine sont appelés domaine de premier niveau (TLD : Top Level Domain). Les noms de domaines ne correspondant pas à une extension de pays sont appelés des domaines génériques (gTLD), par exemple .org ou .com. S'ils correspondent à des codes de pays (fr, be, ch…), on les appelle ccTLD (country code TLD).

Serveurs racines

Il y a apparemment 13 serveurs racine du DNS dont les noms sont de la forme lettre.root-servers.net (la liste est disponible sur root-servers.org) où lettre est une lettre comprise entre A et M. Douze organisations contrôlent ces serveurs, deux sont européennes (RIPE NCC et Autonomica), une japonaise (WIDE), les autres étant américaines. Neuf de ces serveurs ne sont pas de simples machines mais correspondent à plusieurs installations réparties dans des lieux géographiques divers, il y a ainsi plus de 130 sites dans 53 pays qui hébergent un serveur racine du DNS.

Les serveurs racine jouent un rôle important dans le système DNS. Si l'un ou quelques-uns d'entre eux ne répondent plus, la charge est répartie entre les serveurs qui subsistent. Si aucun d'entre eux ne pouvait répondre aux requêtes, les noms de domaines deviendraient progressivement inaccessibles, au fur et à mesure que les informations dans les caches parviendraient à expiration, c'est-à-dire environ 2 % par heure d'indisponibilité totale.

En savoir plus sur Wikipédia : DNS et serveurs racines du DNS

SSH : Secure Shell

SSH est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés. Il devient donc impossible d'utiliser un sniffer (WhireShark par exemple) pour voir ce que fait l'utilisateur.

Le protocole SSH a été conçu avec l'objectif de remplacer les différents protocoles non chiffrés comme rlogin, telnet, rcp, ftp et rsh.

Par défaut, le protocole SSH utilise le port TCP 22. Il est particulièrement utilisé pour ouvrir un shell sur un ordinateur distant. Peu utilisé sur les stations Windows (quoiqu'on puisse l'utiliser avec PuTTY, mRemote, cygwin ou encore OpenSSH), SSH fait référence pour l'accès distant sur les stations Linux et Unix.

SSH peut également être utilisé pour transférer des ports TCP d'une machine vers une autre, créant ainsi un tunnel. Cette méthode est couramment utilisée afin de sécuriser une connexion qui ne l'est pas (par exemple le protocole de récupérations de courrier électronique POP3) en la faisant transférer par le biais du tunnel chiffré SSH.

Il est également possible de faire plusieurs sauts entre consoles SSH, c'est-à-dire ouvrir une console sur un serveur, puis, de là, en ouvrir une autre sur un autre serveur.

SSH avec authentification par clés

Avec SSH, l'authentification peut se faire sans l'utilisation de mot de passe ou de phrase secrète en utilisant la cryptographie asymétrique. La clé publique est distribuée sur les systèmes auxquels on souhaite se connecter. La clé privée, qu'on prendra le soin de protéger par un mot de passe, reste uniquement sur le poste à partir duquel on se connecte. L'utilisation d'un « agent ssh » permet de stocker le mot de passe de la clé privée pendant la durée de la session utilisateur.

Cette configuration profite aussi à SCP (copie sécurisée) et à SFTP (transfert de fichiers sécurisé) qui se connectent au même serveur SSH.

Voici le gestionnaire de ces clés sur Ubuntu dans l'implémentation libre de SSH OpenSSH :

Gestion des clés sous Gnu/Linux

Le courriel

3 grands protocoles sont utilisés :

SMTP

Simple Mail Transfer Protocol (SMTP, littéralement « protocole simple de transfert de courrier ») est un protocole de communication utilisé pour transférer (donc envoyer) le courrier électronique (courriel) vers les serveurs de messagerie électronique.

SMTP est un protocole assez simple (comme son nom l'indique). On commence par spécifier l'expéditeur du message, puis le ou les destinataires d'un message, puis, en général après avoir vérifié leur existence, le corps du message est transféré.

Les ports utilisés sont au nombre de 4 :

Si on testait les ports, et notamment le 25, avec la commande telnet, nous obtiendrons un dialogue de ce type (les messages du serveur sont en gras) :

telnet smtp.xxxx.xxxx 25
Connected to smtp.xxxx.xxxx.
220 smtp.xxxx.xxxx SMTP Ready
HELO client
250-smtp.xxxx.xxxx
250-PIPELINING
250 8BITMIME

MAIL FROM:
250 Sender ok
RCPT TO:
250 Recipient ok.
DATA
354 Enter mail, end with "." on a line by itself
Subject: Test

Corps du texte
.
250 Ok
QUIT
221 Closing connection
Connection closed by foreign host.

POP3 et IMAP4

Ces 2 protocoles permettent de récupérer vos courriels. Ils fonctionnent toutefois différement.

IMAP veut dire Internet Message Access Protocol, il s'agit d'un protocole qui permet d'accéder à ses courriers électroniques directement sur les serveurs de messagerie. Son fonctionnement est donc à l'opposé de POP qui, lui, récupère les messages localement (depuis le poste de travail) via un logiciel spécialisé.

L'évolution des différentes versions d'IMAP (IMAP 4) en fait aujourd'hui un protocole permettant également de récupérer les messages localement.

En dehors d'un paramétrage spécifique, POP (Post Office Protocol, littéralement « protocole de bureau de poste »), se connecte au serveur de messagerie, s'authentifie, récupère le courrier, « peut » effacer le courrier sur le serveur, et se déconnecte.

Ports utilisés
POP3 IMAP4
110 143
995 (ssl) 993 (ssl)

DHCP : Dynamic Host Configuration Protocol

DHCP, ou protocole de configuration dynamique des hôtes en français, est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station ou d'une machine, notamment en lui affectant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut, des serveurs de noms DNS et des serveurs de noms NBNS (connus sous le nom de serveurs WINS sur les réseaux de la société Microsoft).

Si un serveur DHCP n'est pas présent sur le réseau, alors, il faudra configurer manuellement l'adresse IP sinon la machine ne pourra être reconnue sur le réseau ou elle 'attrapera' une adresse APIPA (169.254.X.X), cas des machines Windows.

Autre protocole de la couche 3 : Réseau

Le protocole ARP

Définition

Le protocole ARP ou Address Résolution Protocol (protocole de résolution d'adresse) se situe l se situe à l’interface entre la couche réseau (couche 3 du modèle OSI) et la couche de liaison (couche 2 du modèle OSI). Son rôle est prépondérant parmi les protocoles de la couche internet TCP/IP car il assurre la liaison entre l'adresse physique d'une carte réseau (MAC) et l'adresse IP correspondante.

L'ARP permet donc de retrouver une adresse MAC à partir d'une adresse IP grâce à la table.

Ainsi, le protocole ARP établit une table de correspondance entre les adresses IP et les adresses MAC qu'il stocke dans une mémoire cache.

Fonctionnement simplifié

Lorsqu’un terminal doit créer une trame Ethernet dont l’adresse MAC destination est inconnue, il va – au préalable – diffuser une requête ARP afin d’interroger tous les systèmes présents sur le réseau. La diffusion Ethernet se fait à l’aide de l’adresse MAC de diffusion ffff.ffff.ffff. Pour simplifier, la requête ARP pose une question: « Qui a l’adresse IP A.B.C.D? »

Ainsi, le client qui a l'adresse A.B.C.D répond avec son adresse MAC et la correspondance est ajoutée à la table ARP.

Dans un terminal, on peut utiliser la commande arp -a pour afficher toutes les entrées dans le cache ARP.

Exemple :

$ arp -a
? (192.168.100.254) à f4:ca:e5:55:77:94 [ether] sur enp3s0
? (192.168.100.200) à 00:1e:06:20:17:9f [ether] sur enp3s0
? (192.168.100.100) à 00:11:32:76:86:4a [ether] sur enp3s0