Mailing – Black listing – Serveur

Mailing – Black listing – Serveur

Comment bien configurer son serveur et son domaine pour ne pas voir ses mailings se retrouver dans les junks ?

C’est une question à laquelle il faut répondre lorsque l’on s’occupe de serveur Web.

Première étape importante, la vérification de l’adresse IP de son serveur :

Spamcop

Avec spamcop, vous pouvez voir si une adresse IP est blacklistée ou non :

http://www.spamcop.net/

Si vous obtenez la réponse suivante : @IP not listed in bl.spamcop.net

Et aussi sur http://www.spamhaus.org/lookup/

Et plus en détails ici : http://mxtoolbox.com/blacklists.aspx

Si  tout est ok, on peut poursuivre, sinon, changez de serveur et revoyez votre politique de mailing.

Certains filtres antispam agissent avec précaution en n’autorisant les emails en provenance de nom de domaine enregistré sur un serveur uniquement ou en provenance d’une adresse IP liée à un serveur fiable et connu.

Par l’emploi de domainkeys identified mail DKIM (autrefois domainkeys), on parvient à respecter cette mesure.

Le principe réside dans l’implémentation d’une clé publique cryptée qui permet  à l’expéditeur de signer ses lettres.

Avec Exim4, DKIM est inclu par défaut. Reste plus qu’à le configurer.
cledkim

DKIM et Exim4

Avant tout assurez vous que Exim4 utilise les fichiers divisés en plusieurs entités :
dc_use_split_config=’true’

dans /etc/exim4/update-exim4.conf.conf

Dans Exim4, DKIM est déjà présent il ne reste plus qu’à générer les clés publiques et privées et les mettre en place :

# openssl genrsa -out dkim.private.key 1024

# openssl rsa -in dkim.private.key -out dkim.public.key -pubout -outform PEM

on obtient les clés respectives :

dkim.public.key et dkim.private.key

Nous devons signaler à Exim de signer les emails avec la clé :

Avec plusieurs domaines sur une même bécane, il est judicieux de l’indiquer par le biais d’un fichier : /etc/exim4/dkim_senders

on ajoute au fichier une ligne pour chaque email ou domaine :

*@nomdedomaine.com: nomdedomaine.com
*@autrenomdedomaine.fr: autrenomdedomaine.fr


Continuons avec /etc/exim4/conf.d/router/180_exim4-config_local_primary_dkim

on y loge :

dnslookup_dkim:
debug_print = « R: dnslookup_dkim for $local_part@$domain »
driver = dnslookup
domains = ! +local_domains
senders = lsearch*@;/etc/exim4/dkim_senders
transport = remote_smtp_dkim
same_domain_copy_routing = yes
# ignore private rfc1918 and APIPA addresses
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
no_more

Et le fichier /etc/exim4/transport/30_exim4-config_remote_smtp_dkim :

remote_smtp_dkim:
debug_print = « T: remote_smtp_dkim for $local_part@$domain »
driver = smtp
.ifdef REMOTE_SMTP_HOSTS_AVOID_TLS
hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS
.endif
.ifdef REMOTE_SMTP_HEADERS_REWRITE
headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
.endif
.ifdef REMOTE_SMTP_RETURN_PATH
return_path = REMOTE_SMTP_RETURN_PATH
.endif
.ifdef REMOTE_SMTP_HELO_DATA
helo_data=REMOTE_SMTP_HELO_DATA
.endif
dkim_domain = ${lookup{$sender_address}lsearch*@{/etc/exim4/dkim_senders}}
dkim_selector = key1
dkim_private_key = /etc/exim4/dkim.private.key
dkim_canon = relaxed
dkim_strict = false
#dkim_sign_headers = DKIM_SIGN_HEADERS

Maintenant qu’on a bien travaillé, on redémarre exim4 et il ne reste plus qu’ à ajouter les données sur le DNS.

# /etc/init.d/exim4 restart

Entrée DNS

Pour DKIM, voici le modèle à ajouter. Si vous êtes sur OVH, rendez vous dans la section des champs DNS.

key1._domainkey.votredomaine.com TXT v=DKIM1;t=y;k=rsa;p=VOTRECLEPUBLIQUE

Le key1 représente le selector (Cf plus haut : dkim_selector = key1), le domaine est aussi à remplacer.

La clé publique se trouve dans dkim.public.key (retirez les commentaires !).

Tester DKIM :

Envoyez vous un email et observer l’entête, vous devriez voir apparaître une ligne DKIM avec votre clé publique !

Et pour un rapport détaillé envoyez un email à check-auth2@verifier.port25.com

SPF (Sender Policy Framework)

Cet enregistrement auprés des champs DNS permet de lister les serveurs autorisés à envoyer des emails pour un domaine en question.

Chez certains hébergeurs il y a une fonctionnalité permettant de générer la bonne entrée

Ovh par exemple ajoute un champ dans sa gestion DNS pour les emails :
v=spf1 include:mx.ovh.com ~all
Voici la même entrée DNS avec ajout d’une seconde adresse IP désignant le serveur :

v=spf1 a mx ip4:ADRESSEIP ~all

Testez ensuite avec port25 en envoyant un email à

check-auth2@verifier.port25.com

Le rapport vous sera renvoyé automatiquement et vous devriez voir apparaître la mention PASS sous SPF.

Sources :

http://www.port25.com/support/authentication-center/email-verification/

http://kb.mailchimp.com/article/avoiding-the-spam-filters/

https://support.google.com/a/answer/33786?hl=fr

Copyrights © 2017 : RHM - Optimisation et développement informatique pour Entreprises et Associations