Retourner au contenu. Retourner à la navigation

 

Première approche de Qmail

by hideo @ 22/05/2008

Généralités

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 catégories.

MUA (Mail User Agent) :

Autrement dit le client de messagerie, cet outil permet à l'utilisateur d'écrire ses mails et de les envoyer, et de recevoir ses mails pour les lire.

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.


MTA (Mail Transfert Agent) :


Le MTA s'occupe uniquement de la redistribution des mails de l'expéditeur provenant d’un MUA ou d’un autre MTA, jusqu’au serveur du destinataire.
Nous reviendrons plus en détail sur les différents MTA existants.

MDA (Mail Delivery Agent) :


Le MDA s'occupe de la distribution du courrier dans les boîtes des utilisateurs. C'est ici que l'utilisateur pourra appliquer ses filtres (anti-virus, anti-spam...).
Il s’occupe également des problèmes comme disque plein ou bien corruption de la boîte aux lettres et signale au MTA toute erreur dans la délivrance.

Chaque MDA à des avantages et des inconvénients, notamment à propos du format de stockage des courriers.
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.

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


Les différents protocoles


La messagerie électronique fonctionne à partir de 3 protocoles principaux dont chacun ayant une variante sécurisée.

SMTP (Simple Mail Transport Protocol)


Le SMTP est le protocole de communication utilisé pour le transport du mail entre l'expéditeur et le serveur mail du destinataire. Il utilise le port 25 (465 pour le SMTP securisé).

POP3 (Post Office Protocol version 3)


Le protocole POP permet de récupérer les mails situés sur un serveur de messagerie. Ce protocole très vieux et de moins en moins utilisé nécessite une connexion à un réseau TCP/IP.

Ce protocole utilise le port 110 (995 pour le POPS ou POP3 over SSL).


Quelques commandes de base vous permettant de tester un serveur POP.
•    user : permet de spécifier le nom d'utilisateur.
•    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 numéro 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 : récupè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 tout comme le protocole POP3 de récupérer le contenu de sa boîte mail, mais offre de nombreuses fonctionnalités supplémentaires :


•    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'IMAPS Imap over SSL).

Rappel sur le DNS


Il est essentiel de bien configurer son DNS pour veiller au bon fonctionnement d'un serveur mail.
Les champs MX (Mail eXchanger) doivent être renseignés car ils permettent 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 priorité 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 priorité plus élevée que mx2, tous les mails seront envoyés à mail.
Si jamais mail est inaccessible, alors tous les courriers 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 MTA


Il existe 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 interrogent le DNS régulièrement; s’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.

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 quatre MTA les plus populaires et utilisés sont Sendmail, Postfix, Qmail, Exim. Ils ont chacun leurs avantages et leurs inconvénients.
Voici un comparatif de ces différents MTA.

SendMail :


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:

Sendmail est très critiqué pour sa lenteur, sa complexité et sa maintenance difficile en comparaison avec d'autres MTA tels que Qmail et Postfix.
L'architecture est très vieille et a peu évoluée, Sendmail est très monolithique, ce qui le rend particulièrement sensible en cas de faille de sécurité.

Postfix


Il s’agit d’un serveur de courriel par défaut dans plusieurs systèmes de type UNIX (Free et Orange).
La licence de Postfix est IBM Public License 1.0. C'est une licence libre, mais incompatible avec la GPL.

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.

Inconvénients:

Pas aussi sécurisé que Q-Mail.

Exim


Avantages:

Très simple à configurer, hautement configurable.

Inconvénients:

Exim suit le modèle selon lequel a été conçu sendmail, où un programme unique contrôle toutes les fonctionnalités du MTA. Ce design monolithique est généralement considéré comme structurellement non sécurisé à cause du manque de séparation des composants individuels du système.
Non adapté à des gros besoins.

Qmail


Avantages:

Comparé à sendmail ou postfix, qmail possède également une architecture modulaire et est très sécurisé.

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é).
Assez fastidieux à installer puisqu’il nécessite l’utilisation de patches presque obligatoire pour obtenir un serveur fonctionnel sans bogues.

Heureusement est né netqmail, une variante de qmail qui contient les patches nécessaires à un bon fonctionnement et qui s'appliquent très simplement.

Récapitulatif des MTA



1 2
Par HiDeo Dernière modification 22/05/2008 14:39
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 Première approche de Qmail Généralités