GNU/Linux >> Tutoriels Linux >  >> Cent OS

Héberger plusieurs domaines de messagerie dans PostfixAdmin sur CentOS/RHEL

Ce didacticiel vous montrera comment configurer plusieurs domaines de messagerie (hébergement virtuel) sur le serveur CentOS/RHEL avec PostfixAdmin, qui est une interface Web open source permettant de configurer et de gérer un serveur de messagerie basé sur Postfix pour de nombreux domaines et utilisateurs.

Prérequis

Pour suivre ce tutoriel, il faut que

  • Vous avez configuré PostfixAdmin avec un domaine de messagerie.
  • Vous avez suivi la partie 4 pour configurer SPF et DKIM.
  • Vous avez installé Roundcube Webmail.

Une fois les conditions ci-dessus remplies, suivez les instructions ci-dessous.

Ce que vous devez faire

Si vous souhaitez héberger plusieurs domaines de messagerie, vous devez

  • Ajouter un nouveau domaine de messagerie et un nouvel utilisateur dans le panneau Web PostfixAdmin.
  • Créez un enregistrement MX, A et SPF pour le nouveau domaine de messagerie.
  • Configurez la signature DKIM pour le nouveau domaine.
  • Créer un enregistrement DMARC pour le nouveau domaine.
  • Configurer RoundCube Webmail, Postfix et Dovecot pour plusieurs domaines
La vérification DNS inversée est utilisée pour vérifier si l'adresse IP de l'expéditeur correspond au nom d'hôte HELO. Vous n'avez pas besoin d'ajouter un autre enregistrement PTR lors de l'ajout d'un nouveau domaine de messagerie.

Étape 1 :Ajouter des domaines supplémentaires dans le panneau d'administration de Postfix

