Retourner au contenu. Retourner à la navigation

 

La messagerie

by admin @ 11/10/2005
Article sur la messagerie

Généralités

Ce dossier a pour but de décrire le fonctionnement d'une messagerie electronique, ainsi que l'utilisation de chacun de ses composants.

Fonctionnement général

Lors de l'envoi d'un mail, d'un expéditeur à un destinataire, le mail passe par de nombreux services ayant chacun un but précis. Ces services peuvent être divisés en trois categories.

  • MUA (Mail User Agent) : Cet outil permet à l'utilisateur d'écrire ses mails et de les envoyer, et de recevoir ses mails pour les lire.

  • MTA (Mail Transfert Agent) : le MTA s'occupe uniquement de l'acheminement des mails de l'expéditeur au serveur du destinataire.

  • MDA (Mail Delivery Agent) : le MDA s'occupe de la distribution du courier dans les boîtes des utilisateurs. C'est ici que l'utilisateur pourra appliquer ses filtres (anti-virus, anti-spam...).

Le cheminement d'un mail est plutôt simple : L'expéditeur écrit un mail grâce à son MUA, et l'envoie à son serveur de courier sortant (MTA). Ce MTA transfert le courier au serveur mail du destinataire, en faisant éventuellement transiter ce courier par d'autres MTA. Une fois le courrier arrivé sur le MTA du destinataire, le MDA s'occupe de distribuer le courier dans la boîte mail de la bonne personne. Le destinataire n'a plus qu'à se connecter à son serveur mail pour regarder si il a des nouveaux couriers dans sa boîte et les récupérer pour les lire.

Les différents protocoles

La messagerie electronique s'appuie sur 3 protocoles principaux, chacun ayant une variante sécurisée.

SMTP (Simple Mail Transport Protocol)

Le SMTP est le protocole permettant tout le transport du mail entre l'expéditeur et le serveur mail du destinataire.

Il utilise le port 25 (465 pour le SMTP securisé).

Résumé d'une transaction SMTP :

user@localhost$ telnet mail.francoz.net 25
Trying 81.56.234.40...
Connected to mail.francoz.net.
Escape character is '^]'.
220 mail.francoz.net ESMTP Sendmail 8.12.11/8.12.11; Mon, 13 Sep 2004 13:13:34 +0200
mail from: cocoz@supinfo.com
250 2.1.0 cocoz@supinfo.com... Sender ok
rcpt to: julien@francoz.net
250 2.1.5 julien@francoz.net... Recipient ok
data
354 Enter mail, end with "." on a line by itself
le contenu du mail
on fini par une ligne vide contenant
un . pour finir le mail
.
250 2.0.0 i8DBDY4X022239 Message accepted for delivery
quit
221 2.0.0 mail.francoz.net closing connection
Connection closed by foreign host.

POP (Post Office Protocol)

Le protocol POP permet de récupérer les mails qui se trouve dans la boîte. Ce protocol est très vieux, il est de moins en moins utilisé.

POP permet d'utiliser un seul dossier dans la boîte.

Ce protocole utilise le port 110 (995 pour le POP sécurisé).

Voici les quelques commandes de base qui vous permettront de facilement tester un serveur POP.

  • user : permet de spécifier le nom d'utilsateur.

  • pass : permet de spécifier le mot de passe.

  • list : permet de lister les messages stockés sur le serveur. le premier chiffre de chaque ligne est le numero du message, le deuxième chiffre est sa taille en octets.

  • top n m: affiche les n premières lignes du mail m.

  • retr n : recupère l'intégralité du message n.

  • quit : se déconnecte du serveur. Supprime les messages qui auront été lu avec la commande retr.

IMAP (Internet Mail Access Protocol)

IMAP permet comme le protocole POP de récupérer le contenu de sa boîte mail, mais offre de nombreuses fonctionnalités suplémentaire :

  • Les mails peuvent être classés dans différents dossiers créés sur le serveur.

  • Tous les mails sont conservés sur le serveur, ils sont donc tous accessible depuis différents endroits avec différents clients mails.

  • La connexion entre le client et le serveur mail est persistante, ce qui permet au client de savoir instantanément si de nouveaux messages sont arrivés sur le serveur.

