GLD : Filtre greylist anti-spam

Un système de lute contre le spam : La liste grise (greylist). Ce filtre ajoute à votre serveur postfix un test qui lui permet de faire le tri entre les véritables serveurs SMTP et les PC zombies diffuseurs de spam. Je vous propose ici une modification du programme GLD 1.7 que son auteur ne fait plus évoluer depuis 2007.

Présentation

Comme je gère mon propre serveur de messagerie, j’ai été obligé de déployer des moyens efficaces de lutte contre le spam. Un filtrage utilisant spamassassin est plutôt efficace mais très consommateur en ressources CPU et mémoire. J’ai naturellement opté pour un filtrage par liste grise (greylisting). Ce système demande aux serveurs de courriers qui se connectent pour la première fois de patienter et de refaire une nouvelle tentative de connexion un peu plus tard pour délivrer le courrier. Les vrai serveurs de mail savent gérer cette possibilité du protocole SMTP. Les machines à SPAM en sont généralement incapable et ne tenteront pas de seconde tentative. Une très grande partie des spam est ainsi filtrée avant même la réception du message. On économise ainsi de la bande passante et de la CPU car spamassassin est alors beaucoup moins sollicité.

Pour intégrer cette solution de liste grise je me suis tourné vers le produit open source GLD qui est écrit en C et tourne à merveille avec Postfix. Toutefois ces capacités sont limités à une liste grise et une liste blanche. Les membres de la liste blanche sont acceptés sans condition tandis que les inconnus sont inscrits sur liste grise pour prouver que ce sont bien de véritables serveurs SMTP.

J’ai donc modifié les sources de GLD et j’y ai apporté les modifications suivantes :

  • Gestion d’une liste noire qui permet de refuser systématiquement certaines sources de messages.
  • Compteur d’utilisation des règles en liste blanche et en liste noire
  • Horodatage de la création et de la dernière utilisation des enregistrements en liste blanche et noire
  • Interface WEB écrite en php pour gérer les listes (en base MySql uniquement, pas de support pour postgresql actuellement)
  • Prise en charge de IPv6. Pour l’instant seules les adresses complètes sont prises en charge, pas les préfixes

L’interface web est totalement indépendante du filtre gld et peuvent tourner sur des machines différentes. La base MySql doit être accessible aux deux.

Téléchargements

Sources du filtre GLD modifié par mes soins : Télécharger “gld-1.7-1.0RGC.tar.gz” gld-1.7-1.0RGC.tar.gz – 39,45 Ko
Sources du site Web d’administration des listes : Télécharger “gld-web-1.0.tar.gz” gld-web-1.0.tar.gz – 33,86 Ko

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *