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