Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Solution pour le greylisting trop agressif

Depuis qu'OpenBSD 6.3 est disponible, une nouvelle commande est apparue :

smtpctl spf walk

Ces trois mots sont la solution à tous vos problèmes de greylisting trop agressifs.

Pour rappel, le greylisting est une technique pour lutter contre le spam qui consiste à mettre temporairement sur liste grise un nouvel expéditeur. Normalement, ce dernier doit tenter de renvoyer son message une deuxième fois après un délai raisonnable : à ce moment là, il est mis sur liste blanche et on accepte son message. Sinon, il y a de bonnes chances que ce soit un vilain spammeur, son message ne sera jamais délivré.
Ça permet d'épurer très efficacement les messages reçus, mais ne fonctionne pas bien avec certains fournisseurs de messagerie qui utilisent toute une rangée d'IPs différentes pour leurs envois : un message légitime sera alors renvoyé depuis des IPs différentes, qui resteront toujours sur liste grise.

Pour résoudre ce problème, on va indiquer dans le configuration de spamd (/etc/mail/spamd.conf) une nouvelle entrée sous forme de liste blanche :

all:\        :nixspam:bgp-spamd:bsdlyblack:whitelist:whitelist:\        :white:\        :method=file:\        :file=/etc/mail/whitelist.txt:

Pour remplir le fichier /etc/mail/whitelist.txt qui contient toutes les IPs de "grands fournisseurs", on crée un script qui sera appelé régulièrement dans le fichier /etc/weekly.local. Voici son contenu :

#!/bin/sh# Auteur :      thuban <thuban@yeuxdelibad.net># licence :     MIT# add to spamd some ip to whitelis from domain list# to /etc/mail/whitelist.txt# insert this to /etc/mail/spamd.conf (whitelist must be last)#all:\#                        :nixspam:whitelist:#whitelist:\#                :white:\#               :method=file:\#             :file=/etc/mail/whitelist.txt:TMP=$(mktemp)WHITELIST=/etc/mail/whitelist.txtDOMAINS='outlook.comgmail.comhotmail.comgog.comyahoo.comgoogle.comlive.frmail-out.ovh.netmxb.ovh.netgandi.net'for d in $DOMAINS; do echo "$d" | smtpctl spf walk >> "$TMP" donemv "$TMP" "$WHITELIST"exit 0

Recharger spamd puis profitez ;)

rcctl restart spamd

le 03/04/2018 à 13:17:25, Framasky a dit :

J'y vois un souci (pas technique hein) : pourquoi c'est à nous à nous adapter à des entreprises qui sont pas foutus de faire du mail correctement ? Hein ?

le 03/04/2018 à 14:04:47, Breizh a dit :

@Framasky : ben justement. Le fait d'envoyer des mails depuis plusieurs serveurs n'est absolument pas un problème. Les paramètres de validation de mail permettent tout à fait d'autoriser plusieurs serveurs à envoyer de façon légitime. Le problème, c'est les entreprises (et particuliers) qui font du greylisting (en plus ça délaye le mail, génial quoi. J'aime bien recevoir mes mails rapidement).

le 03/04/2018 à 14:27:41, Framasky a dit :

@Breizh : Désolé, mais le greylisting est une pratique courante pour lutter contre le spam, je ne vois pas ce qu'il y a de mal à ça. Ça délaie le premier mail, ensuite t'es normalement dans la whitelist pour un bon mois. C'est pas comme si c'était une pratique de quelques clampins, énormément de personnes en font, y compris au niveau professionnel, et le pb vient bien des fournisseurs de mail qui ne se représentent pas avec la même machine. Oui, c'est légitime de présenter plusieurs machines, mais non, je considère que c'est à eux de se **re**présenter avec la même machine.

le 03/04/2018 à 14:37:45, Breizh a dit :

@Framasky : c'est vrai que normalement, le mail est renvoyé par le même serveur, cependant c'est omettre les serveurs relais. Personnellement, quand mon serveur mail renvoie un mail délayé, il est impossible de savoir quel serveur relais va être utilisé en sortie. Mais le serveur relais sera toujours dans mon SPF, et le DKIM sera toujours valide. J'ai pas mis de DMARC par flemme, j'ai déjà un excellent score, malgré quelques blacklists (j'ai pas la main sur les serveurs relais, et je suis pas le seul à les utiliser).

D'un côté, je reproche à Orange de m'obliger à faire ça, mais de l'autre, ils le font proprement, donc ce n'est pas censé être un problème. Après, je ne sais pas si le greylisting s'occupe du serveur émetteur ou du dernier relai, ceci dit. Dans le premier cas, effectivement, le problème viens des fournisseurs qui font n'importe quoi avec la queue (un mail délayé repars du serveurs émetteur d'origine dans une config normale). Dans le second cas, faudrait voir à changer ce comportement.

le 03/04/2018 à 15:02:23, thuban a dit :

Un enregistrement DMARC, c'est peu utile en effet sauf si tu veux être informé d'éventuelles erreurs.

Un serveur relai n'est pas un problème, s'il est mis sur liste grise, il doit lui aussi retenter de délivrer le message s'il est correctement configuré. Le souci vient vraiment des bêtises dans la configuration des plages de sereurs aux IPs différentes qui se partagent les messages mis en attente.

Le greylisting, ça purge énormément de spam oO

le 03/04/2018 à 15:07:26, Breizh a dit :

Dans ce cas, je n'ai rien dit ^^

Concernant le spam, je suis toujours à 0% sans la moindre protection pour l'instant, mais mon serveur mail n'a que quelques mois. On verra avec le temps ^^

le 03/04/2018 à 20:29:01, Utux a dit :

La greylist c'est quoi... 5 minutes ? Tu vas vraiment te faire chier à gérer une liste d'IP à la main pour ça ? :D

le 03/04/2018 à 22:04:21, thuban a dit :

@Utux : C'est plus que 5 minutes pour être efficace.
Je ne me fais pas chier, c'est automatique.
Qui plus est, ça évite de perdre des mails. C'est pas un souci de délai, c'est un souci de messages qui risquent de ne jamais arriver.