16
Monter son serveur de mails sous Linux Magnus Bäck Patrick Ben Koetter Ralf Hilderbrandt Alistair McDonald David Rusenko Carl Taylor Traduit et adapté par Patrick Tonnerre Postfix • Pop/IMAP • Webmail Antispam/antivirus Sauvegardes © Groupe Eyrolles, 2006, ISBN : 2-212-11931-3.

serveur de Linux - Librairie Eyrolles · Monter son serveur de mails sous Linux Magnus Bäck Patrick Ben Koetter Ralf Hilderbrandt Alistair McDonald David Rusenko Carl Taylor Traduit

  • Upload
    vannhan

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Monter son

serveur de mailssous Linux

M a g n u s B ä c kP a t r i c k B e n K o e t t e r

R a l f H i l d e r b r a n d tA l i s t a i r M c D o n a l d

D a v i d R u s e n k oC a r l Ta y l o r

Traduit et adapté par Patrick Tonnerre

Postfix • Pop/IMAP • WebmailAntispam/antivirus • Sauvegardes

accesLibre_Titre_Back 24/05/06 8:37 Page 2

© Groupe Eyrolles, 2006,

ISBN : 2-212-11931-3.

© Groupe Eyrolles, 2005

chapitre 1

Vous avez un message...

POP

IMAP DNS

SMTP

© Groupe Eyrolles, 2005

Notions de base sur Linux et le courrier électronique

Si vous êtes l’un des très nombreux administrateurs système à gèrer le réseau d’une petite ou moyenne entreprise qui souhaite héberger son propre serveur de courrier électronique, alors ce livre est fait pour vous !

SOMMAIRE

B Héberger son serveur de messagerie électronique

B Besoins matériels

B Protocoles réseau de communication

B Résolution de noms (DNS)

B Solution de secours

MOTS-CLÉS

B SMTPB POPB IMAPB DNSB Backup

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 20053

Nous commencerons par aborder les composants les plus classiques d’unsystème de gestion du courrier électronique. Ensemble, ils permettentaux utilisateurs d’échanger des messages, aussi bien dans l’entreprisequ’avec des correspondants situés à l’extérieur, sur Internet.

Cela pourrait suffire, mais de nombreuses entreprises veulent aussimettre à disposition de leurs utilisateurs un service de consultation decourriels accessible par une interface web (webmail). Ainsi, ils consulte-ront leur courrier depuis leur domicile ou lors d’un déplacement.

Autres fonctionnalités dont nous ne pouvons hélas plus nous passer, laprotection contre la propagation des virus par courriel devra être assurée,ainsi que le filtrage des courriers non sollicités, plus connus sous la déno-mination de spams et, depuis peu, de pourriels.

Ce livre ne traite pas de tous les aspects du logiciel mais vous donne desolides bases pour assurer le service, qui vous permettront d’approfondirles options de configuration avancées.

Comme plate-forme technique de notre projet, nous avons choisi le sys-tème d’exploitation GNU/Linux et une sélection de logiciels libreséprouvés qui nous aideront à mettre en œuvre un serveur de courrierélectronique fiable à destination des petites entreprises. Les outils sélec-tionnés sont connus, reconnus et éprouvés. Ils sont le fruit de profession-nels du logiciel et sont maintenus et recommandés par une grandecommunauté d’utilisateurs.

Dans ce tout premier chapitre, nous vous fournissons les informationsnécessaires avant de commencer à œuvrer sur le serveur lui-même. Yseront abordées les questions du choix du matériel (le hardware) et dutype de connexion dont vous aurez besoin. Par ailleurs, nous présenteronsbrièvement le courrier électronique sur Internet et son fonctionnement.

Pourquoi gérer son propre serveur de courrier électronique ?La première question qui vient à l’esprit est : pourquoi disposer de etadministrer son propre serveur de courrier électronique ? N’est-ce-pas àcause des fournisseurs d’accès à Internet ? Après tout, puisque vous êtesen train de lire ce livre, vous devez avoir vos raisons ; malgré cela, réflé-chissons à ces interrogations et tentons d’y apporter des réponses.

La raison la plus importante pour héberger et administrer son propreserveur de courrier électronique est le contrôle. En effet, pour de nom-breuses organisations, le courrier électronique est une partie importante

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 4

du système d’information. Avoir le contrôle sur vos courriels présente denombreux avantages :• Choix de l’interconnexion de sites distants

Si votre entreprise est établie sur plusieurs sites, vous êtes libre dechoisir la façon de les interconnecter : utiliser des réseaux privés vir-tuels (VPN, Virtual Private Network) entres les sites, des connexionsTLS (Transport Layer Security) sécurisées, un serveur unique pourtous les sites ou un serveur par site, etc.

• Plus de transit par votre fournisseur d’accèsEn hébergeant votre messagerie, les messages que vous échangezentre vous n’ont pas besoin de transiter par votre fournisseur d’accèsInternet. Le service est donc assuré en cas de défaillance de votreconnexion Internet et sans temps de latence inutiles.

• Personnel compétentVous ne dépendez pas des compétences du personnel de votre four-nisseur d’accès. Administrer votre serveur vous octroie la libertéd’engager un consultant pour résoudre un problème complexe ouimplémenter une fonctionnalité particulière.

• Sécurité des donnéesSi votre fournisseur d’accès fait faillite, toutes vos données sont auchaud en sécurité dans votre salle des machines et sur vos sauve-gardes.

• Pas de limites ou de quotas imposésVous n’êtes pas assujetti aux limitations de taille des messages et desquotas d’occupation disque que votre fournisseur pourrait vousimposer.

• Filtrage sur mesure des courriersVous êtes libre de choisir les stratégies à utiliser pour lutter contre lesvirus et les courriers non sollicités.

Plus de contrôle signifie plus d’implication et de connaissances. C’est laraison d’être de ce livre.

À l’opposé de ces arguments très positifs et encourageants, il faut avoirconscience qu’il y aussi des inconvénients à héberger son propre serveurde messagerie. En effet, cela implique un certain niveau de compétenceset d’engagement qui ne doit pas être sous-estimé. Vous êtes responsabledu service que vous fournissez non seulement face à vos utilisateurs, maisaussi face à la communauté Internet. Un serveur de courrier électroniquemal configuré peut contribuer à la propagation des vers informatiques etdu spam et, en plus de desservir la communauté, risque de vous faire ins-crire sur les listes noires, c’est-à-dire vous rendre blacklisté.

TECHNIQUE Serveurs de listes noires (blacklists)

Un serveur de courrier électronique mal confi-guré ou servant de relais à la diffusion de virusou de spams risque de se voir enregistré dansune blacklist, ou liste noire.Vous pouvez configurer votre serveur de courrierélectronique pour consulter de tels serveurs deblacklists, librement disponibles sur Internet. Enfonction de la réponse obtenue, vous pouvezdécider de rejeter tout message provenant dedomaines, machines ou utilisateurs enregistrésdans les listes noires. Il ne faut pas perdre devue que cette consultation risque d’être coû-teuse en ressources machines si votre serveurgère un fort trafic et consulte les serveurs deblacklists pour chaque message. Une latencenon négligeable est aussi à prévoir dans ce cas.Aujourd'hui, l’utilisation de ces serveurs donnelieu à de nombreuses discussions sur la validité,l’utilité et la fiabilité de ces services. De nom-breuses plaintes sont en cours pour des inscrip-tions invalides et injustifiées dans les listesnoires.

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 20055

Même si un serveur correctement configuré peut fonctionner des annéessans aucune intervention, vous devez vous tenir informé et être préparé àréagir si de telles menaces venaient à survenir. Toutefois, notre but n’estpas de vous effrayer mais de vous en faire prendre conscience deux foisplutôt qu’une.

Ce dont vous avez besoin pour héberger un serveur de messagerieVotre serveur doit être connecté à une liaison Internet permanente etdisposer d’une adresse IP fixe.

Le protocole SMTP (Simple Mail Transfer Protocol) fournit une optionpermettant de délivrer les messages qui vous sont destinés au serveur devotre fournisseur d’accès, et ensuite, de les récupérer à la demande survotre propre serveur. Cette récupération peut être automatisée et déclen-chée chaque fois que votre connexion est active.

Le protocole POP (Post Office Protocol), utilisé notamment par lesprogrammes clients de courrier électronique, permet aussi de récupérerles nouveaux messages sur votre serveur. Aucune de ces solutions n’estpourtant particulièrement satisfaisante dans l’optique où vous avezdécidé de gérer votre propre serveur de messagerie.

En théorie, il est possible d’utiliser un serveur de messagerie même sansdisposer d’une adresse IP fixe. Il suffit de s’appuyer sur une adresse IPdynamique. Cependant, le service ne sera pas fiable quand cette adressechangera et vous risquez de perdre des messages. De plus, avec uneadresse IP dynamique, vous encourez un bien plus grand risque : celui devous voir inscrit dans un des serveurs de blacklists pour les plagesd’adresses dynamiques.

