Postgrey

Baissez votre taux de spam

Postgrey permet la mise en place du greylisting sur un serveur de messagerie Postfix.

DEFINITION DU GREYLISTING

Le greylisting consiste dans le refus des messages entrants lors de leur première présentation par le serveur expéditeur. Une fois ce refus transmis au serveur expéditeur, celui ci va attendre quelques minutes avant de retenter de transmettre son message. A cette deuxième présentation, le message est accepté.

DEROULEMENT DU TRAITEMENT

Deux serveurs dialoguent ensemble pour se transmettre les emails. Le serveur expéditeur transmet son email au serveur destinataire.
Le serveur expéditeur se connecte au serveur destinataire et lui dit qu’il a un message pour tel destinataire.
Le serveur expéditeur effectue ses vérifications basées sur l’adresse du serveur expéditeur (contrôle des blacklists, conformité des commandes, etc ...)
Le serveur destinataire vérifie dans sa base de données si le message a déjà été présenté par le même serveur expéditeur avec la même adresse email expéditeur et le même email destinataire. Si on est dans le cas ou le triplet existe dans la base de données, c’est que le serveur expéditeur re-présente son email. On l’accepte.
Dans le cas contraire, c’est sa première présentation et on va renvoyer au serveur expéditeur une erreur temporaire de type "Deferred", ce qui correspond pour les humains à un "je suis super occupé là tout de suite, je ne peux pas recevoir ton email pour le moment, représentes le moi dans quelques minutes".
Quelques minutes plus tard (en fait 1000 secondes par défaut), le serveur expéditeur va représenter son email qui la sera acccepté car le triplet existe dans la base de données du serveur destinataire.
Une fois que l’expéditeur a réussi à passer 3 emails, on accepté ses emails sans les soumettre au traitement de Postgrey. Il n’y a donc plus de retard après quelques échanges.

BON OK, MAIS COMMENT CA BLOQUE LE SPAM ?

Pour le moment, tout ce qu’on voit c’est que les messages sont en fait retardés. En quoi cela bloque-t-il les spams ?

Les serveurs des spammers envoient des emails à des millions d’adresses sans savoir si les adresses expéditrices sont valides ou non. De plus, si les adresses sont effectives, ce n’est pas le serveur des spammers qui gèrent la réception des emails pour ces adresses. Ils ne peuvent donc pas gérer les retours d’erreur. Ils envoient les emails une fois et ne se souvient pas de la suite.
Avec notre système, les spams sont donc refusés immédiatement et comme les serveurs des spammers ne les ré-émettent pas, on ne les reçoit pas.

C’EST GENIAL, ET IL N’Y A PAS D’EFFET DE BORD ?

Et bien si ... malheureusement. Nous avons identifié quelques cas dans lesquels cette méthode pose quelques soucis.

Déjà il y a le délai induit par le refus. Dans les cas de serveur de messagerie d’une entreprise qui discute avec ses clients et fournisseurs, cette méthode est très efficace. Dans le cas d’une entité qui gère beaucoup de nouveaux contacts, ces retards peuvent être sensibles.

Ensuite, et c’est plus gênant, il y a le problème des gros fournisseurs de messagerie. Nous n’avons pas noté de problèmes avec Gmail mais avec les comptes Outlook hébergés sur la plateforme Microsoft. Microsoft a mis en place un "pool" de serveur d’envoi d’emails. Ce qui fait qu’un email émis par l’expéditeur A vers les destinataire B en passant pas le serveur d’envoi S1 aura un triplet A, B, S1 enregistré dans la base Postgrey du serveur de réception S2. Mais lors de la représentation, pour optimiser son infrastructure, Microsoft expédie le mail par un serveur d’envoi qui peut être S1 ou S2 ou S3 ... etc ... Si c’est S3 le serveur expéditeur du mail représenté, le triplet est donc A, B, S3 et pas A, B, S1 qui est stocké dans la base de données. Le mail est donc considéré comme un nouvel email qui doit être soumis à la politique de refus et on reprend le processus au départ. L’email provenant de ce type de configuration n’est accepté que si deux présentations de suite proviennent du même serveur.

EN PRATIQUE

Postgrey s’installe facilement mais il faut en général aller ajouter une directive dans le fichier de configuration de Postfix pour que les messages soient transmis à Postgrey.

LICENCE

Licence GPL

NOTRE CONCLUSION

Postgrey réduit considérablement le nombre de spam sur un serveur Postfix et surtout, il le fait avant de recevoir le mail ce qui limite grandement la puissance de traitement inutile. Attention toutefois à ne pas l’implémenter dans de mauvais cas de figures.