22
0
Fork 0

Amélioration du chapitre sur la délivrabilité, notamment SPF / DKIM / DMARC (merci Dgeo o/)

This commit is contained in:
Gregory Colpart 2018-10-31 00:17:52 +01:00
parent fc1a984006
commit 7b4e059431
1 changed files with 54 additions and 5 deletions

View File

@ -484,7 +484,8 @@ file = /var/log/mail.log
### pflogsumm
C'est un petit outil pour afficher des stats dans le terminal, plutôt pratique, évite de « grepper » à la main mail.log
C'est un petit outil pour afficher des stats dans le terminal, plutôt pratique, évite de « grepper » à la main `mail.log`.
## Délivrabilité
@ -494,20 +495,67 @@ Voici un check-up pour s'assurer d'avoir une bonne _délivrabilité_ :
* Reverse DNS configuré vers un enregistrement valide pointant lui-même vers l'adresse IP du serveur mail
* IPv6 correctement configuré (avec reverse DNS) ou desactivé
* Utiliser une adresse de retour valide (**Return-Path**) et traiter les retours régulièrement
* Configurer DKIM
* Configurer ADSP
* Utiliser une adresse de retour valide (expéditeur d'enveloppe ou **Return-Path**) et traiter les retours régulièrement voire dynamiquement en cas de gros volume
* Configurer SPF
* Configurer DKIM
* Configurer DMARC
* Nettoyer ses entêtes
* Nettoyer ses entêtes, notamment des informations locales (IP RFC1918, enregistrements DNS locaux, etc.)
* S'enregistrer auprès de <http://www.dnswl.org/>
* S'enregistrer auprès de <http://www.emailreg.org/> (payant, environ 20$/domaine/an)
* Écrire à Hotmail/Outlook/Microsoft pour demander à mettre son IP en liste blanche
* Payer <https://returnpath.com/fr/> pour améliorer sa délivrabilité auprès de Yahoo/Microsoft/etc. (payant en fonction du volume et très cher...)
* Régler son rythme d'envoi, notamment vers Orange, Free, etc.
* Vérifier son contenu via des outils comme _SpamAssassin_
* Vérifier la réputation via <https://www.talosintelligence.com/reputation_center/email_rep>
* Vérifier via Postmaster tools de Google en cas de problème de Spam pour Google/Gmail
### SPF
[SPF](https://fr.wikipedia.org/wiki/Sender_Policy_Framework) est une norme pour vérifier l'adresse IP expéditrice d'un email.
La vérification se fait en utilisant le nom de domaine de l'expéditeur d'enveloppe et en récupérant un enregistrement DNS qui va lister les adresses IP autorisées.
Voici un exemple d'enregistrement DNS autorisant des adresses IP pour une adresse en `@example.com`
~~~
@ IN TXT "v=spf1 a mx ptr ip4:192.0.2.142 ip4:192.0.2.0/24 ip6:2001:db8::/32 ~all"
~~~
Voici un exemple d'enregistrement DNS autorisant l'envoi de n'importe où :
~~~
@ IN TXT "v=spf1 a mx ptr +all"
~~~
> *Note* : on peut utiliser un `include:` vers un autre enregistrement TXT, pratique pour la gestion ou éviter d'avoir des enregistrements TXT [dépassant 255 caractères](https://kb.isc.org/docs/aa-00356).
### DKIM
[DKIM](HowtoMail/DKIM) est une norme pour ajouter une signature cryptographique dans les entêtes d'un email envoyé.
La signature se fait à partir à de l'expéditeur d'entête (`From:` d'un email), des entêtes au choix (sujet, date, etc.) et le corps du message.
Cela utilise aussi une clé publique stockée dans un enregistrement DNS TXT.
Voir <https://wiki.evolix.org/HowtoMail/DKIM>
### DMARC
[DMARC](https://fr.wikipedia.org/wiki/DMARC) est spécification qui vient en complément de DKIM et SPF.
Cela permet de spécifier aux serveurs de messagerie comment traiter les emails reçus non conformes aux vérifications SPF et/ou DKIM.
Cela permet également de récupérer des informations voire des emails complets si ils ne sont pas conformes.
Encore une fois, cela se fait avec un enregistrement DNS TXT.
Voici un exemple d'enregistrement DNS basique :
~~~
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:facteur@example.com"
~~~
Voici un exemple plus avancé :
~~~
_dmarc IN TXT "v=DMARC1;p=none;rua=mailto:facteur+aggr@example.com;ruf=mailto:facteur+forensic@example.com;fo=1;adkim=r;aspf=r;sp=none;pct=100"
~~~
### Contacts des principaux fournisseurs d'email
En cas de souci de _délivrabilité_ vers un domaine particulier, on est amené à contacter son responsable.
@ -522,6 +570,7 @@ En pratique pour les principaux fournisseurs d'emails, voici comment les contact
* La Poste : <https://postmaster.laposte.net/>
* GMAIL : <http://support.google.com/mail/bin/request.py?contact_type=bulk_send&&hl=en> (NE REPONDENT JAMAIS !!!)
## Postcreen
C'est un process qui vérifie si le blocage par IP doit s'appliquer sur le mail concerné ou non. La liste des autorisations sont actualisées grâce aux RBL. si l'on obtient ce type de message "if blocked using rbl.foor.bar" alors on peut whitelister l'adresse IP dans `/etc/postfix/postscreen_access.cidr`