Si votre motivation pour avoir votre serveur de courrier électronique estsérieuse, choisissez une connexion Internet conséquente et adaptée. Lesprix baissent de plus en plus de nos jours et investir dans une liaison debonne qualité vous épargnera bien des soucis. Le trafic pour le courrielne nécessitant pas une connexion à très forte bande passante, une simpleliaison DSL (Digital Subscriber Line) fera l’affaire.

Même si vous avez besoin d’une adresse IP fixe, celle-ci ne doit pasnécessairement être attribuée à votre serveur de messagerie. Si vous dis-posez seulement de quelques adresses IP publiques et si, pour votreréseau local, vous respectez les adresses privées de la RFC 1918(192.168.x.x) et utilisez un routeur faisant de la traduction d’adresses(NAT, Network Address Translation), vous pourrez configurer ce der-

TECHNIQUE Après les listes noires, les listes grises (greylists)

Une nouvelle technique de lutte contre le spama vu le jour, le filtrage milter-greylist. Le principeen est simple. Tout serveur SMTP recevant unmessage le refuse temporairement à la premièretentative. Si le message est légitime, le serveurSMTP expéditeur va essayer de le renvoyer aprèsun certain laps de temps et il sera finalementaccepté par le serveur SMTP receveur. Les spam-meurs en général ne tentent pas de renvoyerleurs messages après réception d’une erreurtemporaire et continuent ailleurs leurs nuisiblesactivités. Si malgré tout, le spammeur tente derenvoyer son message, on peut supposer qu’il vale faire immédiatement, ce qui l’identifiera clai-rement en tant que spammeur, dont le courriersera définitivement refusé.Pour en savoir plus :B http://hcpnet.free.fr/milter-greylist/

DANS LA VRAIE VIE Quels fournisseurs offrent une adresse IP fixe ?

Certains fournisseurs d’accès peuvent vous offrirgracieusement une adresse IP fixe. C’est le caspar exemple de Free ou de Nerim, qui le ferontsur simple demande de votre part.

CULTURE RFC ou Request For Comment

Une RFC, ou Request For Comment, est un docu-ment en général technique présentant et docu-mentant Internet. Émanant de la communautéde recherche et de développement du réseaudes réseaux, une RFC aborde des sujets géné-raux, les standards, les protocoles, les règles etbons usage, etc.Pour consulter les RFC, vous pourrez utiliseravec profit les liens suivants :B http://www.faqs.org/rfcs/rfc-index.htmlB http://www.rfc-editor.org/B http://abcdrfc.free.fr/

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 6

nier pour rediriger les ports requis par vos services de messagerie versvotre serveur de messagerie interne.

Le tableau suivant liste les principaux ports utilisés par votre service demessagerie :

Pour que vos employés puissent consulter leur messagerie depuis leurdomicile ou lors de déplacements, il suffit que votre pare-feu (firewall)accepte les connexions sur les ports requis et que votre éventuel routeurNAT les redirige correctement. S’ils veulent de plus envoyer des mes-sages en utilisant votre serveur, des options supplémentaires d’authenti-fication SMTP devront être mises en place.

Configuration matérielleMême si une certaine expertise est nécessaire pour évaluer correctementles besoins matériels d’une entreprise, le bon sens a fait long feu. Pourune entreprise de 100 utilisateurs, un nombre journalier maximum de5 000 messages semble être une valeur réaliste. Il représente une cin-quantaine de messages quotidiens reçus ou envoyés par utilisateur.Même si chaque message est envoyé pendant les 7 heures d’une journéede travail, le système ne gérera en moyenne pas plus de 10 messages parminute. Donc, un ordinateur récent a-t-il besoin de 6 secondes pourtraiter un message dont la taille ne dépasse souvent pas quelqueskilo-octets ? La réponse est bien évidemment, NON.

Cette estimation peut paraître un peu tirée par les cheveux parce qu’ellene prend pas en compte le fait que les messages arrivent de manière aléa-toire dans le temps, mais elle constitue malgré tout une bonne manièred’évaluer les besoins.

Continuons maintenant plus précisément l’étude des spécifications tech-niques de notre serveur. Pour un serveur SMTP n’effectuant pas d’ana-lyse de contenu (virus, spam, etc.), les performances ne sont pas liées au

Tableau 1–1 Ports du service de messagerie

Numéro de port Protocole Commentaires

25 SMTP Simple Mail Transfer Protocol, utilisé pour le transfert du courrier.

110 POP Post Office Protocol, utilisé pour la synchronisation des messages entre client et serveur.

143 IMAP Internet Message Access Protocol, successeur à terme du protocole POP, qui permet aussi de gérer ses messages directement sur le serveur.