Le protocole IMAP utilise le port 143 (993 pour l'IMAP sécurisé).

Rappel sur le DNS

Une bonne configuration du DNS est indispensable au fonctionnement d'un serveur mail.

Les champs MX (Mail eXchanger) doivent être renseignés car ils pemettent la correspondance entre un nom de domaine et le serveur mail qui reçoit les messages des utilisateurs de ce domaine.

Le champ MX prend un entier en argument. Cet entier défini la priorié du serveur mail. Plus la valeur est petite, plus la priorité est élevée.

        IN      MX      10      mail
IN MX 20 mx2

Ici, mail est le serveur principal, mx2 est le serveur secondaire.

Comme mail a une piorité plus élevée que mx2, tous les mails seront envoyés à mail.

Si jamais mail est inacessible, alors tous les couriers seront envoyés au serveur secondaire mx2. Ce serveur stockera alors les mails temporairement, et les enverra dès que possible au serveur primaire.

Les différents types de serveurs

Il exite principalement deux types de serveurs : les serveurs primaires et les serveurs secondaires.

En fonction du MTA il sera nécessaire, ou non, de configurer de façon spécifique chacun des serveurs.

En général la seule chose qu'il sera nécessaire de configurer sera d'indiquer au serveur secondaire qu'il ne doit pas délivrer les mails en local.

Des MTA comme Sendmail conserveront les mails dans le spool, et interogent le DNS régulièrment; si ils sont secondaires, ils essaieront d'envoyer les mails qu'ils ont dans le spool vers le serveur primaire.

Le serveur primaire quand à lui reçoit les mails et les délivre localement.

Aperçu des différents outils disponibles

Nous allons maintenant faire un tour d'horizon des principaux outils disponibles pour chaque rôle, afin d'en montrer les avantages et les inconvénients.

Les Mail Transfert Agent

Comme nous l'avons vu précédemment, les Mail Transfert Agent (MTA) s'occupent de l'acheminement du mail de l'expéditeur jusqu'au serveur mail du destinataire.

Les quatres MTA les plus utilisés sont Sendmail, Postfix, Qmail, Exim. Ils ont chacun leurs avantages et leurs inconvénients.

Afin de choisir votre MTA, ne vous limitez pas à ces quelques points souvent très subjectifs.

Ce comparatif peut aussi vous aider à choisir votre MTA.

Sendmail

Sendmailest utilisé par défaut sur Slackware et Fedora.

Avantages
  • De loin le plus puissant, il résiste particulièrement bien à la charge,

  • Le plus ancien, il a donc une très grande expérience du point de vue de la sécurité: pendant longtemps il a eu de nombreux problèmes de sécurité, qui sont maintenant corrigés.

Inconvénients
  • Très difficile à prendre en main.

  • L'architecture est très vieille et a peu évoluée, Sendmail est très monolitique, ce qui le rend particulièrement sensible en cas de faille de sécurité. Sendmail X devrait résoudre ce problème.

Postfix

Postfix est utilisé par default sur Mandrake et Mac Os X.

Free et Wanadoo utilisent Postfix

1.5.1.2.1 Avantages
  • Adapté à de gros besoins,

  • Beaucoup plus simple que Sendmail, facile à configurer

  • Relativement sécurisé (configuration de base très sécurisée).

  • Postfix gère le format MailDir de QMail.

1.5.1.2.2 Inconvénients
  • Pas aussi sécurisé que Q-Mail.

1.5.1.3 Qmail

Qmail

Yahoo utilise QMail

1.5.1.3.1 Avantages
  • Simple à configurer,

  • Très sécurisé (un peu trop ?).

1.5.1.3.2 Inconvénients
  • N'est pas conçu pour de gros besoins (tiens moins bien la charge qu'un Sendmail ou Postfix).

  • Licence non libre. L'auteur de QMail exige de vérifier lui même tous les patchs (pour la cohérence de la sécurité),

  • Nécessite de le patcher.

1.5.1.4 Exim

Exim est utilisé par défaut sur Debian.

1.5.1.4.1 Avantages
  • Très simple et flexible.

1.5.1.4.2 Inconvénients
  • Non adapté à des gros besoins.

1.5.2 Les Mail Delivery Agent

Les Mail Delivery Agent (MDA) s'occupent de la distribution des mails dans les boîtes des utilisateurs.

Chaque MDA à des avantages et des inconvénients, notamment à propos du format de stockage des couriers.

C'est le MDA qui permet à l'utilisateur final de mettre en place des filtres sur ses mails (anti-virus, anti-spam, tri dans des dossiers, redirection vers d'autres comptes ...)

certains MTA, comme Sendmail, intègrent leur propre MDA. Il peut parfois être utile de ne pas laisser celui par défaut.

Une des différences entres ces différents MDA est le format de stockage des mails.

Il en existe deux types :

  • mailbox : Ce format est celui de sendmail. Il stock tous les mails dans le même fichier. Les performances de ce système peuvent devenir désastreuses quand les boîtes mails deviennent grosse (quelques centaines de Mo).

  • maildir : Ce format est apparu avec qmail. Avec maildir, chaque mail est stocké dans un fichier, eux même répartis dans trois répertoires (lu, non lu, tmp), avec des fichiers d'index. Ce format est beaucoup plus performant que mailbox.

Voici les avantages et inconvénients de ces différents MDA :

1.5.2.1 Sendmail

Sendmail intègre son propre MDA qui stock les mails au format mailbox, c'est pourquoi nous n'utiliserons pas ce MDA.

Sendmail offre la possiblité d'ajouter des filtres grâce au fichier .forward, nous l'utiliserons donc pour apeller un autre MDA.

1.5.2.2 Procmail

Procmail est un MDA simple et efficace. Il est capable de stocker les mails au format mailbox et maildir, et permet de trier/filtrer les mails de façon simple.

1.5.2.3 Maildrop

Maildrop est un MDA qui comme Procmail est simple et efficace, mais permet de mieux filtrer/trier les messages, en utilisant moins de ressources.

1.5.3 Les filtres anti-spam

1.5.3.1 Spam Assassin

Spam Assassin est l'un des filtres anti-spam les plus puissants. Il utilise notamment des filtres Bayesiens pour apprendre à reconnaître ce que vous considérez comme des spams, ou non.

Son gros inconvénient est qu'il est très gourmand en ressources.

1.5.3.2 Active Spam Killer

Active Spam Killer (A.S.K.) est un filtre anti-spam très simple, mais particulièrement efficace. Son principe consiste à demander une confirmation à toute les personnes qui vous contactent pour la première fois. Comme les spameurs utilisent la plus part du temps de fausses adresses, la demande de confirmation n'arrivera jamais, le mail ne sera donc pas délivré dans la boîte de l'utilisateur.

1.5.3.3 Bogofilter

Bogofilter est un filtre anti-spam Bayésien très efficace.

1.5.3.4 Dspam

Dspam est un filtre anti-spam qui combine les filtres disponibles dans d'autres systèmes anti-spam, ce qui lui permet d'obtenir de très bon résultats.

1.5.4 Les anti-virus

De nombreux anti-virus sont disponibles pour filtrer l'ensemble des mails transitant par un serveur mail.

1.5.4.1 Clam AV

Clam AntiVirus est un anti-virus rapide et efficace, permettant de scanner l'ensemble des boîtes mail au format maildir et mailbox. Il peut aussi scanner les courier entrant et sortant, et peut scanner le contenu des archives.

1.5.4.2 Solutions propriétaires

Il existe de nombreuses autres solutions anti-virus, mais elles sont propriétaires, elles ne seront donc pas détaillées ici.

1.5.5 Les systèmes de gestion de mailing listes

Les systèmes de gestion de mailing listes permettent de faciliter le travail en équipe en permettant de créer des petits groupes de personnes, et en facilitant leurs communication. Ils permettent aussi de conserver les archives des discussions.

Les systèmes de gestion de mailing listes dont nous parlerons fonctionnent tous grâce à une interface web.

1.5.5.1 Mailman

Mailman est le système de gestion de mailing listes le plus utilisé. Il est très efficace et très intuitif. Seul seul inconvénient est qu'il est écrit en Python, language très gourmand en ressources.

1.5.5.2 Sympa

Sympa est un système de gestion de mailing listes très évolué, et par conséquent plus compliqué.

1.5.6 Les Webmails

1.5.6.1 Squirrelmail

Squirrelmail est un webmail simple nécessitant un serveur IMAP et SMTP, ainsi qu'un serveur web. Squirrelmail n'utilise que du HTML (pas de javascript) pour permettre au maximum de navigateurs d'y accéder. Squirrelmail est sous licence GPL.

1.5.6.2 IMP

IMP est un webmail simple et efficace ne nécessitant qu'un compte IMAP et un serveur web. IMP utilise du javascript. IMP est sous licence GPL.

1 2 3 4 5 6 7 8 9
Par admin Dernière modification 22/03/2007 15:40
Navigation
Actualités
18/12/2008 Sortie d'OpenSuse 11.1
03/12/2008 Songbird 1.0
20/10/2008 Société Générale se met au vert
15/09/2008 Sortie de la version VLC 0.9.2
23/06/2008 Opération du libre à Nantes !
Plus d'actualités...
Articles
22/05/2008 Première approche de Qmail
19/05/2008 Test de la distribution Elive 1.0 Gem
14/05/2008 GNUPG introduction à la cryptographie et utilisation de GnuPG
21/02/2008 GNU / Screen
03/09/2007 The Linux File System Encryption API
More articles
Tips
28/04/2008 Mozilla Firefox : Google Talk et Facebook Chat
22/04/2008 Sed : Rechercher du texte entre deux chaines de caractères
04/04/2008 Gérer son(ses) écran(s) avec xrandr
26/03/2008 Tips sur l'historique de vos commandes
13/02/2008 Linux-Unix Cheat Sheets
More tips
Codes
09/04/2008 Chapitre 13 - Administration DNS et DHCP
09/04/2008 Chapitre 06 - Service web avec Apache
04/04/2008 Chapitre 09 - PureFTPd
04/04/2008 Chapitre 06 - Scripting Bash
01/04/2008 Chapitre 20 - Haute Disponibilité
More codes
Courses
13/09/2006 Module 3
23/02/2006 Module 2
23/02/2006 Module 1
More courses
Formation Linux

Supinfo Training Center has the first Linux Certification. The training is 13 days and allow you to pass the LPI 101 and 102.

more info
 
 
Vous êtes ici :
Articles La messagerie Généralités