Postgrey

Ce billet fait suite comme promis au billet “SPAM mon amour“.

Le nombre de SPAM augmentant avec une régularité déconcertante, il a bien fallu que je mette en place des mesures concrètes dans l’entreprise où je travaille.

J’ai donc mis en place (il y a déjà longtemps) un classique postfix + RBL + amavis + SPAMassassin + Clamav

Mais la trouvaille la plus géniale a été indéniablement postgrey.

Testé avec succès depuis deux ans, voici en quelques mots son mécanisme:
Postgrey est une implémentation du “greylisting” pour Postfix, c’est-à-dire une technique consistant à soupçonner chaque serveur de messagerie d’être un méchant spammeur, avant de changer d’avis éventuellement.

La majorité des spammeurs font du “Fire and Forget”, en envoyant des milliers de messages à partir de réseaux de PC munis d’un serveur de messagerie temporaire et non officiel (des “bot nets” constitués de PC piratés). Le temps d’utilisation de ces PC piratés étant très court pour ne pas être repérés, les spammeurs ne peuvent donc pas respecter le standard SMTP qui indique qu’en cas d’échec de transmission, le serveur émetteur DOIT réémettre son message.

Postgrey s’appuie sur cette faiblesse des spammeurs.

Comment? Mais tout simplement en demandant à Postfix de refuser le message la première fois qu’il arrive, et de l’accepter s’il se présente une deuxième fois.

Explications:
Lorsqu’un serveur tente d’envoyer un message une première fois à votre Postfix, ce dernier va le refuser en envoyant le code 450, c’est-à-dire “serveur non disponible”. Ce refus durera 5mn pour éviter les réémissions immédiates.

Deux cas se présentent alors :
– soit le serveur émetteur est un “bon” serveur officiel et sérieux, respectueux des RFC sur SMTP et il réémet son message… Postfix détecte alors qu’il s’agit d’un deuxième envoi, l’accepte et vous recevez le message normalement.
– soit l’émetteur ne réémet pas son message! Et c’est donc probablement un spammeur ou un virus !

Conséquences:
– le taux de SPAMs reçus chute de 90%…
Il ne passe, si vous avez suivi, que les SPAMs de spammeurs “professionnels” qui réémettent leurs messages.
– le mécanisme introduit un retard dans la réception des messages (refus du message une première fois, attente minimale de 5 mn, réexpédition par le serveur d’origine qui varie entre 5 mn et 30 mn).

Si tout le monde a été satisfait de la chute du nombre de SPAMs reçus, certains ont grincé des dents sur les délais parfois longs introduits par le mécanisme. Il m’a suffit alors de mettre en place des “listes blanches” pour les sites “amis” avec lesquels nous communiquons beaucoup.

J’ai également prévenu le personnel et modifié la charte informatique de l’entreprise pour faire apparaître le délai et son explication, pour éviter de tomber sous le coup de l’article 226-15 du code pénal:

“Le fait, commis de mauvaise foi, d’ouvrir, de supprimer, de retarder ou de détourner des correspondances arrivées ou non à destination et adressées à des tiers, ou d’en prendre frauduleusement connaissance, est puni d’un an d’emprisonnement et de 45000 euros d’amende […]”

Bien sur, l’ensemble des mécanismes anti-spam mis en place n’est pas parfait (notamment contre les SPAMs basées sur des images). Mais il offre un confort suffisant.

Pour l’instant.

Et c’est en partie ce qui me rend indispensable…

Une réflexion sur « Postgrey »

  1. Le problème c’est lorsque que spammeur utilise entre son botnet et vous le serveur smtp normal de chaque machine de son botnet… dans ce cas, wanadoo (par exemple) va accepter son message, vous le relayer, se prendre le 450, ré-essayer plus tard, et vous délivrera finalement le “précieux” message.

    On a pas fini d’être em_xxxxx_dés avec le spam…

    Pour ma part, j’en suis à 60% des messages poubelisés par spamassassin.

Les commentaires sont fermés.