993 IMAP over TLS IMAP sécurisé utilisant le protocole TLS (Transport Layer Security) de sécurisation de la couche transport (couche 4). On utilise aussi la dénomination IMAP over SSL (Secure Socket Layer), la version 3 de SSL correspondant à la version 1 de TLS.

À RETENIR Ne pas surestimer ses besoins de messagerie

De nombreux préjugés entourent la définition etles caractéristiques matérielles nécessaires pourun serveur de courrier électronique. L’augmenta-tion constante des performances des ordina-teurs crée le besoin et amène les utilisateurs àpenser qu’il leur faut la machine dernier cri,même s’ils ont seulement à gérer quelques cen-taines de messages par jour.

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 20057

processeur mais plus aux entrées-sorties, notamment aux temps d’accèsdisques, au type et à la configuration du contrôleur d’entrée-sortie. Aug-menter la puissance du processeur ne résoudra pas tous les problèmes.Les ordinateurs récents étant mieux équipés au niveau du processeurqu’à celui des entrées-sorties, investir dans le dernier modèle bi-proces-seur haut de gamme constitue probablement une dépense inutile. UnPC moderne doté d’un processeur cadencé à 1 Ghz gérera sans pro-blème de nombreux messages par seconde et pourra traiter quasiment20 000 messages par heure.

Mettre en œuvre l’analyse de contenu augmentera de manière significa-tive la charge CPU (Central Processing Unit ou microprocesseur) et lesystème des entrées-sorties aura besoin lui aussi de plus de puissancepour tenir la charge. Malgré cela, traiter un ou deux messages parseconde ne devrait pas être une charge anormale pour le système.

Pour l’instant, nous avons évoqué uniquement le serveur SMTP. Sonrôle consiste à recevoir des messages et à les délivrer à d’autres machinesou dans les boîtes aux lettres locales. Lors de la définition matérielle duserveur, ne perdez pas de vue que les utilisateurs doivent aussi lire leursmessages. Cette fonctionnalité est assurée par des serveurs logiciels pourles protocoles POP, IMAP ou les deux. Comme pour les logiciels assu-rant le service SMTP, il faut privilégier les entrées-sorties au lieu dumicroprocesseur. Le nombre d’utilisateurs n’est pas à proprement parlerune notion essentielle, contrairement à la manière dont ils vont releverleurs messages. À quelle fréquence vont-ils effectuer cette tâche ? Si100 utilisateurs relèvent leur courrier toutes les 5 minutes, alors enmoyenne une connexion au serveur sera effectuée toutes les 3 secondes.Chacune de ces consultations ne prenant qu’une fraction de seconde, lacharge machine ne devrait pas être significative, ni pénalisante.

Les principaux protocoles de courrier : SMTP, POP et IMAPVous vous demandez pourquoi nous évoquons dans ce livre les proto-coles réseau de communication de base ? Ne sommes-nous pas en traind’utiliser des logiciels de haut niveau ? Oui bien sûr, mais vous yretrouver dans la compréhension des protocoles vous aidera à com-prendre non seulement pourquoi un système ne fonctionne pas, maisaussi comment il fonctionne ! Nous commencerons par un survol rapideet plutôt non technique des protocoles avant de nous attarder sur leursspécificités et détails.

B.A.-BA Choisir le matériel adéquat, ni trop récent, ni trop vieux

Tous ces conseils peuvent vous sembler vagueset génériques mais il est impossible de fournir lasolution miracle pour définir le matériel dontvous aurez besoin. Les résultats que vouspourrez obtenir de tel ou tel matériel dépendentde tant de paramètres que seules des préconisa-tions générales sont envisageables. Utilisez lebon sens et de simples calculs pour définir vosbesoins. Ne vous jetez pas sur la machine la plusperformante tant que cela n’est pas nécessaire,mais n’utilisez pas non plus un vieil ordinateurau rebut ! Même si les caractéristiques d’uneancienne machine peuvent convenir, ses compo-sants sont peut-être vieux et fatigués et sansdoute plus sous garantie.

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 8

Vue d’ensembleSur les environnements de type Unix, les applications classiques de cour-rier électronique n’utilisaient aucun protocole réseau spécifique. L’accèsaux boîtes aux lettres se faisait directement par le système de gestion defichiers. La boîte aux lettres d’arrivée de chaque utilisateur est classique-ment située dans le répertoire /var/mail ou /var/spool/mail, dans unfichier au nom de son propriétaire (par exemple /var/spool/mail/joepour l’utilisateur joe).

