Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

Le greylisting marche toujours très bien, malgré les critiques

Première rédaction de cet article le 5 mai 2009


Sur tous les serveurs de messagerie que je gère, j'active le greylisting, une technique simple mais géniale, qui élimine la moitié des spams avant qu'ils ne soient envoyés. Depuis des années que je m'en sers, les critiques n'ont pas manqué, tournant en général autour de la remarque que « Les spammeurs peuvent s'adapter facilement, en gérant une file d'attente, et donc le greylisting ne servira plus à rien. ».

Ce raisonnement semble raisonnable mais il a comme gros défaut... de n'être qu'un raisonnement. La réalité le dément régulièrement. Le greylisting est quasiment aussi efficace qu'au premier jour. (Ce qui n'arrête pas les critiques, qui en général n'ont jamais l'idée de mesurer les techniques anti-spam au lieu de supposer.)

Pourquoi les spammeurs, en général très prompts à s'ajuster à toutes les techniques anti-spam, n'ont-ils rien fait contre le greylisting ? Je ne voudrais pas me mettre à faire de la supposition hasardeuse mais je pense qu'une des raisons est que peu de gens utilisent le greylisting. Tant que la majorité des serveurs ne sont pas protégés, les spammeurs n'ont pas de raison de se fatiguer à contourner cette protection, qui reste donc la plus rentables des techniques anti-spam.

C'est l'illustration parfaite d'un vieux principe de sécurité : « Il n'est pas nécessaire de courir plus vite que l'ours, il suffit de courir plus vite que les autres randonneurs. » Maintenant, peut-être qu'en lisant cet article, des millions de gens vont activer le greylisting, changeant ainsi l'équation ⌣.

Petite note technique : j'utilise en général Postfix et le logiciel de greylisting est, soit postgrey, soit l'excellent greyfix. Le premier se configure ainsi :

# postfix/main.cf
smtpd_recipient_restrictions = permit_mynetworks, [...] 
        check_policy_service inet:127.0.0.1:60000

postgrey étant lancé par /usr/sbin/postgrey --pidfile=/var/run/postgrey.pid --daemonize --inet=127.0.0.1:60000. Le second se configure avec :

smtpd_recipient_restrictions = permit_mynetworks, [...]
          check_policy_service unix:private/greyfix

greyfix n'est pas lancé séparement mais par Postfix et doit donc être configuré dans le master.cf :

greyfix    unix  -       n       n       -       -       spawn
  user=nobody argv=/usr/local/sbin/greyfix --greylist-delay 300 --network-prefix 28

On voit alors dans le journal de nombreux rejets de spam, qui ne réessaient qu'exceptionnellement :

May  5 23:45:23 aetius postfix/smtpd[31070]: NOQUEUE: reject: RCPT from unknown[200.121.246.20]: 450 4.7.1 <blog@bortzmeyer.org>: Recipient address rejected: Greylisted by greyfix 0.3.8, try again in 300 seconds.  See http://www.kim-minh.com/pub/greyfix/ for more information.; from=<bookkeeper@sport-weiss.com> to=<blog@bortzmeyer.org> proto=ESMTP helo=<dsldevice.lan>

Le greylisting est désormais officiellement documenté dans le RFC 6647.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)