Yunohost comme serveur de mails – Billet N°2

Ce billet fait suite au billet Yunohost comme serveur de mails - Billet N°1 Dans la todo, il y avait l'envoi à un mail de GAFAM et l'ajout de DKIM, DMarc, SPF...

DKIM, DMarc, SPF

Pour ça, je citerai le billet Délivrabilité : SPF, DKIM, DMARC, … ce qu'il faut savoir sur l'authentification de vos emails !

DKIM = DomainKeys Identified Mail DKIM tente d'associer un nom de domaine à un message en y aposant une signature numérique. La vérification de la signature se fait via une clef cryptée située dans un enregistrement DNS. Ce faisant, DKIM permet de vérifier si un message a été altéré durant son transport entre les différents serveurs SMTP et de garantir que le contenu arrivera intact jusqu'au destinataire.

SPF = Sender Policy FrameworkEnregistrement SPF sur son serveur DNS. Permet de vérifier / valider que les IP associées des serveurs ont le droit d'envoyer des mails pour ce nom de domaine

DMARC = Domain-based Message Authentication, Reporting and ConformanceDMARC joue sur la synthèse entre SPF et DKIM, pas en les remplaçant, mais en les unissant et en les rendant plus intelligents.

Dans Yunohost

Yunohost dispose donc d'un serveur de mail (cf Yunohost comme serveur de mails - Billet N°1) et DKIM et SPF sont déjà préconfigurés, disponibles, il n'y a quasiment rien à faire. Il faut récupérer les informations de configuration. Pour ce faire, il faut :

- aller dans la partie interface d'administration de Yunohost https://mondomaine.tld/yunohost/admin/
- Dans le menu DOMAIN > mondomaine.tld > Voir la Configuration DNS

Là il y a les informations pour le DKIM, DMarc, SPF

@ 3600 IN TXT "v=spf1 a mx ip4:12.345.678.123 -all"
mail._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p= 50917a15d4930834a9dd3b43a43ee131190e12674eab791a354dea0afb4475b1"
_dmarc 3600 IN TXT "v=DMARC1; p=none"

Ces informations sont à saisir dans la configuration de l'entrée DNS chez son prestataire (Gandi par exemple) sous la forme :

Nom du champ, Type du champ, Valeur
@ TXT "v=spf1 a mx i … .159.188 -all"
mail._domainkey TXT "v=DKIM1; k=rsa; p= 50917a15d4930834"
_dmarc TXT "v=DMARC1; p=none"

Et on attend de nouveau la propagation du DNS.

Pour vérifier tout ça

Différentes façons de faire et de valider que la configuration est correcte.

Test en ligne

On va sur le site

Champ - valeur :
Domain name : mondomaine.tld
DKIM Selector : mail._domainkey

Et on a comme résultat :

SPF check

1 SPF record found for the domain mondomaine.tld :
"v=spf1 a mx ip4:12.345.678.123 -all"

DKIM check

DNS record for mail._domainkey.mondomaine.tld:
"v=DKIM1; k=rsa; p=50917a15d4930834a9dd3b43a43ee131190e12674eab791a354dea0afb4475b1"
Key length : 1024

On a donc bien la bonne configuration

Thunderbird : on peut ajouter une extension comme DKIM verifier

qui permet d'ajouter un champ dans l'entête d'un mail reçu et de vérifier le DKIM.

Envoi du mail sur un compte Gmail

Et on regarde alors dans le détail du mail (option Afficher l'original), on a alors

SPF : NEUTRAL avec IP 12.345.678.123 En savoir plus
DKIM : 'PASS' avec le domaine mondomaine.tld En savoir plus
DMARC : 'PASS' En savoir plus

Et quand on clique sur bouton le copier-coller, on a le détail :

Received-SPF: neutral (google.com: 12.345.678.123 is neither permitted nor denied by best guess record for domain of genma@mondomaine.tld) client-ip=12.345.678.123;
Authentication-Results: mx.google.com;
dkim=pass header.i=@mondomaine.tld header.s=mail header.b=mbt7mELs;
spf=neutral (google.com: 12.345.678.123 is neither permitted nor denied by best guess record for domain of genma@mondomaine.tld) smtp.mailfrom=genma@mondomaine.tld;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mondomaine.tld
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mondomaine.tld; s=mail; t=1535027249; h=from:from:sender:reply-to:subject:subject:date:date:

Soit une autre façon de valider que la configuration est correcte.
Les mails reçus ne doivent normalement pas être reconnus / tombés dans le SPAM par défaut.