L’objectif de ce livre est de présenter les solutions de messagerie électro-nique basées sur les systèmes Linux et à destination des petitesentreprises : nous ne parlerons donc pas des systèmes où les utilisateursse connectent à un serveur central et consultent leur courrier à l’aided’une application terminale sur celui-ci. Ainsi donc, nous aborderons lesaspects du stockage local des courriers de manière rapide et uniquementinformative.

Le protocole le plus important dans le courrier électronique est SMTP(Simple Mail Transfer Protocol). Son rôle est simple et consiste à trans-porter les messages électroniques d’une machine à une autre. Ces deuxmachines peuvent être des serveurs ou alors une des deux est unemachine cliente exécutant une application de courrier comme Thunder-bird, Outlook Express, Eudora... Pour relever son courrier, l’utilisateurse sert du protocole POP (Post Office Protocol) ou de IMAP (InternetMessage Access Protocol).

Les systèmes propriétaires comme Microsoft Exchange et Lotus Notesutilisent leurs propres protocoles pour accéder aux messages et ne serontpas traités dans cet ouvrage.

Le protocole POPDes deux protocoles de gestion de relevé du courrier (POP et IMAP),POP est le plus ancien et le plus utilisé. Grâce à lui, les utilisateurs peu-vent se connecter à leurs boîtes aux lettres, télécharger leurs messages surleur machine locale et les supprimer du serveur.

Les serveurs POP ne sont pas prévus pour le stockage permanent desmessages et certains fournisseurs d’accès Internet obligent les utilisateursà les supprimer ou les transférer vers leur disque dur local après le pre-mier téléchargement. Ce stockage temporaire des messages est le prin-cipal grief que l’on puisse faire au protocole POP. En effet, cela poseproblème pour les utilisateurs qui souhaitent consulter leur courrierdepuis plusieurs emplacements, mais aussi pour les administrateurs sys-tème qui doivent mettre en œuvre une solution de sauvegarde des mes-

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 20059

sages. Un autre inconvénient de taille est que POP ne puisse pas fournirplusieurs dossiers à chaque utilisateur, lequel ne peut accéder qu’à saboîte d’arrivée des messages, inbox.

Le protocole IMAPIMAP est une méthode d’accès à une boîte aux lettres de « premièreclasse ». En effet, cette dernière admet le stockage permanent des mes-sages sur le serveur, ce qui résout les problèmes de sauvegarde de l’admi-nistrateur système et autorise à consulter ses messages de n’importe oùdans le monde (si les règles de pare-feu le permettent). IMAP implé-mente aussi de manière plus poussée les connexions TLS sécurisées, ren-dant le protocole plus sûr en milieu hostile. Un système de cache sur ledisque local du client pour les messages et dossiers téléchargés estintégré dans la plupart des applications compatibles IMAP. Il amélioreles performances et permet de travailler en mode offline, c’est-à-dire enmode déconnecté.

Le protocole SMTPSMTP est un protocole orienté ligne de texte qui utilise le protocoleTCP (Transmission Control Protocol), ce qui le rend trivial à décoder.Initier une session SMTP à l’aide du classique programme Telnet pré-sent sur presque toutes les machines n’est pas plus compliqué. Voyons lesdifférentes étapes d’une session SMTP :1 Connexion sur le port 25 du serveur. 2 Après avoir reçu le message d’accueil du serveur, le client doit

répondre par hello, ou de nos jours par EHLO ou HELO, suivi du nomde la machine cliente.

3 Si le serveur accepte la réponse, le client peut démarrer la premièretransaction de courrier.

Une transaction de courrier SMTP est constituée de 3 parties :• un expéditeur ;• un ou plusieurs destinataire(s) ;• le contenu ou corps du message.

L’expéditeur est renseigné par la commande MAIL FROM, chaque destina-taire avec une commande RCPT TO, et le corps du message commenceaprès la commande DATA. Une fois le message accepté par le serveur, leclient peut continuer avec d’autres transactions ou terminer la sessionSMTP par la commande QUIT.

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 10

Un exemple valant mieux que de longs discours, le codesuivant vous présente une session SMTP classique. Les lignes en carac-tères gras sont celles que le client envoie au serveur :

Dans cet exemple, une machine se présentant comme gw.example.com seconnecte à un serveur SMTP mail.example.com. Comme la premièreréponse du serveur contient le mot ESMTP (Enhanced SMTP), leclient tente de répondre par EHLO au lieu de HELO. Le serveur accepte laréponse du client et renvoie en retour la liste des extensions ESMTPreconnues.

En même temps que l’adresse d’expéditeur, le client précise l’attributSIZE pour annoncer la taille du message au serveur, puisque ce dernier aannoncé qu’il acceptait cette extension. Ainsi, si la taille précisée par leclient dépasse la limite acceptée par le serveur, ce dernier le signaleraimmédiatement, évitant de la sorte au client de taper la totalité du cour-rier et d’attendre le refus du serveur (et de saisir une version raccourciedu message) !

