Serveur mail et webmail – part. 6 – Migration un domaine

Après avoir configuré et testé mon serveur de messagerie, je vais migrer les boites d’un domaine actuellement chez Gandi vers ce serveur.

Le paramétrage décrit dans cet article ne fonctionne que dans la configuration décrite dans https://www.framboisier.com/blog/2023/08/29/serveur-mail-et-webmail-part-1-preparation/ et suivants

Préparation – abaissons le TTL des enregistrements DNS

Chaque enregistrement DNS porte un TTL (Time To Live), c’est la durée de vie d’un enregistrement. Une fois expirée un résolveur doit redemander la valeur au serveur autoritaire. Là, nous allons les positionner à une durée faible pour qu’internet prenne en compte rapidement nos changements. Par défaut, chez Gandi il est à 10800s soit 3h. Nous positionnons le minimum (300s chez Gandi) pour les enregistrements que nous allons mettre à jour lors de la migration (@ MX, @TXT, imap CNAME, pop CNAME, smtp CNAME, webmail CNAME).

Gardons au chaud ses valeurs afin de pouvoir faire retour arrière en cas de soucis.

Préparation – Postfixadmin

Après nous être authentifié, Listes des domaines -> nouveau domaine

Puis liste des virtuels -> listes des virtuels, positionnons l’alias abuse de notre nouveau nom vers l’ancien et créons nos boites.

A noter que postfixadmin supporte un alias ‘catch all’, en entrant une étoile. Ainsi il est possible d’avoir autant d’alias que l’on souhaite sans devoir les déclarer.

Préparation – DKIM

Éditons la table de signature

root@klopmail:~# vi /etc/opendkim/signing.table

Ajoutons les deux lignes

*@framboisier.net       default._domainkey.framboisier.net
*@*.framboisier.net     default._domainkey.framboisier.net

Editons la tables des clés

root@klopmail:~# vi /etc/opendkim/key.table

Ajoutons la ligne :

default._domainkey.framboisier.net     framboisier.net:default:/etc/opendkim/keys/framboisier.net/default.private

Et enfin

root@klopmail:~# vi /etc/opendkim/trusted.hosts

Ajoutons la ligne (qui commence par un point)

.framboisier.net

Un lien symbolique pour que notre clé soit aussi utilisable pour notre nouveau domaine.

root@klopmail:~# ln -s /etc/opendkim/keys/dync.fr /etc/opendkim/keys/framboisier.net

redémarrons le tout

root@klopmail:~# systemctl restart postfix dovecot opendkim

A ce stade nous n’avons fait que la préparation et il est temps d’archiver nos anciens messages.

Migration – DNS

Faisons pointer le MX vers klopmail.dync.fr, s’il y a plusieurs enregistrement il faut les effacer et n’en garder qu’un seul.

Chez Gandi faisons pointer les entrées smtp, imap, pop et webmail vers notre serveur. (ne pas oublier le . à la fin des CNAME)

Migration – nouveau certificat

Le certificat de notre serveur doit contenir les nouveaux SAN.

root@klopmail:~# vi /etc/apache2/sites-available/010-klopmail.conf

et ajoutons les entrées imap, pop, smtp et webmail à la directive MDomain et comme noms de notre virtual hosts.

Vérifions et redémarrons deux fois apache

root@klopmail:~# apachectl configtest
Syntax OK
root@klopmail:~# apachectl restart
root@klopmail:~# apachectl restart

En se connectant à notre webmail (avec Firefox), puis un clic sur le cadenas – connexion sécurisée – plus d’information – afficher le certificat

Nous voyons dans les « noms alternatifs du sujet » (SAN) nos nouvelles entrées. Postfix et Dovecot doivent être redémarrés pour prendre en compte ce nouveau certificat.

root@klopmail:~# systemctl restart dovecot postfix

Pour vérifier, nous regardons la date d’émission du certificat présenté par postfix

root@klopmail:~# openssl s_client -connect klopmail.dync.fr:465 -showcerts
CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = klopmail.dync.fr
verify return:1
---
Certificate chain
 0 s:CN = klopmail.dync.fr
   i:C = US, O = Let's Encrypt, CN = R3
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Sep 18 14:05:49 2023 GMT; NotAfter: Dec 17 14:05:48 2023 GMT
-----BEGIN CERTIFICATE-----
MIIF2jCCBMKgAwIBAgISBMimc378WrRsqyQp0BGcUNckMA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yMzA5MTgxNDA1NDlaFw0yMzEyMTcxNDA1NDhaMBsxGTAXBgNVBAMT
EGtsb3BtYWlsLmR5bmMuZnIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
.....

Migration DNS – SPF, DKIM DMARC

S’il existe, on remplace l’enregistre SPF, sinon on le crée avec la valeur : v=spf1 mx ~all

De même on crée ou remplace l’enregistrement _dmarc avec le contenu « v=DMARC1; p=reject; pct=100; rua=mailto:abuse@framboisier.net; ruf=mailto:abuse@framboisier.net; fo=1 »

Enfin on créé un CNAME pour notre clé DKIM default._domainkey pointant vers default._domainkey.dync.fr.

Contrôle d’emetteur

Mettons à jour notre liste de domaine d’émetteur interdit depuis internet

root@klopmail:~# vi /etc/postfix/reject-local

On ajoute la ligne

framboisier.net DISCARD

Puis, nous rechargeons la table :

root@klopmail:~# postmap /etc/postfix/reject-local

Test

Il est bon de faire un test avec : https://www.mail-tester.com/

Une fois la configuration stabilisée, il est opportun de remonter les TTL des enregistrements à des valeurs de quelques heures.

Dans l’article suivant, nous allons lutter contre les spams avec rspamd

Laisser un commentaire

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