<

reseaux informatiques

administration reseau

La Messagerie

La messagerie est certainement l’un des services réseau les plus utilisés. Il existe de nombreux systèmes de messagerie propriétaires mais aujourd’hui la majorité des messageries utilise le protocole SMTP (Simple Mail Transfer Protocol). Quelques messageries d’entreprise utilisent également le protocole X.400 mais uniquement en interne, la communication vers l’extérieur se faisant par l’intermédiaire d’une passerelle SMTP.
SMTP est décrit dans le RFC 5321. Le format des courriers électroniques est décrit dans le RFC 5322.  SMTP utilise le port TCP 25.

  1. SMTP

Le fonctionnement de SMTP est en fait très simple. Étudions une session type :

L’option -v de la commande mail permet d’afficher le dialogue entre la machine expéditrice et le serveur de messagerie (attention, il s’agit du serveur de messagerie du site expéditeur, qui se chargera ensuite d’envoyer le message au serveur de messagerie du site destinataire). Les lignes préfixées par >>> sont envoyées du client au serveur de messagerie, celles qui commencent par un nombre sont envoyées du serveur au client, les quelques autres sont purement informatives.
À l’établissement de la connexion, le serveur est le premier à parler, affichant quelques informations sur le logiciel qu’il utilise :

Le client se présente ensuite en indiquant son nom qualifié:

et le serveur lui rend la politesse en indiquant la liste des options qu’il connaît :

L’envoi du message proprement dit peut commencer, le client indique l’adresse électronique de l’expéditeur et la taille du message :

Le message, tel que généré par mail, est le suivant, vous pouvez recompter, il contient bien 47 caractères :

Le client indique ensuite l’adresse électronique du destinataire :

et envoie le message :

Le message en question est celui indiqué plus haut, avec ses en-têtes et son corps. Le serveur de messagerie rajoutera d’ailleurs d’autres en-têtes pour aboutir au message qui partira effectivement. Les adresses électroniques indiquées par le client dans son dialogue avec le serveur (par les commandes MAIL From et RCPT To) constituent ce qu’on appelle les adresses d’enveloppe du message. Elles correspondent généralement aux adresses indiquées en From, To et Cc de l’en-tête du message, sauf dans le cas d’adresses en Bcc, aux quels cas celles-ci n’apparaissent nulle part dans l’en-tête mais figurent bel et bien dans l’enveloppe.

2. Relation avec le DNS

Comment déterminer quel est le serveur de messagerie du site destinataire ? Le RFC 2219 indique bien qu’il est censé s’appeler mail.domaine mais c’est loin d’être le cas sur tous les sites. De plus, comment faire s’il y a plusieurs serveurs ? Le DNS dispose donc d’un RR de type MX, qui indique quel est le serveur de messagerie associé à une zone :

Le serveur de messagerie pour la zone ensta.fr est donc la machine ensta.ensta.fr.

Le nom de cette machine est précédé d’un entier naturel indiquant la priorité relative du serveur. Cet entier est appelé le poids du serveur. En effet, une zone peut disposer de plusieurs serveurs de messagerie et il faut pouvoir connaître la priorité de chaque serveur. Plus le poids est petit, plus le serveur est prioritaire. Ainsi, si le serveur de poids le plus faible ne répond pas, le courrier sera envoyé au deuxième, sinon au troisième et ainsi de suite. La valeur des poids n’a pas d’importance, seule en a leur position relative dans l’ordre croissant.

Dans l’exemple précédent, le courrier sera tout d’abord envoyé au serveur mail.pasteur.fr. Si celui-ci ne répond pas, il sera alors envoyé au serveur mail0.pasteur.fr.

 

      3.Serveurs de messagerie

Il existe de nombreux serveurs de messagerie. Sous UNIX, les plus répandus sont :

  • sendmail 1
  • Postfix 2

Et, dans une moindre mesure :

  • qmail 3
  • exim 4

Sendmail, le logiciel de messagerie historique (sa première version remonte au début des années 1980), est encore utilisé sur de très nombreux serveurs de messagerie. Cependant, un système de configuration complexe (même s’il est maintenant masqué par des outils plus simples), une structure monolithique et une longue histoire de problèmes de sécurité (dont le dernier remonte pourtant à 1997) lui font aujourd’hui préférer d’autres logiciels, notamment Postfix.

   3.1 sendmail

La messagerie électronique doit beaucoup à sendmail, qui équipait il y a quelques années la quasi-totalité des serveurs de l’Internet. Les administrateurs de messagerie doivent également beaucoup à sendmail, qui leur a procuré des nuits blanches en grand nombre. En effet, sendmail est réputé pour les nombreux problèmes de sécurité dont il a été affecté. Programme monolithique complexe fonctionnant sous l’identité du super-utilisateur, sendmail a d’ailleurs été l’un des vecteurs de propagation du ver de l’Internet en 1988. Il ne faut cependant pas être mauvaise langue car sendmail n’a pas eu de problème de sécurité connu depuis 1997. En revanche, il a conservé sa structure monolithique complexe et fonctionne toujours sous l’identité du super-utilisateur, ce qui en fait un danger potentiel.

De nombreux UNIX fournissent sendmail en standard mais il s’agit rarement de la dernière version. Bien que les soucis de sécurité semblent maintenant appartenir au passé, il est cependant prudent d’utiliser la version de sendmail la plus récente. Il s’agit actuellement de la version 8.14.3, sortie le 3 mai 2008.

sendmail est disponible à l’adresse : ftp.sendmail.org/pub/sendmail/

La compilation s’effectue dans le répertoire sendmail de la distribution source au moyen de la commande :

Pour plus d’information sur sendmail rendez-vous sur la page :

 https://www.proofpoint.com/us/open-source-email-solution

par David Matjaba