Nous Contacter: +(33)(0)3 10 94 10 00 - contact@opened-concept.com

Les enregistrements SPF & les signatures DKIM.

DKIM et SPF sont deux techniques à ne pas négliger dans la mise en place de votre services de messagerie électronique.

SPF & DKIM, des avantages à ne pas négliger.

L'enregistrement SPF de votre zone DNS ainsi que les signatures DKIM permettent d'authentifier vos serveurs d'envoi d'emails auprès de vos destinataires.
Bien qu'optionnels, ceux-ci sont désormais de plus en plus utilisés.

SPF permet de communiquer au services de messagerie électronique des destinataires de vos courriers la liste des serveurs habilités à expédier vos mails

DKIM permet de "signer" une partie de l'entête de vos mails afin d'indiquer à vos correspondants que le message est bien valide.

Ces deux notions, d'abord utilisées dans la lutte anti-spam, sont bien trop souvent négligées

L'enregistrement SPF

SPF permet d'indiquer dans votre zone DNS, quels sont les serveurs (MTA) habilités à envoyer les emails en provenance de votre nom de domaine.
Il s'agit d'un simple enregistrement "TXT" à insérer dans votre zone DNS.

Exemple

@ 3600 IN TXT "v=spf1 mx a ip4:195.154.70.153/32 -all"

Cet enregistrement SPF (celui d'Opened Concept) indique que, seuls les adresses des enregistrements MX et A ainsi que l'adresse IPv4 "195.154.70.153" sont autorisées à envoyer des mails depuis le domaine opened-concept.com. Le "-all" à la fin indique aux serveurs destinataires qu'il faut refuser tout mail ne provenant pas des serveurs indiqués.

Détail de la syntaxe

La syntaxe complète est disponible sur le site d'OpenSPF.org. Mais pour faire simple voici un petit résumé (fortement inspiré de la documentation officielle).

Les mécanismes
Préfixes Chaque mécanisme peut recevoir comme préfixe les caractères suivants :
Prefixe Action
+ OK
- Echec
~ Echec non fatal
? Neutre

Le mécanisme "all"
Celui-ci est généralement situé à la fin de l'enregistrement.

Syntaxe Résultat
"v=spf1 mx -all" Autorise les serveurs identifiés dans les enregistrement MX d'envoyer les mails mais l'interdit pour l'ensemble des autres machines
v=spf1 -all Aucun mail n'est envoyé du domaine concerné
v=spf1 -all Aucun controle SPF ne doit être effectué sur le domaine

Le mécanisme "ip4"
Celui-ci correspond à une étendue IP IPv4. Sauf indication contraire, il est présumé que le masque est /32 (255.255.255.255).

Le mécanisme "ip6"
Celui-ci correspond à une étendue IP IPv6. sauf indication contraire, il est présumé que le masque est /128 (FFFF).

Le mécanisme "a"
Celui-ci correspond aux enregistrements "A" de votre zone DNS.

Le mécanisme "mx"
Celui-ci correspond aux enregistrements "MX" de votre zone DNS - ceux habilités à recevoir les mails en provenance de domaines extérieurs.

Le mécanisme "ptr"
Celui-ci correspond aux enregistrements "reverse" de votre zone DNS, les adresses IP dont la résolution inverse est liée à votre domaine.

Bien qu'il existe plus d'options dans la construction de l'enregistrement SPF, ces indications suffisent dans la plupart des cas.

La signature DKIM

Signer ses entête de mail avec DKIM permet à votre correspondant d'avoir la certitude que l'entête du mail (et notamment l'expéditeur) n'est pas altéré pendant son transport. En effet, vous publiez la clé publique de votre paire dans votre zone DNS. Votre serveur d'envoi (MTA) "signe" votre mail en utilisant votre clé privée.
Exemple d'enregistrement DKIM dans les DNS d'OPENED CONCEPT :

mail._domainkey 10800 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJlDRYQ3l+dkp2e6LzXQKIO1+ 3QOqwbGxfhINOxOcE24E2PQXG+wIMaTCo5XyaBhcwvlBgiGhm8bAX+ YuApPC8yJwsS2t23i+mX6fm7zEsijOQRFgMGdR9S/ 3SrSe0tfikh82FIgcW0bCENy3UzeGwGSevb8PqFW4pisAH1uw3VwIDAQAB"

Exemple de signature dans l'entête d'un mail :

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=opened-concept.com; s=mail; t=1431008260; bh=DImK/HdEzLMpNCwfYhemOb5msefchGyI9wVE9jNgCrI=; h=Date:From:To:Subject:From; b=lxcf3HPtmLuhMXY85WgJHEY0h2sFYr96TAWItt946TLImf0vslDAm79d5voXfgk/x czLko0XbByWwpyujbIYf/o3hAcngxW20zPbtptr5OQqAPmDd/m++cSepXLVAQWTB/Y G9Wvig5eRbcDLAQxq4+4G/dVPd0krQTMIF9assvw=

Exemple de vérification de la signature DKIM par google sur gmail :

Authentication-Results: mx.google.com; spf=pass (google.com: domain of epriem@opened-concept.com designates 195.154.70.153 as permitted sender) smtp.mail=epriem@opened-concept.com; dkim=pass header.i=@opened-concept.com

Comme vous pouvez le voir, notre email est correctement signé, et est envoyé via les bons MTA's. Gmail ayant vérifié automatiquement ces informations, il considérera le mail comme valide et ne sera pas amené à le considérer comme SPAM.

Les signatures DKIM sont moins accessibles techniquement. Cela nécessite en outre, que le serveur sortant signe vos messages, ce qui peut-être problématique notamment lorsque vos serveurs smtp configurés sont ceux de votre FAI (orange, free, etc...)
Vous pouvez néanmoins passer par les serveurs de votre prestataire d'hébergement qui pourront effectuer la signature. Veuillez noter que malgré son utilité, Microsoft Exchange ne gère pas encore la signature DKIM des messages qu'il envoie.