Connectez-vous au panneau PostfixAdmin avec le compte postmaster. (https://postfixadmin.your-domain.com/ ) Ensuite, allez dans Domain List -> New Domain pour ajouter un nouveau domaine.

Notez que le nouveau domaine doit avoir un enregistrement DNS A, sinon PostfixAdmin lancerait le message d'erreur suivant. Vous pouvez vérifier l'état de propagation DNS sur dnsmap.io.

Invalid domain domain2.com, and/or not discoverable in DNS

Ensuite, ajoutez un utilisateur sous le nouveau domaine.

Étape 2 :Création d'un enregistrement MX, A et SPF pour le nouveau domaine de messagerie

Dans votre gestionnaire DNS, ajoutez un enregistrement MX pour le nouveau domaine comme ci-dessous.

Record Type    Name      Value

MX             @         mail.domain2.com

L'enregistrement A pointe vers l'adresse IP de votre serveur de messagerie.

Record Type    Name     Value

A              mail     IP-address-of-mail-server

Si votre serveur utilise une adresse IPv6, assurez-vous d'ajouter un enregistrement AAAA.

Créez ensuite un enregistrement SPF pour permettre à l'hôte MX d'envoyer des e-mails pour le nouveau domaine de messagerie.

Record Type    Name      Value

TXT            @         v=spf1 mx ~all

Étape 3 :Configurer la signature DKIM pour le nouveau domaine

Nous avons installé et configuré OpenDKIM pour un seul domaine dans la partie 4 de cette série de tutoriels. Nous devons maintenant dire à OpenDKIM de signer chaque e-mail sortant pour le nouveau domaine de messagerie.

Modifiez le fichier de table de signature OpenDKIM.

sudo nano /etc/opendkim/SigningTable

Ajoutez le deuxième domaine comme ci-dessous.

*@domain1.com       20200308._domainkey.domain1.com
*@domain2.com       20200308._domainkey.domain2.com

Modifiez le fichier de table de clés.

sudo nano /etc/opendkim/KeyTable

Ajoutez le deuxième domaine comme ci-dessous.

20200308._domainkey.domain1.com     domain1.com:20200308:/etc/opendkim/keys/domain1.com/20200308.private
20200308._domainkey.domain2.com     domain2.com:20200308:/etc/opendkim/keys/domain2.com/20200308.private

Modifiez le fichier des hôtes de confiance.

sudo nano /etc/opendkim/TrustedHosts

Ajoutez le deuxième domaine comme ci-dessous.

127.0.0.1
localhost

*.domain1.com
*.domain2.com

Ensuite, nous devons générer une paire de clés privée/publique pour le deuxième domaine. Créez un dossier séparé pour le deuxième domaine.

sudo mkdir /etc/opendkim/keys/domain2.com

Générer des clés en utilisant opendkim-genkey outil.

sudo opendkim-genkey -b 2048 -d domain2.com -D /etc/opendkim/keys/domain2.com -s 20200308 -v

La commande ci-dessus créera des clés de 2048 bits. -d (domain) spécifie le domaine. -D (directory) spécifie le répertoire où les clés seront stockées et nous utilisons 20200308 (date du jour) comme selector (-s) . Une fois la commande exécutée, la clé privée sera écrite dans 20200308.private fichier et la clé publique seront écrites dans 20200308.txt fichier.

Faire opendkim en tant que propriétaire de la clé privée.

sudo chown opendkim:opendkim /etc/opendkim/keys/domain2.com/20200308.private

Afficher la clé publique

sudo cat /etc/opendkim/keys/domain2.com/20200308.txt

La chaîne après le p paramètre est la clé publique.

Dans votre gestionnaire DNS, créez un enregistrement TXT pour le deuxième domaine. Entrez 20200308._domainkey dans le champ Nom. Copiez tout entre parenthèses et collez dans le champ de valeur. Supprimez tous les guillemets doubles. (Vous pouvez d'abord le coller dans un éditeur de texte, supprimer tous les guillemets doubles, puis le copier dans votre gestionnaire DNS. Votre gestionnaire DNS peut vous demander de supprimer d'autres caractères non valides, tels que le retour chariot.)

Après avoir enregistré vos modifications. Vérifiez l'enregistrement TXT avec cette commande.

dig TXT 20203008._domainkey.domain2.com

Vous pouvez maintenant exécuter la commande suivante pour tester si votre enregistrement DNS DKIM est correct.

sudo opendkim-testkey -d domain2.com -s 20200308 -vvv

Si tout est OK, vous verrez

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20203008._domainkey.domain2.com'
opendkim-testkey: key secure
opendkim-testkey: key OK

Si vous voyez "Clé non sécurisée", ne paniquez pas. C'est parce que DNSSEC n'est pas activé sur votre nom de domaine. DNSSEC est une norme de sécurité pour les requêtes DNS sécurisées. La plupart des noms de domaine n'ont pas activé DNSSEC. Vous pouvez continuer à suivre ce guide.

Redémarrez OpenDKIM afin qu'il commence à signer les e-mails pour le deuxième domaine.

sudo systemctl restart opendkim

Étape 4 :Création d'un enregistrement DMARC pour le nouveau domaine

Pour créer un enregistrement DMARC, accédez à votre gestionnaire DNS et ajoutez un TXT record. Dans le champ du nom, saisissez _dmarc . Dans le champ de valeur, entrez ce qui suit. Notez que vous devez créer le [email protected] adresse e-mail.

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

L'enregistrement DMARC ci-dessus est un point de départ sûr. Si vous souhaitez lire une explication détaillée de DMARC, veuillez consulter l'article suivant.

  • Création d'un enregistrement DMARC pour protéger votre nom de domaine contre l'usurpation d'e-mails

Étape 5 :Configurer RoundCube, Postfix et Dovecot pour plusieurs domaines

Je suppose que vous avez installé Roundcube Webmail pour le premier domaine de messagerie.

Il est logique de laisser les utilisateurs du premier domaine utiliser mail.domain1.com et les utilisateurs du deuxième domaine utilisent mail.domain2.com lors de l'utilisation de la messagerie Web RoundCube. Je vais vous montrer comment le faire avec Apache et Nginx.

Apache

Si Roundcube est servi par le serveur Web Apache, créez un hôte virtuel pour le deuxième domaine.

sudo nano /etc/httpd/conf.d/mail.domain2.com.conf

Mettez le texte suivant dans le fichier.

<VirtualHost *:80>
  ServerName mail.domain2.com
  DocumentRoot /var/www/roundcube/

  ErrorLog /var/log/httpd/mail.domain2.com_error.log
  CustomLog /var/log/httpd/mail.domain2.com_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Enregistrez et fermez le fichier. Rechargez Apache pour que les modifications prennent effet.

sudo systemctl reload httpd

Nginx

Si Roundcube est servi par le serveur Web Nginx, créez un hôte virtuel pour le deuxième domaine.

sudo nano /etc/nginx/conf.d/mail.domain2.com.conf

Mettez le texte suivant dans le fichier.

server {
  listen 80;
  server_name mail.domain2.com;
  root /var/www/roundcube/;
  index index.php index.html index.htm;

  error_log /var/log/nginx/roundcube.error;
  access_log /var/log/nginx/roundcube.access;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
   try_files $uri =404;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /.well-known/acme-challenge {
    allow all;
  }
 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
    deny all;
  }
  location ~ ^/(bin|SQL)/ {
    deny all;
  }
 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que les modifications prennent effet.

sudo systemctl reload nginx

Obtention du certificat TLS

Utilisez maintenant Certbot pour obtenir un certificat TLS pour tous vos domaines de messagerie, de sorte que vous aurez un seul certificat TLS avec plusieurs noms de domaine dessus et que les clients de messagerie ne lanceront pas d'avertissements de sécurité.

Apache

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Nginx

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Notez que dans la commande ci-dessus, nous avons spécifié le nom du certificat en utilisant le premier domaine de messagerie, qui sera utilisé dans le chemin du fichier, vous n'avez donc pas à modifier le chemin du fichier dans le fichier de configuration Postfix ou Dovecot.

Lorsqu'il vous demande si vous souhaitez mettre à jour le certificat existant pour inclure le nouveau domaine, répondez U et appuyez sur Entrée.

Vous devriez maintenant voir le message suivant, qui indique que le certificat multi-domaine a été obtenu avec succès.

Rechargez Apache ou Nginx pour récupérer le nouveau certificat.

sudo systemctl reload httpd
sudo systemctl reload nginx

Vous devriez maintenant pouvoir utiliser différents domaines pour accéder au webmail RoundCube. De plus, vous devez recharger le serveur SMTP Postfix et le serveur IMAP Dovecot afin de leur permettre de récupérer le nouveau certificat. C'est tout ce que vous avez à faire pour que Postfix et Dovecot servent plusieurs domaines.

sudo systemctl reload postfix dovecot

Utilisation du client de messagerie sur votre ordinateur ou appareil mobile

Lancez votre client de messagerie de bureau tel que Mozilla Thunderbird et ajoutez un compte de messagerie du deuxième domaine.

  • Dans la section serveur entrant, sélectionnez le protocole IMAP, entrez mail.domain2.com comme nom de serveur, choisissez le port 143 et STARTTLS. Choisissez normal password comme méthode d'authentification.
  • Dans la section sortant, sélectionnez le protocole SMTP, entrez mail.domain2.com comme nom de serveur, choisissez le port 587 et STARTTLS. Choisissez normal password comme méthode d'authentification.

Astuce :Vous pouvez également utiliser le port 993 avec le cryptage SSL/TLS pour IMAP et le port 465 avec le cryptage SSL/TLS pour SMTP. Vous ne devriez pas utilisez le port 25 comme port SMTP pour envoyer les e-mails sortants.

Bien que le serveur SMTP de Postfix et le serveur IMAP Dovecot utilisent le nom d'hôte du premier domaine de messagerie (mail.domain1.com) lorsqu'ils communiquent avec d'autres, ils utilisent maintenant un certificat multi-domaine, de sorte que le client de messagerie n'affichera pas les avertissements de certificat.

Vérification SPF et DKIM

Vous pouvez désormais utiliser votre client de messagerie de bureau ou votre client de messagerie Web pour envoyer un e-mail de test à [email protected] et obtenez un rapport d'authentification de messagerie gratuit. Voici le rapport que j'ai reçu de port25.com

N'oubliez pas de tester votre score d'e-mail sur https://www.mail-tester.com et également de tester le placement des e-mails avec GlockApps.

Si la vérification DKIM échoue, vous pouvez vous rendre sur https://www.dmarcanalyzer.com/dkim/dkim-check/ pour voir s'il y a des erreurs avec votre enregistrement DKIM.

Que se passe-t-il si vos e-mails sont toujours marqués comme spam ?

J'ai d'autres astuces pour vous dans cet article : 7 astuces efficaces pour éviter que vos e-mails ne soient marqués comme spam. Bien que cela demande du temps et des efforts, vos e-mails finiront par être placés dans la boîte de réception après avoir appliqué ces conseils.

rDNS pour plusieurs domaines de messagerie ?

Le DNS inverse (rDNS), également appelé enregistrement PTR, est utilisé pour vérifier si l'adresse IP de l'expéditeur correspond au nom d'hôte HELO. Vous n'avez pas besoin d'ajouter un autre enregistrement PTR lors de l'ajout d'un nouveau domaine de messagerie. Votre rDNS doit être défini sur un seul nom d'hôte, c'est-à-dire le nom d'hôte défini dans Postfix, qui peut être affiché avec la commande suivante.

postconf myhostname

rDNS est un enregistrement pour les adresses IP. Ce n'est pas un enregistrement de nom de domaine. Si vous n'avez qu'une seule adresse IP, vous n'avez besoin que d'un seul enregistrement rDNS pointant vers un nom d'hôte. La vérification DNS inversée ne vérifie pas d'où From: domaine est dans votre e-mail, tant que votre adresse IP a un enregistrement rDNS et que le nom d'hôte peut revenir à la même adresse IP, vous pouvez passer la vérification DNS inversée.

De plus, vous n'avez pas besoin de modifier les paramètres suivants dans Postfix lorsque vous hébergez plusieurs domaines sur un même serveur.

  • monnom d'hôte
  • monorigine
  • madestination

Services de messagerie hébergés tels que G Suite et Microsoft Exchange Online utilisent tous un nom d'hôte pour qu'un serveur envoie un e-mail à leurs clients. Les e-mails envoyés par les utilisateurs de G Suite utilisent tous google.com dans le nom d'hôte et les e-mails envoyés par les utilisateurs de Microsoft Exchange Online utilisent tous outlook.com dans le nom d'hôte. Cela est également vrai pour d'autres fournisseurs de services de messagerie tels que Mailchimp, SendinBlue, SendPluse, etc. Ils utilisent tous un nom d'hôte pour un seul serveur et une adresse IP n'a qu'un seul enregistrement rDNS.


Cent OS
  1. Comment configurer le serveur DNS sur CentOS 5 / RHEL 5

  2. Installez EasyRSA (autorité de certification)-CA sur CentOS / RHEL 8

  3. Comment héberger des e-mails sur un alias de domaine

  4. Créer des domaines supplémentaires dans CentOS Web Panel

  5. Comment configurer un sous-domaine ou héberger plusieurs domaines à l'aide de nginx sur le serveur Linux

Comment installer le serveur de messagerie Zimbra sur CentOS 8 / RHEL 8

Comment héberger plusieurs sites dans une seule installation Wordpress sur CentOS 7

Héberger plusieurs domaines de messagerie dans PostfixAdmin sur CentOS/RHEL

Partie 3 :PostfixAdmin - Créer des boîtes aux lettres virtuelles sur le serveur de messagerie CentOS 8/RHEL 8

Comment installer le serveur de messagerie avec PostfixAdmin sur CentOS 7

Addon Domain cPanel :comment héberger des domaines supplémentaires