Un message peut évidemment être destiné à plusieurs personnes. C’estun point qu’il ne faut pas oublier si vous décidez de mettre en place desstratégies de gestion. Dans l’exemple précédent, comme le serveuraccepte les deux premiers destinataires, le client va tenter d’envoyer le

220 mail.example.com ESMTP Postfix (2.2.3)EHLO gw.example.net250-mail.example.com250-PIPELINING250-SIZE250-VRFY250-ETRN250 8BITMIMEMAIL FROM:<[email protected]> SIZE=112250 OkRCPT TO:<[email protected]>250 OkRCPT TO:<[email protected]>250 OkRCPT TO:<[email protected]>550 <[email protected]>: Recipient address rejected: User unknown in local recipient tableDATA354 End data with <CR><LF>.<CR><LF>Subject: Test mailTo: <[email protected]>Date: Sun, 15 May 2005 20:23:22 +0200 (CEST)This is a test message..250 Ok: queued as B059D3C2BQUIT221 Bye

RÉSEAU Le protocole ESMTP

Le protocole ESMTP (Enhanced Simple MailTransfer Protocol), extension du protocole SMTP,complète ce dernier en y intégrant la prise encharge des types MIME et le DSN.MIME (Multipurpose Internet Mail Extensions)permet d’intégrer des données comme du son,des images, etc., dans les messages.DSN (Delivery Status Notification) implémente lafonctionnalité d’accusé de réception pour savoirsi un message a bien été livré et sinon, pour-quoi.

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 200511

corps du message, même si la troisième adresse est refusée. Le messageest bien accepté par le serveur et placé en file d’attente pour la livraisonaux deux destinataires validés (250 Ok: queued as B059D3C2B). Le ser-veur renvoie à l’expéditeur un non-delivery message (message de nonlivraison), plus connu sous l’appellation de bounce, concernant l’adresseinvalide. Le serveur aurait aussi bien pu rejeter l’ensemble du message :dans ce cas, il ne l’aurait délivré à aucun des destinataires. En d’autrestermes, le serveur doit soit rejeter, soit accepter le message, mais pourl’ensemble des destinataires.

Il est aussi essentiel de bien comprendre la différence entre l’enveloppeet les en-têtes.

L’enveloppe d’un message contient les informations fournies par lescommandes MAIL FROM et RCPT TO, c’est-à-dire les données nécessaires àl’acheminement du courrier : l’expéditeur et le ou les destinataire(s). Unserveur SMTP n’accorde aucune importance aux champs From, To et Ccdes en-têtes du message. Dans notre exemple, l’en-tête To contient uneseule adresse avec le domaine (example.com) comme seul point communavec celles des destinataires de l’enveloppe ; c’est juste une coïncidence,sans signification particulière. Les bounces sont toujours renvoyés àl’adresse d’expéditeur de l’enveloppe, dans notre cas [email protected]’adresse d’expéditeur des bounces est l’adresse d’expéditeur vide, sou-vent nommée Null Sender. Bien que ce soit tentant pour certains, il nefaut pas bloquer sur votre serveur les messages arrivant avec l’adressed’expéditeur vide.

Nous n’avons pas encore parlé des codes numériques retournés par leserveur en début de chaque ligne. Chaque nombre a une significationparticulière et il est important de savoir interpréter correctement le pre-mier chiffre de chaque code renvoyé.

Dans le protocole SMTP, les conditions d’erreur sont soit temporaires,soit permanentes. Les codes de retour commençant respectivement par 4ou 5 signalent ces erreurs. Un client qui reçoit un code d’erreur com-mençant par 4 devrait se déconnecter, conserver le message en file

Tableau 1–2 Signification du premier chiffre des codes retour SMTP

Premier chiffre Signification

2 Le serveur a accepté la commande précédente et attend la suivante.

3 Utilisé en réponse à la commande DATA pour signifier que le ser-veur est prêt à recevoir le corps du message.

4 Erreur temporaire : la commande en cours ne peut pas être exécu-tée pour le moment mais le sera avec succès ultérieurement.

5 Erreur permanente : la commande ne sera jamais acceptée.

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 12

d’attente et faire une nouvelle tentative ultérieurement. Parmi les erreurstemporaires, nous pouvons citer les suivantes :• disque contenant la file d’attente plein ;• erreur de configuration serveur à résoudre avant d’accepter de nou-

veaux messages ;• erreur temporaire de résolution DNS (Domain Name Server) ;• ...

