Configurer un serveur de messagerie

Comprendre et configurer un serveur mail a et demeure aujourd’hui un projet professionnel de taille pour n’importe quel administrateur. Dans la plupart des cas, les tutoriels disponibles en ligne partent directement dans la configuration et commence par installer les paquets et editer les fichiers de configuration sans pour autant prendre le temps d’expliquer l’architecture.

Le problème qui se pose avec cette manière de faire est que quand il y a des problèmes à diagnostiquer, étudiant qui ne fait que copier coller se perd et entre les différentes versions des paquets, d’un tutoriels à un autre, les problèmes de compatibilité, se voit suberméger et se décourage.

Ce tutoriel suivra le plan suivant et pas à pas :

  • Fonctionnement d’un email (SMTP, IMAP, POP3)
  • DNS (A, MX, PTR)
  • Installation de Postfix seul
  • Maildir et stockage des mails
  • Installation de Dovecot
  • Authentification SASL Postfix ↔ Dovecot
  • TLS/SSL
  • SPF
  • DKIM
  • DMARC
  • PostfixAdmin
  • Anti-spam (Rspamd, SpamAssassin)

Les protocoles impliqués dans le transfert et la livraison des mails sont le smtp, le lmtp, imap ou pop3

SMTPLMTP
Transporte les e-mails entre serveurs.Remet les e-mails au serveur de stockage des boîtes aux lettres.
Répond généralement une seule fois pour l’ensemble des destinataires.Donne une réponse distincte pour chaque destinataire.
Utilisé sur Internet.Utilisé principalement à l’intérieur d’une infrastructure de messagerie.

Les ports à connaitre

PortsProtocolRôle
25SMTPCommunication entre serveurs
587SMTP SubmissionOutlook -> Postfix
993IMAPSOutlook -> Dovecot

Postfix

Fichier: /etc/postfix/main.cf

Fichier: /etc/postfix/master.cf

C’est le cerveau de postfix, il dit : quels services demarrés, sur quels ports et avec quel privilèges.

Notons que suivant la philosophie unix : 1 processus = 1 responsabilité

ServiceRôle
smtpdReçoit les e-mails entrants via le protocole SMTP. C’est le serveur SMTP qui écoute généralement sur le port 25 (ou 587/465 selon la configuration).
pickupSurveille le répertoire maildrop et récupère les nouveaux messages déposés localement (par exemple par la commande sendmail).
cleanupPrépare les messages avant leur mise en file d’attente : ajoute les en-têtes manquants, réécrit les adresses si nécessaire et vérifie la syntaxe.
qmgr (Queue Manager)Gère la file d’attente des messages. Il décide quand et comment chaque e-mail sera livré en fonction de la disponibilité des destinations et des tentatives précédentes.
localDistribue les messages aux utilisateurs locaux de la machine (par exemple dans /var/mail/ ou via un agent de distribution local).
smtpEnvoie les messages vers d’autres serveurs SMTP sur Internet ou sur un réseau interne. C’est le client SMTP de Postfix.
lmtpSimilaire à smtp, mais utilise le protocole LMTP pour remettre les messages à un serveur local comme Dovecot ou Cyrus.
trivial-rewriteRéécrit et résout les adresses e-mail (domaines, alias, routes) avant la livraison.
bounceGénère les messages de non-remise (bounce) lorsqu’un e-mail ne peut pas être distribué.
deferGère les notifications lorsqu’un message est temporairement retardé.
verifyVérifie si une adresse destinataire est valide avant d’accepter le message (si cette fonctionnalité est activée).
proxymapFournit un accès sécurisé aux bases de données (alias, tables de correspondance) pour les processus qui ne doivent pas y accéder directement.
anvilSurveille les statistiques de connexion (nombre de connexions, taux de requêtes, etc.) afin d’appliquer des limites et prévenir les abus.
tlsmgrGère les informations liées à TLS, comme le cache des sessions TLS.
showqAffiche le contenu de la file d’attente lorsque vous utilisez postqueue -p ou mailq.
scacheMet en cache les connexions SMTP afin de réutiliser une connexion existante et améliorer les performances.

smtpd -> cleanup -> qmgr -> local

Dovecot

Folder: /etc/dovecot/

Installation

apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd -y

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut