Retour au blog

Tutoriel de configuration de serveur de messagerie : Comment utiliser Postfix, Dovecot, MySQL et SpamAssassin

Tutoriel de configuration de serveur de messagerie : Comment utiliser Postfix, Dovecot, MySQL et SpamAssassin

Introduction

Sur Ubuntu 20.04, vous pouvez utiliser des outils comme Postfix, Dovecot, MySQL, et SpamAssassin pour configurer un serveur de messagerie. Le processus peut être déroutant pour quelqu'un qui s'y essaie pour la première fois. Ce tutoriel vise à simplifier pour vous le processus de configuration du serveur de messagerie avec des étapes détaillées. À la fin de ce tutoriel, vous saurez comment ajouter des domaines virtuels, des utilisateurs et des alias. À terme, vous rendrez votre serveur virtuel plus sûr face aux hubs de spam.

Prérequis

Avant de commencer la configuration du serveur de messagerie, il y a quelques prérequis à régler. Tout d'abord, assurez-vous que votre serveur privé virtuel dispose d'un domaine qui pointe vers votre serveur. Vous devez également installer et configurer MySQL. De plus, vous devez disposer d'un utilisateur doté de privilèges root et installer un certificat SSL. Enfin, assurez-vous que votre FQDN  est configuré et identifié.

Si vous installez vos paquets en tant qu'utilisateur root, vous disposerez de tous les privilèges. C'est pourquoi nous le recommandons :

Saisissez le mot de passe de votre utilisateur. À ce stade, vous verrez le $ symbole changer en #. Ensuite, explorons les différents aspects de la configuration un par un.

Étape 1 : Installation des paquets

Nous allons commencer par apprendre à installer des paquets :

Lorsque la configuration de Postfix apparaît, sélectionnez Internet Site:

Mail Server postfix config

Il vous sera demandé le nom de System mail. Ici, vous pouvez utiliser le FQDN ou le domaine principal :

postfix configuration 2

Étape 2 : Création d'une base de données MySQL, de domaines virtuels, d'utilisateurs et d'alias

Ensuite, une fois tous les paquets installés, nous passerons à la configuration. Notre objectif est de configurer trois tables. Une sera pour les domaines, une pour les utilisateurs et une pour les alias. Celles-ci seront hébergées dans une base de données MySQL que nous allons créer.

Disons que nous voulons nommer notre base de données servermail. Vous êtes libre d'utiliser le nom de votre choix. Voici comment nous allons la créer :

Vous devez vous connecter en tant qu'utilisateur root MySQL :

Ensuite, entrez votre mot de passe. Une tentative réussie affichera ce résultat :

Ensuite, nous allons créer un nouvel utilisateur spécifiquement pour l'authentification des e-mails. Donnez l'autorisation SELECT comme ceci :

Après cela, rechargez vos privilèges MySQL pour appliquer les autorisations avec succès :

Ensuite, nous utiliserons notre base de données pour créer les tables et saisir les données :

Nous allons créer des tables individuelles pour les domaines spécifiques qui sont reconnus comme domaines autorisés :

L'objectif est d'introduire des utilisateurs dans la table. Par conséquent, nous ajouterons l'adresse e-mail et le mot de passe correspondants. Gardez à l'esprit que vous devez associer chaque utilisateur à un domaine :

Ensuite, nous allons créer une table pour tous nos alias virtuels afin de spécifier tous les e-mails que nous allons transférer vers l'autre e-mail :

À la fin de ce processus, vous aurez créé avec succès trois tables. Ensuite, nous devons introduire les données.

  • Domaines virtuels

Dans cette section, nous allons apprendre à introduire des domaines au sein de la virtual_domains table. Plus précisément, nous allons nous concentrer sur la façon d'introduire le domaine principal (example.com) et le FQDN (hostname.example.com):

  • E-mails virtuels

Ensuite, saisissez l'adresse e-mail et les mots de passe associés pour chacun des domaines. Assurez-vous que toutes les informations sont remplacées par vos informations spécifiques :

  • Alias virtuels

Vous pouvez maintenant introduire l'adresse e-mail vers laquelle vous allez transférer l'autre adresse e-mail. La première est la source tandis que la seconde est la destination :

Ensuite, vous pouvez quitter MySQL :

Étape 3 : Configuration de Postfix

Il est important to configurer Postfix afin qu'il puisse gérer les connexions SMTP. Il doit également être capable d'envoyer les messages pour tous les utilisateurs saisis dans la base de données MySQL. Commençons par faire une copie du fichier par défaut. Cela vous permettra de revenir facilement à la configuration par défaut si nécessaire :

Maintenant, ouvrez le fichier main.cf pour le modifier :

Commencez par commenter les paramètres TLS, puis ajoutez tous les autres paramètres. Dans notre exemple, nous utilisons les certificats SSL gratuits. Vous pouvez, bien sûr, modifier la configuration selon vos besoins :

Ensuite, vous ajouterez ces paramètres sous les paramètres TLS :

Après cela, nous devons commenter les paramètres par défaut de mydestination. Ensuite, nous le remplacerons par localhost. Avec ce changement, le VPS pourra utiliser les domaines virtuels de la table MySQL :

Maintenant, utilisez cette commande pour vérifier que le paramètre myhostname est défini dans votre FQDN :

De plus, ajoutez cette ligne pour activer la distribution locale du courrier pour tous les domaines virtuels répertoriés dans la table :

Enfin, nous ajouterons les paramètres suivants afin d'indiquer à Postfix de configurer les domaines virtuels, les utilisateurs et les alias :

Pour vous assurer qu'il n'y a pas d'erreurs, comparez ces modifications avec le fichier suivant :

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Une fois que tout cela est vérifié, vous créerez trois fichiers à ajouter dans le main.cf fichier. Le but ici est de donner à Postfix des instructions sur la façon de se connecter à MySQL. Pour ce faire, nous allons commencer par créer le mysql-virtual-mailbox-domains.cf fichier. Bien sûr, dans votre fichier, vous ferez les modifications selon votre configuration personnelle :

Ensuite, redémarrez Postfix :

Vous devez vous assurer que Postfix est capable de trouver votre domaine. Pour tester cela, utilisez cette commande :

La commande renverra 1 si elle réussit. Dans ce cas, vous pouvez procéder en créant le mysql-virtual-mailbox-maps.cf fichier :

Redémarrez Postfix une nouvelle fois :

À nouveau, nous allons nous assurer que Postfix est capable de trouver la première adresse e-mail. Pour tester cela, utilisez la commande suivante :

Si elle réussit, vous obtiendrez un résultat de 1 en retour. Ainsi, nous allons passer à la création du dernier fichier :

Ceci termine la configuration entre Postfix et MySQL. Redémarrez Postfix pour appliquer :

Pour confirmer que Postfix trouve bien vos alias, utilisez cette commande :

Idéalement, vous devriez recevoir en sortie l'e-mail qui est transféré vers l'alias. Vous pouvez également modifier le /etc/postfix/master.cf fichier comme ceci si vous souhaitez connecter le port 587 avec des clients de messagerie en toute sécurité :

Voici comment décommenter certaines lignes et ajouter des paramètres :

Parfois, vous devrez peut-être redémarrer Postfix pour confirmer que le port est ouvert :

Cet outil peut également être utilisé pour analyser les ports du domaine. Vous pouvez l'utiliser pour vérifier que les ports 25 et 587 sont ouverts.

Étape 4 : Configuration de Dovecot

Il est maintenant temps de configurer Dovecot. Pour cette section, nous devrons copier les 7 fichiers que vous souhaitez modifier. Cela permet de s'assurer que vous pouvez revenir en arrière si nécessaire. Saisissez ces commandes une par une :

Vous devez modifier le fichier de configuration de Dovecot :

Assurez-vous que l'option est décommentée :

Ensuite, nous activerons les protocoles sous la ligne !include_try /usr/share/dovecot/protocols.d/*.protocol . Si vous le souhaitez, vous pouvez également ajouter pop3:

Pour vous assurer qu'il n'y a pas d'erreurs, comparez-le avec ce fichier :

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Ensuite, modifiez le fichier de configuration de messagerie :

Recherchez la ligne mail_location . Vous devez la décommenter et ajouter ce paramètre :

Après cela, recherchez la ligne mail_privileged_group . À nouveau, décommentez-la et ajoutez le paramètre mail :

Pour éliminer toute possibilité d'erreur, comparez-le avec ce fichier :

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Vérification des permissions

Pour vérifier les permissions, utilisez cette commande :

Assurez-vous que vos permissions s'affichent comme suit :

Vous pouvez créer un dossier pour chaque domaine. Tous ces dossiers seront enregistrés dans la table MySQL :

Créez un utilisateur et un groupe vmail en utilisant un identifiant de 5000:

Ensuite, vous devez changer le propriétaire du dossier /var/mail à l'utilisateur vmail :

Maintenant, modifiez le fichier /etc/dovecot/conf.d/10-auth.conf :

Ajoutez la ligne suivante après avoir décommenté l'authentification en texte brut :

Utilisez ceci pour modifier le paramètre auth_mechanisms :

Maintenant, commentez cette ligne :

Pour activer l'autorisation MySQL, vous devez décommenter la ligne suivante :

Pour détecter et corriger les erreurs, utilisez le fichier suivant :

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

Créer un fichier /etc/dovecot/dovecot-sql.conf.ext avec vos informations vous permettra de vous authentifier :

Saisissez ce code dans le fichier :

Nous utiliserons nos informations MySQL personnalisées pour modifier le fichier /etc/dovecot/dovecot-sql.conf.ext :

Définissez MySQL comme paramètre après avoir décommenté le paramètre driver comme ceci :

Vous pouvez introduire vos informations spécifiques à MySQL en décommentant la ligne connect :

Maintenant, vous devez décommenter la ligne default_pass_scheme et la remplacer par SHA-512:

Ajoutez les informations suivantes après avoir décommenté password_query:

Pour détecter les erreurs, utilisez ce fichier pour comparer :

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Ensuite, vous pouvez changer le propriétaire et le groupe du dossier dovecot pour l'utilisateur vmail :

L'étape suivante consiste à modifier le fichier /etc/dovecot/conf.d/10-master.conf . Vous devez être particulièrement prudent ici car différents paramètres seront modifiés :

Utilisez le code suivant pour changer le paramètre unix_listener en service_auth:

Ensuite, vous devez éditer service auth-worker comme ceci :

Détectez les erreurs en comparant avec ce fichier :

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

La prochaine étape consiste à modifier le fichier de configuration SSL de Dovecot. Si vous prévoyez d'utiliser la configuration par défaut, vous pouvez ignorer cette étape et passer à la section suivante :

Ensuite, modifiez le ssl sur required comme ceci :

Nous allons également modifier le chemin pour ssl_cert et ssl_key:

Redémarrez Dovecot :

Assurez-vous de vérifier que le port 993 est ouvert. Si vous avez activé pop3, vérifiez également le port 995:

Si vous avez terminé les étapes jusqu'à présent, félicitations ! Vous avez configuré votre serveur de messagerie avec succès. Pour vous assurer que vous avez correctement effectué toutes les étapes, vous pouvez tester votre compte à l'aide d'un client de messagerie comme ceci :

Le port 993 est utilisé pour l'IMAP sécurisé et le port 587/le port 25 pour le SMTP.

Étape 5 : Configuration de SpamAssassin

Nous sommes enfin arrivés à la dernière section du tutoriel où nous allons configurer SpamAssassin. Nous allons commencer par installer SpamAssassin :

Créez un utilisateur pour SpamAssassin comme ceci :

Vous devez ouvrir et modifier les paramètres de configuration pour pouvoir configurer SpamAssassin :

Maintenant que vous y êtes, vous devez modifier le paramètre ENABLED pour activer le démon SpamAssassin :

Modifiez les paramètres home et options avec ce code :

Utilisez cette ligne pour spécifier le paramètre PID_File :

Ensuite, utilisez cette commande pour indiquer que les règles de SpamAssassin seront mises à jour automatiquement :

Vérifiez s'il y a des erreurs en comparant avec le document suivant :

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Si vous souhaitez configurer les règles anti-spam, vous devez ouvrir le fichier /etc/spamassassin/local.cf à nouveau :

Le fonctionnement de SpamAssassin consiste à attribuer une note à chaque e-mail reçu par l'utilisateur. Il évalue les scores des e-mails et si le score est supérieur à 5.0 lors de son contrôle anti-spam, l'e-mail est marqué comme spam. Voici les paramètres que vous pouvez utiliser pour configurer ces règles anti-spam :

Une fois les règles anti-spam définies, vous devez indiquer à Postfix que chaque e-mail doit être vérifié avec SpamAssassin. À cette fin, nous devons modifier le /etc/postfix/master.cf fichier :

Trouvez la ligne suivante et ajoutez le spamassassin filtre :

Vous pouvez maintenant ajouter ces paramètres :

Enfin, démarrez SpamAssassin et redémarrez Postfix pour appliquer les modifications. Lors du redémarrage, Postfix commencera à vérifier le spam dans les e-mails :

Et voilà ! Vous avez configuré avec succès votre serveur de messagerie avec Postfix et Dovecot. Vous avez également effectué l'authentification MySQL et configuré le filtrage du spam avec SpamAssassin.

Conclusion

Ce tutoriel décrit les étapes à suivre pour configurer votre serveur de messagerie avec les outils mentionnés ci-dessus. Il peut servir de guide complet pour configurer votre serveur de messagerie de manière indépendante. Si vous souhaitez utiliser la fonctionnalité de serveur SMTP de Google, suivez ce tutoriel.

Bonne informatique !

author

Pranay Kapgate

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.