Les erreurs permanentes ont le premier chiffre du code retour à 5 etsignifient que la requête courante ne sera jamais acceptée par le serveur.Dans ce cas, le client devra supprimer le message de la file d’attente etsignaler par un bounce à l’expéditeur que le courrier ne pourra pas êtreacheminé.

Courrier électronique et DNSLe DNS (Domain Name System ou Domain Name Server) joue un rôleimportant dans le courrier électronique. Il est utilisé à la fois par les pro-grammes clients de courrier et par les serveurs de messagerie. Même sivous n’envisagez pas de gérer votre propre serveur DNS, une compré-hension précise de sa fonction est nécessaire pour tout administrateurd’un serveur de messagerie. La section suivante suppose que vous con-naissiez déjà les notions de bases du fonctionnement d’un serveur DNS.

Les enregistrements DNS utilisés par les applications de courrier électroniqueDans de nombreux contextes réseau, seuls deux types d’enregistrementsDNS sont utilisés :• l’enregistrement A qui associe les noms de machines aux adresses IP ;• l’enregistrement PTR qui associe les adresses IP aux noms de

machines.

Le courrier électronique utilise aussi ces deux types, plus un troisièmequi lui est uniquement dédié, l’enregistrement MX (Mail eXchanger) dudomaine.

Comment un serveur SMTP sait-il à quelle machine livrer un messagedestiné à un domaine particulier ? Comme vous pouvez vous en douter,le domaine du destinataire est utilisé comme critère de recherche par uneou plusieurs requêtes DNS. La première recherche effectuée consiste àrécupérer cet enregistrement MX.

EN SAVOIR PLUS Le protocole SMTP

SMTP couvre bien plus d’aspects que ceuxabordés dans cette brève description servantjuste d’introduction.Plusieurs RFC traitent de SMTP mais les plusimportantes sont la RFC 821 (Simple MailTransfer Protocol) et la RFC 822 (Standard forthe format of ARPA Internet text messages).Pour en savoir plus :B http://www.faqs.org/rfcs/rfc821.htmlB http://abcdrfc.free.fr/rfc-vf/rfc821.htmlB http://www.faqs.org/rfcs/rfc822.htmlB http://jlr31130.free.fr/rfc822.html

RÉSEAU L’enregistrement

L’enregistrement DNS MX (Mail eXchanger)indique aux logiciels de transfert de courrierélectronique les machines vers lesquelles ilspeuvent acheminer leurs messages.Chaque domaine possède un ou plusieursenregistrement(s) MX précisant les adresses desserveurs de courrier auxquelles il faudra livrerles messages lui étant destinés.

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 200513

Par exemple, les enregistrements MX sont utilisés pour préciser que lesmessages destinés à une personne du domaine example.com doivent êtrelivrés à la machine nommée mail.example.com. Si le domaine d’un desti-nataire ne dispose pas d’un enregistrement de type MX, on essaie derécupérer un enregistrement de type A. Si ces deux tentatives sontvaines, le message est marqué comme non délivrable et est retourné àl’expéditeur.

Deux raisons principales justifient d’utiliser ces enregistrements MX.

Premièrement, ce n’est pas du tout une bonne idée d’attribuer au serveurde courrier d’un domaine l’adresse retournée par son enregistrement A.Que va-t-il se passer si la société Example, dont le site Internet estaccessible par http://www.example.com/, autorise l’utilisation de l’URL devisite courte http://example.com, mais ne souhaite pas que le serveur websoit sur la même machine que le serveur de courrier ?

Toutefois, la raison la plus importante est qu’une requête DNS MX nerenvoie pas uniquement une liste de machines, mais plutôt une liste detuples (machine, priorité). Le champ priorité de chaque tuple est unnombre entier précisant la priorité de la machine au sein de la liste. Lavaleur de ce nombre importe peu mais est utilisée en conjonction avec lesautres entrées pour créer une liste ordonnée de machines auxquellestenter de délivrer un message. La liste est triée par ordre croissant etainsi, la machine avec le champ priorité le plus faible sera contactée enpremier. Si deux machines ont la même priorité, elle seront utilisées demanière aléatoire.

Les enregistrements MX de priorité égale mettent ainsi en œuvre uneforme simpliste de répartition de charge entre deux serveurs ou plus.Cette technique est aussi possible avec les enregistrements de type A.

Signalons tout de même que la hiérarchie mise en place à l’aide desenregistrements MX pour les serveurs de courrier secondaires d’undomaine ne peut pas être utilisée pour les enregistrements A. Pour expli-citer cette hiérarchie, supposons qu’une structure dispose de plusieursserveurs de messagerie, organisés selon le tableau 1-3.

