Le diagnostic des serveurs de messagerie joue un rôle essentiel dans le bon fonctionnement du courrier électronique. Il permet d'identifier et de résoudre les problèmes liés à l'envoi, à la réception et au traitement des messages. L'un des facteurs clés du diagnostic est l'utilisation de filtres sur les serveurs de messagerie, qui assurent une protection contre le spam, les virus et autres menaces de sécurité.
Cet article aborde à la fois les services externes permettant de contrôler le fonctionnement d'un serveur de messagerie à distance, et les outils internes permettant d'effectuer des diagnostics directement sur le serveur. Toutes les actions, à titre d'exemple, seront réalisées sur un serveur privé fonctionnant sous Ubuntu 20.04.6 avec une configuration basée sur Postfix et Dovecot. Cependant, les méthodes présentées sont applicables à la quasi-totalité des systèmes d'exploitation et des clients de messagerie.
Services en ligne pour la vérification des serveurs de messagerie
La première étape, et la plus importante, consiste à vérifier les vulnérabilités du serveur de messagerie, les paramètres SPF, DKIM et DMARC, ainsi que la réputation des adresses IP d'origine des e-mails. Dans la plupart des cas, l'utilisation de ces seuls outils permet d'obtenir les résultats escomptés.
Considérons en détail les principaux services de vérification et leurs fonctionnalités :
MxToolBox permet de vérifier la quasi-totalité des paramètres des serveurs de messagerie disponibles. Ce service propose des outils pour vérifier tous les enregistrements de domaine, la disponibilité générale du domaine, les certificats SSL, l'état de l'adresse IP et bien plus encore. Pour effectuer un diagnostic, rendez-vous sur la page du service , saisissez l'adresse IP ou le nom de domaine, sélectionnez l'outil souhaité et lancez la vérification.
Une liste détaillée de tous les outils disponibles est affichée dans la capture d'écran :
Comme indiqué précédemment, le site web vérifie également la présence d'une adresse IP/domaine sur des listes noires. Toutes les sources principales sont vérifiées : Spamhaus, Barracuda, SURBL et bien d'autres. Si l'adresse figure dans une base de données, le service fournira des informations sur les raisons de son inscription sur liste noire. Vous pourrez ainsi prendre des mesures pour corriger le problème.
MailTester est le deuxième outil le plus populaire pour tester les serveurs de messagerie. Ce service permet d'envoyer un e-mail de test à une adresse unique, puis de recevoir un rapport détaillé sur la qualité du message envoyé. Contrairement à MxToolBox, cet outil est davantage axé sur l'amélioration du service de messagerie que sur le diagnostic du serveur. Cependant, il est tout à fait capable d'effectuer une analyse complète du serveur de l'expéditeur. Il teste la distribution des e-mails, réalise des recherches et fournit des recommandations pour optimiser le service de messagerie dans son ensemble.
Pour finaliser la vérification, rendez-vous sur le site web de la ressource et obtenez une adresse e-mail unique à laquelle envoyer le message. Après avoir soumis votre demande, sélectionnez « Vérifier l'évaluation » et attendez que la page se recharge. Le résultat devrait ressembler à ceci :
En cas de problème ou de recommandation, le service le signalera dans la section appropriée du rapport.
Les services mentionnés ci-dessus permettent une vérification complète du serveur de messagerie depuis le poste de travail. Ils vous permettent d'identifier les problèmes potentiels de distribution des e-mails, de vérifier vos paramètres de sécurité et de recevoir des recommandations pour résoudre d'éventuelles erreurs. Nous effectuerons ensuite des tests côté serveur.
Vérification des paramètres du serveur de messagerie
Vérification des enregistrements DNS
L'un des problèmes les plus fréquents côté serveur de messagerie est une configuration DNS incorrecte. Vous pouvez vérifier leur exactitude via les services tiers mentionnés précédemment. Cependant, il arrive que l'e-mail ne soit tout simplement pas distribué à une boîte de réception tierce. Dans ce cas, vous devez vérifier manuellement toutes les entrées. Pour ce faire, accédez à l'éditeur DNS et lancez la vérification. Prenons comme exemple les données suivantes : domaine profit.com, adresse IP 11.22.33.44, où @ peut être utilisé comme nom de domaine si le registraire ne permet pas de saisir ce format. N'oubliez pas de remplacer les valeurs par les vôtres.
Les enregistrements A définissent les adresses IP des serveurs de messagerie. Autrement dit, ils associent le domaine à l'adresse du serveur de messagerie. Cela devrait ressembler à ceci :
| Type | Hôte | Valeur | TTL |
| A | @ | 11.22.33.44 | 1 min |
Les enregistrements MX sont essentiels pour un serveur de messagerie ; ils déterminent l’acheminement du courrier. Autrement dit, ils dirigent le courrier vers une boîte aux lettres.
| Type | Hôte | Valeur | TTL |
| MX | @ | mail.profit.com | 1 min |
Les enregistrements SPF indiquent les serveurs autorisés à envoyer des courriels depuis un domaine spécifique . Remarque : ils sont publiés au format TXT. Seule une des valeurs possibles est indiquée.
| Type | Hôte | Valeur | TTL |
| TXT | @ | v=spf1 ip4:11.22.33.44 -all | 1 min |
Un enregistrement DKIM sert à vérifier l'authenticité d'un courriel. Il doit contenir la clé publique générée . De même, une seule des valeurs possibles est indiquée.
| Type | Hôte | Valeur | TTL |
| TXT | s1._domainkey.profit.com | v=DKIM1; k=rsa; p=QWIOJNDSLUB… | 1 min |
L'enregistrement DMARC est la prochaine et dernière étape de protection. Il s'applique aux courriels qui n'ont pas passé les vérifications SPF et DKIM.
| Type | Hôte | Valeur | TTL |
| TXT | _dmarc.profit.com | v=DMARC1; p=aucun; pct=100; rua=mailto:[email protected] | 1 min |
L'un des enregistrements les plus importants pour un serveur de messagerie est l' enregistrement PTR . Il fonctionne à l'inverse de l' enregistrement A , c'est-à-dire qu'il associe une adresse IP à un nom de domaine. Ce type d'enregistrement ne peut être ajouté que sur demande auprès du support technique de votre hébergeur et peut être vérifié avec la commande : ` nslookup IP` , où `IP` correspond à l'adresse de votre serveur. La réponse devrait afficher le domaine associé.
Vérification des ports
Les problèmes liés aux ports fermés peuvent également entraîner un dysfonctionnement complet du serveur de messagerie. Il est donc primordial de vérifier auprès de votre fournisseur s'il existe des restrictions concernant l'ouverture des ports nécessaires. Nous n'imposons aucune limite au nombre de ports ouverts sur nos serveurs dédiés ou virtuels . Cependant, les pratiques des différents hébergeurs varient.
Vous pouvez vérifier les ports ouverts à l'aide de l'utilitaire netstat préinstallé . Il suffit de saisir la commande :
netstat – nat
Avec le serveur SMTP/IMAP/POP3 installé et configuré, nous verrons les ports ouverts correspondants :
Comme on peut le voir sur la capture d'écran, les principaux ports des clients de messagerie sont ouverts : SMTP (25), IMAPS (143 et 993) et POP3S (110 et 995). Vous pouvez également vérifier le service de messagerie sur chaque port individuellement. L' outil telnet vous permettra de le faire. Prenons l'exemple du protocole POP3, c'est-à-dire le port 110 :
telnet mail.yourdomain.com 110
Nous quittons l'outil avec la commande « exit » et vérifions les ports nécessaires restants selon le même principe. Notez que cet outil permet également de tester l'envoi d'e-mails sans interface supplémentaire. Cela peut s'avérer utile lorsque l'utilisateur souhaite simplement configurer le serveur et envoyer des e-mails localement.
En cas de difficultés lors de l'ouverture des ports, il convient de vérifier le pare-feu installé. La plupart des distributions sont fournies avec Iptables/Firewalld préinstallé.
Pour iptables, nous utilisons les commandes suivantes :
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
Pour firewalld :
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp
Dans certains cas, le service SMTP nécessite également l'ouverture des ports 465 et 587 pour fonctionner correctement. L'ouverture de ces ports s'effectue de la même manière. Redémarrez le pare-feu après avoir ajouté de nouvelles règles.
Vérification des certificats SSL/TLS du serveur de messagerie
Les certificats SSL/TLS sont utilisés sur le serveur de messagerie pour sécuriser le transfert de données entre le client et le serveur. Ils confirment également l'authenticité du serveur de messagerie de l'expéditeur, éliminant ainsi le risque d'attaques de l'homme du milieu. Cependant, ils peuvent également entraîner des problèmes d'envoi et de réception de messages. Pour lancer un diagnostic, vous devez vérifier si des certificats sont installés côté serveur. Vérifions leur présence avec la commande suivante :
openssl s_client -showcerts -server mail.profit.com -connect IP:port
Dans cette commande, vous devez remplacer les valeurs par les vôtres : « mail.profit.com » correspond à l’adresse du serveur de messagerie ; IP:port correspond aux données du serveur. Prenons l’exemple du port 993 , qui utilise le protocole IMAP . La vérification des autres protocoles est identique.
En réponse, le serveur doit envoyer les données du certificat :
La plupart des clients de messagerie installent automatiquement les certificats. Cependant, dans certains cas, il est nécessaire de les installer et de les ajouter manuellement à un client spécifique. L'installation et la configuration pouvant varier selon les plateformes, nous vous recommandons de consulter les instructions de la solution utilisée. Nous vous conseillons d'utiliser Let's Encrypt comme certificat et Certbot comme outil auxiliaire pour son installation et sa configuration.
Vérification des journaux
Nous avons enfin trouvé une solution efficace dans la plupart des cas : consulter les journaux du serveur de messagerie. La plupart des utilisateurs se trompent en pensant qu'il n'existe aucune solution à leur problème. Or, les clients de messagerie modernes stockent une grande quantité d'informations dans les journaux :
- Date et heure d'envoi et de réception des mails.
- Adresse de l'expéditeur et du destinataire.
- Filtrage des résultats pour les spams et les virus.
- L'état de la file d'attente pour l'envoi et la réception des courriers.
- Actions des administrateurs et des utilisateurs liées au serveur de messagerie (par exemple, création, suppression de boîtes aux lettres, modification des paramètres).
- Erreurs et problèmes survenus lors du traitement et de la livraison des e-mails.
Le répertoire standard où sont stockés les journaux de la plupart des commandes se trouve à l'emplacement suivant : / var/log/. Selon la solution utilisée, le nom du fichier journal peut varier. Par exemple, le fichier mail.log se trouve dans le même répertoire pour Postfix. Nous vous recommandons de ne pas négliger cette méthode de diagnostic et d'utiliser les journaux dès les premiers signes de dysfonctionnement de votre client de messagerie. Veuillez consulter notre manuel sur la lecture des journaux Linux.
Comprendre comment vérifier le serveur de messagerie
Nous avons réalisé un diagnostic détaillé du serveur de messagerie. Lors des tests, les outils en ligne de recherche détaillée et les solutions locales de détection d'éventuels problèmes ont été impactés. Après avoir effectué tous les tests nécessaires, nous avons obtenu une vue d'ensemble de l'état actuel du serveur de messagerie et formulé des recommandations pour résoudre les problèmes potentiels.