05 Jui2016
Configurer l'authentification SPF, DKIM et DMARC pour un domaine
Bonjour à tous,
SPF, DKIM et DMARC sont des normes d'authentification qui vont vérifier que le domaine de messagerie utilisé est bien valide et légitime à envoyer des mails, de telle sorte qu'il ne soit pas considéré comme SPAM.
Ces normes ont été élaborées pour fonctionner ensemble, chacune ayant une spécialité et un comportement propre à elle.
Chaque norme intervient comme un poids qui done de la légitimité au mail et diminue sa réputation de SPAM. La mise en place d'une norme est bien, mais pas assez et le mail n'aura pas la meilleur réputation souhaité si au moins ces 3 normes ne sont pas implémentées.
Envoyer un mail c'est bien, facile et pas très sorcier, mais s'assurer qu'il n'arrivera pas dans les mails indésirables ou dans le dossier SPAM du destinataire, c'est mieux.
SPF, DKIM et DMARC sont des normes d'authentification qui vont vérifier que le domaine de messagerie utilisé est bien valide et légitime à envoyer des mails, de telle sorte qu'il ne soit pas considéré comme SPAM.
Ces normes ont été élaborées pour fonctionner ensemble, chacune ayant une spécialité et un comportement propre à elle.
Chaque norme intervient comme un poids qui done de la légitimité au mail et diminue sa réputation de SPAM. La mise en place d'une norme est bien, mais pas assez et le mail n'aura pas la meilleur réputation souhaité si au moins ces 3 normes ne sont pas implémentées.
Envoyer un mail c'est bien, facile et pas très sorcier, mais s'assurer qu'il n'arrivera pas dans les mails indésirables ou dans le dossier SPAM du destinataire, c'est mieux.
C'est l'objectif de cet article, vous montrer ces 3 normes et comment les implémenter.
Ci-dessous une synthèse des principes et définitions afin de vous faciliter la compréhension au sein de cet article.
SPF :

https://blog.zimbra.com/2015/04/email-protection-best-practices-spf-dkim-dmarc/
Sender Policy Framework (SPF) est une norme de vérification du nom de domaine de l'expéditeur d'un courrier électronique, normalisée dans la RFC 7208 (section 3.1). L'adoption de cette norme est de nature à réduire le spam.
https://fr.wikipedia.org/wiki/Sender_Policy_Framework
DKIM :

https://blog.zimbra.com/2015/04/email-protection-best-practices-spf-dkim-dmarc/
DKIM (DomainKeys Identified Mail) est une norme d'authentification fiable du nom de domaine de l'expéditeur d'un courrier électronique. Elle constitue une protection efficace contre le spam et l'hameçonnage.
https://fr.wikipedia.org/wiki/DomainKeys_Identified_Mail
DMARC :

https://blog.zimbra.com/2015/04/email-protection-best-practices-spf-dkim-dmarc/
DMARC, qui vient de l'anglais Domain-based Message Authentication, Reporting and Conformance, est une spécification technique créée par un groupe d'organisations qui souhaite aider à réduire l'usage abusif des e-mails, tels que le spam, le phishing, en proposant une solution de déploiement et de surveillance des problèmes liés à l'authentification des e-mails.
DMARC s'appuie sur l 'existance de SPF et DKIM pour fonctionner.
https://fr.wikipedia.org/wiki/DMARC
Mise en place
Préparation DKIM
La première étape consiste à générer la paire de cléf DKIM, publique et privée.
Pour cela, se rendre sur le site suivant : http://dkimcore.org/tools/
Dans le champ Domain name, saisir le nom de domaine avec lequel vous voulez envoyer des mails, puis cliquer sur Generate :

- Le Token Selector
- C'est le point d'entrée DNS. C'est gràce à lui que la passerelle SMTP va établir le lien entre l'entrée DNS et les informations de cryptage.
- La Private Key
- C'est ce qui va permettre de signer le mails sortant.
- La Public Key
- C'est ce qui va permettre de lire la signature du mail qui a été signé.
Configuration DNS
Une fois que la génération de la configuration DKIM est réalisée, il va falloir créer des enregistrements DNS de type TXT comme suivant :
Utilisation | Domaine | Type | Valeur |
---|---|---|---|
SPF | <DOMAIN> | TXT | "v=SPF1ip4:<EXTERNAL_IPv4> ip6:<EXTERNAL_IPv6>ptr -all" |
DKIM | <TOKEN>._domainkey.<DOMAIN> | TXT | "v=DKIM1; p=<DKIM_PUBLIC_KEY>" |
DMARC | _dmarc.<DOMAIN> | TXT | "v=DMARC1; p=none" |
Exemple avec le domaine de messagerie icore.fr :
Utilisation | Domaine | Type | Valeur |
---|---|---|---|
SPF | icore.fr | TXT | "v=SPF1 ip4:78.247.252.171 ip6:2a01:e34:ef7f:cab0:82ee:73ff:fe63:4968 ptr -all" |
DKIM | 14xxxxxxxx.icore._domainkey.icore.fr | TXT | "v=DKIM1; p=MIGfMA0GCSqGS..." |
DMARC | _dmarc.icore.fr | TXT | "v=DMARC1; p=none" |
Configuration DKIM sur la passerelle SMTP
A ce stade, SPF et DMARC sont fonctionnels. On voit donc que pour s'assurer un minimum de légitimité, seulement 2 enregistrements TXT sont nécessaires et leur configuration est relativement simple et rapides à mettre en place.
Maintenant il faut terminer la configuration de DKIM. Le principe est de dire à la passerelle SMTP de signer tous les mails sortant avec la cléf privée généréer précédemment.
Pour cela, j'utilise ici la fonction Relay SMTP de mon Sophos UTM9. Je vais donc dans
Email protection -> SMTP -> Advanced

Puis dans la section DKIM. Ici, il faut coller la cléf privée, balises inclues, le Token Selector dans le champ Key selector et enfin le domaine utilisé :

On clique sur Apply et c'est tout !
Phase de tests
Pour tester et voir les détails, j'utilise le site https://www.mail-tester.com/. Ce site permet de tester la réputation d'un mail en fonction de son entête.
Ici j'utiliserai mon relay SMTP (RELAYSMTP) comme passerelle car c'est lui qui est configuré pour DKIM.
Les étapes sont :
- Connexion au site Mail-Tester

- Récupération de l'adresse mail destinataire de test
- Envoie d'un mail simple en PowerShell (ou autre, chacun son truc du moment que çà fait le boulot.)
Send-MailMessage -To Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. -from Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. -SmtpServer RELAYSMTP -Subject "TEST" -Body "Test de message" -BodyAsHtml
- Cliquer ensuite sur "Vérifier mon score"
Analyse des résultats
On arrive sur la page suivante :

On arrive à un score assez intéressant. La valeur -1,3 vient du fait que l'on envoie un mail de test qui sert à rien et qui peut être considéré par certains systèmes, comme Pyzor :

Détails SPF

Détails Sender ID

Détails DKIM

Détails DMARC

Conclusions
Gràce à l'implémentation de ces 3 systèmes d'authentification, on s'apperçoit qu'il est assez facile pour une entreprise de rendre légitime un minimum l'envoie de ses mails et d'avoir une assez bonne réputation lors de la traversée d'internet.
L'intéret est aussi pour les particuliers qui ont un serveur mail chez eux et qui utilisent leur adresse IP publique fournie par leur ISP. Du coup, si votre système hébergé chez vous doit vous envoyer des mails assez souvent et que vous ou un autre les reçois dans les SPAM, la mise en place de ces 3 méthodes résoud la majorité des problèmes. J'encourage vivement chacun ayant un domaine acheté et qui est utilisé pour de la messagerie d'impplémenter SPF, DKIM et DMARC.
Comments powered by CComment