Tableau 1–3 Exemple d’enregistrements MX

Priorité Machine

10 mx1.example.com

10 mx2.example.com

20 mx3.example.com

30 mx4.example.com

TECHNIQUE La répartition de charge

La répartition de charge, ou load-balancing,est une technique qui consiste à partager etéquilibrer une charge, un travail, sur plusieursserveurs. Cette technique aide à répondre effica-cement à de grosses demandes ou à des picsd’activité.Le moteur de recherche Google utilise cettetechnique pour réguler l’activité de ses serveursweb. Il est en effet difficilement concevablequ’une seule machine réponde à l’ensemble desrequêtes. Lorsque vous interrogez le moteur,votre requête arrive sur un des répartiteurs decharge qui va l’orienter pour traitement vers lamachine la plus appropriée, la moins chargée.

1 –

Notio

ns d

e ba

se s

ur L

inux

et l

e co

urrie

réle

ctro

niqu

e

© Groupe Eyrolles, 2005 14

Si cette configuration est mise en place pour le domaine example.com, lesserveurs SMTP devant lui livrer des messages contacteront d’abordmx1.example.com ou mx2.example.com. Si cela échoue, le serveurmx3.example.com sera alors contacté et mx4.example.com en cas de nouveléchec. Si malgré tout, le message n’a pu être acheminé, il sera conservéen file d’attente en vue d’une tentative ultérieure.

Serveurs de courrier de secoursIl semble très judicieux de disposer d’un serveur de secours pour recevoirvos messages quand votre serveur primaire est indisponible. Pourtant, lesconnexions Internet actuelles fiables et la propagation des spams, vers etautres nuisances tendent à rendre cette solution inutile, voire parfois nui-sible, dangereuse.

Le rôle d’un serveur de secours est de recevoir vos messages quand votreserveur primaire est indisponible et de les lui délivrer dès que ce dernierredevient actif. Malgré tout, cela présente peu d’intérêt du fait que lesserveurs SMTP doivent conserver au moins 5 jours les messages enattente avant de les retourner à leur expéditeur. Un serveur de secoursvous permettrait de les conserver plus de 5 jours, mais si votre serveurprimaire reste indisponible plus longtemps, alors vous avez certainementdes problèmes plus importants que la perte de quelques messages.

Cela nous amène à reconsidérer le problème de la propagation des cour-riers électroniques non sollicités, les spams. En général, les solutions delutte contre le spam ne sont pas implémentées sur les serveurs desecours, mais seulement sur le serveur primaire. Cela incite donc lesspammeurs à prendre pour cibles lesdits serveurs de secours.

Une autre raison très importante de vous passer d’un serveur de secoursest qu’il ne fait pas de contrôle des destinataires. Ne sachant pas quelsdestinataires sont valides pour les domaines dont ils sont serveurs desecours, ils acceptent tous leurs messages et essaient de les délivrer auserveur primaire. Celui-ci va ensuite refuser les destinataires invalides,obligeant le serveur de secours à renvoyer ces messages à leurs expédi-teurs. C’est ce qu’on appelle les notifications indésirables (backscattermail en anglais). Cela pose deux problèmes importants :• Les adresses d’expéditeur sont souvent valides, mais empruntées à

des utilisateurs réels, étrangers à toute cette manipulation. On parlealors d’adresses spoofées. Ceux-ci recevront donc, à leur grande sur-prise, ces notifications indésirables.

Accè

s lib

re –

Mon

ter s

on s

erve

ur d

e m

ails

sous

Lin

ux

© Groupe Eyrolles, 200515

• Votre file d’attente pourra être saturée par des messages de notifica-tions ne pouvant être délivrés, le serveur de destination étant indispo-nible.

En résuméDans ce chapitre, nous avons d’abord évoqué les raisons qui peuventvous inciter à héberger votre propre serveur de messagerie. Les aspectstechniques comme le type de connexion et la configuration matérielleont ensuite été abordés. La connaissance, la compréhension des proto-coles de communication réseau est évidemment importante pour gérerde manière efficace votre serveur. Parmi ceux-ci, retenons POP, IMAPet, le plus important, SMTP, que nous avons étudié de façon pluspoussée. Nous avons terminé par le DNS et la place importante qu’iloccupe dans le domaine de la messagerie électronique.

À RETENIR Validation de destinataire

Ayez donc bien à l’esprit qu’un serveur très solli-cité, ne faisant pas de validation de destinataireet étant fortement spammé, pourra avoir desmilliers, voire des dizaines de milliers de mes-sages non délivrables en file d’attente.