Article
Dans leur lutte contre le courrier non sollicité, les services de messagerie (Gmail, Hotmail, ...) mettent en oeuvre notamment une vérification de l'émetteur.
Le Spam, et bien pire, le phishing (obtenir des codes d'accès en donnant l'illusion de recevoir un message officiel de votre banque ou de votre réseau social), sont en augmentations et de plus en plus critiques.
Les protocoles de vérification de l'emetteur sont un sujet technique que vous rencontrez donc lors de la mise en place de campagnes d'Emailing.
L'objectif de cet article est de rendre compréhensible ce sujet et de vous aider à en maîtriser la mise en place avec upContact.
Ces serveurs permettent d'établir l'emplacement où sont hébergés les divers services de votre domaine (serveurs physiques de vos sites web, de vos sous-domaines, de vos services de messagerie...). Il s'agit d'indiquer pour chaque service l'adresse IP associée dans un fichier de zone.
Les serveurs DNS permettent également de fournir des renseignements complémentaires quant aux domaines et sous-domaines, notamment les enregistrements SPF et DKIM.
Les informations renseignées dans vos zones DNS sont publiques.
Le protocole SPF (et son dérivé SenderId par Microsoft) permet d'habiliter une liste de serveurs à envoyer des messages sous un nom de domaine ou sous-domaine. Par exemple, si votre site web www.votresociete.com est hébergé sur le serveur 100.100.100.100, ce dernier est de facto hablité mais dans le cas où vous souhaiteriez envoyer des messages de la part de news@votresociete.com depuis le serveur 100.100.100.200, le protocole SPF permet d'officiellement autoriser ce deuxième serveur à émettre.
Pour mettre en place cela, il vous faudra éditer le fichier de zone du domaine votresociete.com (serveurs DNS) et suivre la syntaxe suivante :
votresociete.com. IN TXT "v=spf1 ip4:100.100.100.200 ?all"
A noter: vous pouvez également spécifier d'autres adresses IP, y compris des adresses IPv6, vous pouvez utiliser la directive d'inclusion, par exemple include:spf.upcontact.com pour autoriser tous les routeurs mutualisés upContact. La terminaison "?all" affecte un statut "neutre" à toute adresse IP non listée dans l'enregistrement SPF. Vous pouvez durcir la politique d'émission en utilisant "-all" pour affecter le statut "Erreur" à toute adresse non listée.
Pour plus d'information sur le protocole SPF, consultez la documentation officielle : http://www.openspf.org
La signature repose sur le principe d'une clé publique (publiée dans la zone DNS du domaine émetteur) et d'une clé privée (utilisée pour encoder le message).
La mise en place d'une signature DKIM nécessite 3 étapes :
1- La création d'un couple clé privée/clé publique au format RSA 1024bits ;
2- La publication dans la zone DNS de l'émetteur de la clé publique :
k1._domainkey.votresociete.com. IN TXT "v=DKIM1\; k=rsa\; g=*\; s=email\; h=sha1\; t=s\; p= MIGfMA0GCSqGSKJFH654654Ib3DQEBAQUAJIo3R/riGweXJiW4B3uYO3lzPlX/67oqc5ar/MuydHVEu9jdwWHPaiW8oCbd30kiHjh1pkPv4Cj7LDwIjcmKpwqPMvnJzd5zK0JsnNwHaBh2DmbxekQCL8OVsBOeFK5uljQiUESH6KH8Cr6iM1wuoAbpFuBMQp6my3P61wIDAQAB\;"
Certains serveurs DNS ne tolèrent pas plus de 255 caractères par ligne. Dans ce cas, respecter la syntaxe suivante sur 2 lignes :
k1._domainkey.votresociete.com. IN TXT "v=DKIM1\; k=rsa\; g=*\; s=email\; h=sha1\; t=s\; p= MIGfMA0GCSqGSKJFH654654Ib3DQEBAQUAJIo3R/riGweXJiW4B3u" "YO3lzPlX/67oqc5ar/MuydHVEu9jdwWHPaiW8oCbd30kiHjh1pkPv4Cj7LDwIjcmKpwqPMvnJzd5zK0JsnNwHaBh2DmbxekQCL8OVsBOeFK5uljQiUESH6KH8Cr6iM1wuoAbpFuBMQp6my3P61wIDAQAB\;"
Plusieurs clés DKIM peuvent co-exister sur un même domaine en utilisant arbitrairement différents "sélecteurs". "k1" dans l'exemple ci-dessus.
3- Configurer l'envoi de vos message pour l'encodage avec la clé privée.
La signature DKIM est embarquée dans le message envoyé, le destinataire pourra consulter le serveur DNS associé à l'émetteur pour vérifier la validité de la signature (décodage avec la clé publique).
Pour plus d'information sur le protocole DKIM, voir la documentation officielle : http://www.dkim.org
Les serveurs upContact sont systématiquement associés à des noms de domaines génériques nous appartenant, ces serveurs sont référencés dans les enregistrement SPF des domaines associés.
Chaque message envoyé via upContact inclut systématiquement une signature DKIM sur le domaine upContact associé.
Ainsi, si vous sélectionnez l'option de signature "routeurs upContact" (routeurs mutualisés) dans les paramètres de votre campagne, vous n'avez rien de plus à faire, vos messages seront authentifiés et signés avec un domaine upContact (par exemple upcrt1.com dans l'exemple ci-dessous).
Vous pouvez optimiser votre délivrabilité en installant une signature sur votre propre domaine (ainsi, dans l'exemple ci-dessous vous n'auriez pas la mention "via upcrt1.com" à la suite de l'adresse "from".
Pour installer votre propre signature, vous pouvez consulter l'article : "Installation d'un enregistrement SPF et d'une signature DKIM personnalisés".
Vous pouvez également opter pour un serveur dédié avec délégation DNS auquel cas notre équipe s'occupera de la mise en oeuvre sur nos serveurs DNS.
En cliquant sur les détails de l'émetteur, si vos enregistrements SPF et DKIM sont bien configurés vous verrez apparaître une indication d'authentification ("mailed-by") et de signature ("signed-by") comme dans l'exemple ci-dessous :
)

DKIM et SPF expliqués
Array
(
[uid] => 4
[dt_create] => 2014-01-14 11:38:31
[dt_update] => 2014-01-17 12:11:48
[publish] => 1
[url] => dkim-et-spf-expliques
[keywords] => DKIM,SPF,DomainKeys,SenderId,emailing,DNS
[category] => Article
[category_sub] => Routage
[title] => DKIM et SPF expliqués
[content_html] => Dans leur lutte contre le courrier non sollicité, les services de messagerie (Gmail, Hotmail, ...) mettent en oeuvre notamment une vérification de l'émetteur.
Le Spam, et bien pire, le phishing (obtenir des codes d'accès en donnant l'illusion de recevoir un message officiel de votre banque ou de votre réseau social), sont en augmentations et de plus en plus critiques.
Les protocoles de vérification de l'emetteur sont un sujet technique que vous rencontrez donc lors de la mise en place de campagnes d'Emailing.
L'objectif de cet article est de rendre compréhensible ce sujet et de vous aider à en maîtriser la mise en place avec upContact.
1- Prémbule : les serveurs DNS
Les serveurs DNS pour un nom de domaine sont renseignés chez votre registrar (organisme habilité auprès duquel vous avez acheté votre nom de domaine).Ces serveurs permettent d'établir l'emplacement où sont hébergés les divers services de votre domaine (serveurs physiques de vos sites web, de vos sous-domaines, de vos services de messagerie...). Il s'agit d'indiquer pour chaque service l'adresse IP associée dans un fichier de zone.
Les serveurs DNS permettent également de fournir des renseignements complémentaires quant aux domaines et sous-domaines, notamment les enregistrements SPF et DKIM.
Les informations renseignées dans vos zones DNS sont publiques.
2- L'enregistrement SPF : Sender Policy Framework
Le protocole SPF (et son dérivé SenderId par Microsoft) permet d'habiliter une liste de serveurs à envoyer des messages sous un nom de domaine ou sous-domaine. Par exemple, si votre site web www.votresociete.com est hébergé sur le serveur 100.100.100.100, ce dernier est de facto hablité mais dans le cas où vous souhaiteriez envoyer des messages de la part de news@votresociete.com depuis le serveur 100.100.100.200, le protocole SPF permet d'officiellement autoriser ce deuxième serveur à émettre.Pour mettre en place cela, il vous faudra éditer le fichier de zone du domaine votresociete.com (serveurs DNS) et suivre la syntaxe suivante :
votresociete.com. IN TXT "v=spf1 ip4:100.100.100.200 ?all"
A noter: vous pouvez également spécifier d'autres adresses IP, y compris des adresses IPv6, vous pouvez utiliser la directive d'inclusion, par exemple include:spf.upcontact.com pour autoriser tous les routeurs mutualisés upContact. La terminaison "?all" affecte un statut "neutre" à toute adresse IP non listée dans l'enregistrement SPF. Vous pouvez durcir la politique d'émission en utilisant "-all" pour affecter le statut "Erreur" à toute adresse non listée.
Pour plus d'information sur le protocole SPF, consultez la documentation officielle : http://www.openspf.org
3- L'enregistrement DKIM : DomainKeys Identified Mail
DKIM ajoute une signature à vos messages permettant d'assurer que le message n'a pas été modifié et provient bien d'un serveur autorisé.La signature repose sur le principe d'une clé publique (publiée dans la zone DNS du domaine émetteur) et d'une clé privée (utilisée pour encoder le message).
La mise en place d'une signature DKIM nécessite 3 étapes :
1- La création d'un couple clé privée/clé publique au format RSA 1024bits ;
2- La publication dans la zone DNS de l'émetteur de la clé publique :
k1._domainkey.votresociete.com. IN TXT "v=DKIM1\; k=rsa\; g=*\; s=email\; h=sha1\; t=s\; p= MIGfMA0GCSqGSKJFH654654Ib3DQEBAQUAJIo3R/riGweXJiW4B3uYO3lzPlX/67oqc5ar/MuydHVEu9jdwWHPaiW8oCbd30kiHjh1pkPv4Cj7LDwIjcmKpwqPMvnJzd5zK0JsnNwHaBh2DmbxekQCL8OVsBOeFK5uljQiUESH6KH8Cr6iM1wuoAbpFuBMQp6my3P61wIDAQAB\;"

k1._domainkey.votresociete.com. IN TXT "v=DKIM1\; k=rsa\; g=*\; s=email\; h=sha1\; t=s\; p= MIGfMA0GCSqGSKJFH654654Ib3DQEBAQUAJIo3R/riGweXJiW4B3u" "YO3lzPlX/67oqc5ar/MuydHVEu9jdwWHPaiW8oCbd30kiHjh1pkPv4Cj7LDwIjcmKpwqPMvnJzd5zK0JsnNwHaBh2DmbxekQCL8OVsBOeFK5uljQiUESH6KH8Cr6iM1wuoAbpFuBMQp6my3P61wIDAQAB\;"

3- Configurer l'envoi de vos message pour l'encodage avec la clé privée.
La signature DKIM est embarquée dans le message envoyé, le destinataire pourra consulter le serveur DNS associé à l'émetteur pour vérifier la validité de la signature (décodage avec la clé publique).
Pour plus d'information sur le protocole DKIM, voir la documentation officielle : http://www.dkim.org

4- Comment sont gérés les enregistrement SPF et DKIM par upContact?
Les serveurs upContact sont systématiquement associés à des noms de domaines génériques nous appartenant, ces serveurs sont référencés dans les enregistrement SPF des domaines associés.Chaque message envoyé via upContact inclut systématiquement une signature DKIM sur le domaine upContact associé.
Ainsi, si vous sélectionnez l'option de signature "routeurs upContact" (routeurs mutualisés) dans les paramètres de votre campagne, vous n'avez rien de plus à faire, vos messages seront authentifiés et signés avec un domaine upContact (par exemple upcrt1.com dans l'exemple ci-dessous).
Vous pouvez optimiser votre délivrabilité en installant une signature sur votre propre domaine (ainsi, dans l'exemple ci-dessous vous n'auriez pas la mention "via upcrt1.com" à la suite de l'adresse "from".
Pour installer votre propre signature, vous pouvez consulter l'article : "Installation d'un enregistrement SPF et d'une signature DKIM personnalisés".
Vous pouvez également opter pour un serveur dédié avec délégation DNS auquel cas notre équipe s'occupera de la mise en oeuvre sur nos serveurs DNS.
5- Comment tester le bon fonctionnement?
Une méthode très simple de vérification consiste à envoyer depuis upContact un message de test sur une boite Gmail (exemple ci-dessous) ou Hotmail.En cliquant sur les détails de l'émetteur, si vos enregistrements SPF et DKIM sont bien configurés vous verrez apparaître une indication d'authentification ("mailed-by") et de signature ("signed-by") comme dans l'exemple ci-dessous :

