Services e-mail
Prérequis et objectifs
1. Prérequis
Les connaissances nécessaires à la certification LPIC-1 :
Commandes de suivi des processus.
Édition de fichiers.
Commandes de gestion de répertoires et de fichiers.
Les connaissances acquises dans les précédents chapitres, notamment :
Gestion du réseau local.
Gestion des services.
Gestion de DNS.
2. Objectifs
À la fin de ce chapitre, vous serez en mesure de :
Connaître les principes, l’architecture et le fonctionnement des différents protocoles nécessaire aux services de messagerie réseau, en particulier SMTP.
Configurer et gérer un serveur de messagerie Postfix.
Configurer des alias d’adresses e-mail, des quotas, et gérer des domaines virtuels.
Configurer et gérer la distribution des messages reçus.
Mettre en place des logiciels de filtre, tri et contrôle des messages entrants.
Installer et configurer des logiciels de gestion des services d’accès aux boîtes aux lettres, POP et IMAP.
Services e-mail
Ce sujet est divisé en trois parties de poids différents.
1. Utilisation des serveurs de messagerie
Poids |
4 |
Objectifs |
Gérer un serveur de messagerie, configurer des alias d’adresses e-mail, mettre en place des quotas et gérer des domaines virtuels. |
a. Compétences principales
-
Fichiers de configuration de Postfix.
-
Configuration TLS de base pour Postfix.
-
Connaissance de base du protocole SMTP.
-
Connaissance de base de sendmail et exim.
b. Éléments mis en œuvre
-
Fichiers et commandes de configuration de Postfix.
-
/etc/postfix/
-
/var/spool/postfix/
-
Couche d’émulation des commandes sendmail.
-
/etc/aliases
-
Fichiers journaux relatifs aux courriers électroniques dans /var/log.
2. Gestion de la distribution des e-mails
Poids |
2 |
Objectifs |
Mettre en place des logiciels de filtre, tri et contrôle des e-mails entrants. |
a. Compétences principales
-
Connaître les fonctionnalités, la syntaxe et les opérateurs de Sieve.
-
Utiliser Sieve pour filtrer et trier les e-mails, selon les expéditeurs, les en-têtes et la taille.
-
Connaissance de base de procmail.
b. Éléments mis en œuvre
-
Opérateurs de condition et de comparaison.
-
keep, fileinto, redirect, reject, discard, stop.
-
Extension Dovecot vacation.
3. Gestion de l’accès aux boîtes e-mail
Poids |
2 |
Objectifs |
Installer et configurer les services POP et IMAP. |
a. Compétences...
Utilisation des serveurs de messagerie
Les serveurs de messagerie, appelés MTA (Mail Transfer Agent), assurent l’envoi et la réception des courriers électroniques à travers les inter-réseaux IP. Ils gèrent les courriers électroniques pour un ou plusieurs domaines de messagerie. Les MTA communiquent entre eux par le protocole SMTP.
1. Le protocole SMTP
Le protocole SMTP (Simple Mail Transfer Protocol et ses extensions, ESMTP, Extended SMTP), défini dans la RFC 5321, est utilisé pour transférer des courriers électroniques vers des serveurs de messagerie.
Il est utilisé par les clients de messagerie pour confier un message à leur serveur de messagerie, et par les serveurs de messagerie (MTA, Mail Transfer Agent) entre eux, pour acheminer le message jusqu’au serveur de messagerie du destinataire du message.
L’acheminement du message vers le serveur de messagerie destinataire s’appuie sur DNS et ses enregistrements de ressources de type MX (Mail eXchanger).
Une fois parvenu au serveur de messagerie du destinataire, le message peut être consulté directement sur le serveur, ou via un agent de distribution (MDA, Mail Delivery Agent) et un protocole de gestion de boîte e-mail (POP3, IMAP4).
a. Syntaxe du protocole
SMTP est un protocole client-serveur, qui s’appuie sur TCP pour échanger des messages au format texte. Le serveur écoute sur le port TCP bien connu 25.
Les différents types de messages sont identifiés par des mots-clés et des identifiants numériques.
On peut tester la communication avec un serveur SMTP en se connectant en TCP sur le port 25, avec un outil client comme Telnet ou nc.
De plus en plus souvent, la communication entre le client de messagerie et le serveur de messagerie passe par un agent de soumission de courrier (MSA, Mail Submission Agent), via le port 587 ou 465, et une authentification SMTP.
b. Exemple
Connexion sur le serveur SMTP de la machine locale et envoi d’un e-mail :
nc localhost 25
220 srvrh.localdomain ESMTP Postfix
ehlo mydom.com
250-srvrh.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
MAIL FROM:moi@mydom.com
250 2.1.0 Ok
RCPT TO:pba
250 2.1.5...
Gestion de la distribution des e-mails
Le serveur MTA stocke localement les messages reçus. Le format de stockage des messages peut être mbox ou maildir.
Après réception d’un e-mail, le serveur Postfix peut être configuré pour faire appel à un programme externe (LDA, Local distribution Agent), chargé de le filtrer et de le classer avant stockage.
1. Formats de stockage des messages
Le serveur MTA stocke localement les messages reçus. Le format de stockage des messages peut être mbox ou maildir.
a. Le format mbox
Le format mbox est le format le plus ancien. Dans ce format, tous les messages de l’utilisateur sont concaténés à l’intérieur d’un seul fichier boîte aux lettres. Les débuts de messages sont identifiés par la séquence de caractères From en début de ligne.
Comme il s’agit d’un fichier texte unique, il peut être facilement corrompu si deux processus y accèdent en écriture simultanément.
Exemple
Fichier boîte e-mail d’un utilisateur, au format mbox :
vi /var/mail/pba
From moi@mydom.com Mon Sep 26 13:20:18 2022
Return-Path: <moi@mydom.com>
X-Original-To: pba
Delivered-To: pba@srvrh.localdomain
Received: from mydom.com (localhost [IPv6:::1])
by srvrh.localdomain (Postfix) with ESMTP id 3D42C2549
for <pba>; Mon, 26 Sep 2022 13:19:27 +0200 (CEST)
Message-Id: <20220926111938.3D42C2549@srvrh.localdomain>
Date: Mon, 26 Sep 2022 13:19:27 +0200 (CEST)
From: moi@mydom.com
Status: RO
Bonjour Philippe
J'espère que tout va bien pour toi
From root@srvrh.localdomain Mon Sep 26 13:48:50 2022
Return-Path: <root@srvrh.localdomain>
X-Original-To: pba
Delivered-To: pba@srvrh.localdomain
Received: by srvrh.localdomain (Postfix, from userid 0)
id BF8C82549; Mon, 26 Sep 2022 13:48:50 +0200 (CEST) ...
Gestion de l’accès aux boîtes e-mail
Le serveur MTA (Mail Transfer Agent) stocke les e-mails entrants dans des boîtes aux lettres locales.
Pour accéder au contenu de sa boîte aux lettres, l’utilisateur destinataire exécute un programme client de messagerie (MUA, Mail User Agent). Ce programme interroge un serveur de gestion de courrier reçu (MDA, Mail...
Validation des acquis : questions/réponses
Répondez à ces questions ouvertes, comparables à celles qui pourront vous être posées lors de la certification, mais ces dernières seront sous forme de QCM ou demandant une réponse courte saisie au clavier.
1. Questions
1 Citez trois logiciels serveurs SMTP en environnement Linux.
2 Quel fichier, par défaut, contient la liste des alias de comptes de messagerie Postfix ?
3 Quel est le rôle de la directive relayhost dans la configuration de Postfix ?
4 Quelle commande permet de valider la configuration du serveur Postfix ?
5 Lors d’un test de connexion avec un serveur SMTP, via nc, la commande hello mydom.com reçoit une réponse en erreur. Pourquoi ?
6 La commande mail envoie correctement un message à un utilisateur local, mais ne parvient pas à le lire. Que faut-il vérifier au niveau du serveur SMTP ?
7 Quelle commande Sieve provoque le rejet d’un e-mail sans en informer l’émetteur ?
8 Quels sont les protocoles de gestion de messages reçus les plus utilisés ?
9 Quelle ligne de commande Dovecot permet de vérifier l’authentification d’un compte utilisateur de messagerie ?
10 Peut-on accéder à ses e-mails sans utiliser de protocole de gestion de courrier reçu ?
2. Résultat
Référez-vous aux pages suivantes pour contrôler vos réponses....
Travaux pratiques
Ces travaux pratiques proposent un atelier mettant en œuvre certains des points abordés dans ce chapitre. Pour chaque étape est donné un exemple commenté de réalisation, à adapter suivant la configuration de vos systèmes.
Pour les tests, on peut désactiver temporairement le pare-feu et SELinux, pour éviter des interactions difficiles à diagnostiquer :
systemctl stop firewalld
setenforce 0
1. Configuration et utilisation d’un serveur Postfix
On décide de mettre en œuvre un serveur Postfix sur une distribution Debian 11. Le serveur gérera un domaine de messagerie (son domaine DNS) et deux domaines virtuels, sous-domaines du domaine local. Il s’appuiera sur la base de comptes utilisateurs locale et gérera des alias de messagerie. Le serveur de messagerie sera déclaré auprès du serveur DNS du domaine local.
On testera le serveur de messagerie depuis la machine locale et depuis une machine distante.
Commandes et fichiers utiles
-
apt-get
-
/etc/postfix/main.cf
-
/etc/aliases
-
/etc/postfix/virtual
-
postalias
-
postconf
-
nc
-
rndc
-
dig
-
mail
Manipulations
1. |
Vérifiez que le paquet logiciel serveur Postfix est installé. Désinstallez si nécessaire le logiciel serveur SMTP existant (Exim). |
2. |
Configurez le serveur Postfix pour gérer le domaine de messagerie du domaine DNS local et deux sous-domaines. |
3. |
Déclarez des alias de messagerie pour différents comptes utilisateurs. |
4. |
Démarrez ou redémarrez le serveur Postfix. |
5. |
Testez le serveur avec une connexion nc sur le port TCP local 25, puis avec la commande mail locale. |
6. |
Déclarez le serveur de messagerie dans la zone DNS du serveur DNS local. |
7. |
Testez le serveur depuis la commande mail d’une machine distante. |
Résumé des commandes et résultat à l’écran
1. |
Vérifiez que le paquet logiciel serveur Postfix est installé. Désinstallez si nécessaire le logiciel serveur SMTP existant (Exim). |
On vérifie les paquets logiciels installés (exim4 ou postfix) :
root@srvdebian:~# dpkg-query -l postfix
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/ ...