ImapSpamScan.pl – Anti-spam IMAP distant / déporté

imapSpamScan.pl - scriptPour des besoins personnels j’ai codé un petit script en Perl (toujours sous licence beerware) afin de pouvoir scanner un répertoire IMAP avec la puissance de SpamAssassin à distance. ça s’avère très pratique :

  • Quand on ne maîtrise pas le serveur de messagerie ;
  • Qu’il n’y a pas d’anti-spam (ou un anti-spam tout pourrit) ;
  • Que votre serveur est trop « petit » (en terme de ressource) pour accueillir un SpamAssassin ;

Des solutions anti-spam déporté existait ici ou et même mais elle ne me satisferaient pas pleinement.. Du coup j’ai pris mes petits doigts et c’est partie…

Commentaire

Petit commentaire sur le code (visible dans ma bébé forge) :

  1. Je n’ai pas trouvé mieux que la base sqlite pour dire « hey toi je t’ai déjà scanner je passe mon chemin » Ma première idée était de créer un flags IMAP personnalisé (genre « SpamChecked ») d’après ce que j’ai lu ça n’est pas permis dans le protocole IMAP standard… c’est moche…
  2. (Une amélioration à penser) Il faudrait pouvoir stocker le mot de passe en crypté.. le hic est qu’il faut que ça soit réversible pour le servir au serveur IMAP (?) là si quelqu’un à des idées je suis preneur…

Utilisation

Installer les lib perl dépendante :

Sous Ubuntu/Debian :

Sinon pour les perl compilé ou autres systèmes :

Télécharger  :

La commande à mettre au lancement de votre poste (dans /etc/xdg/autostart.. ou /etc/rc.local ou .bashrc ou … ou …)

5 thoughts on “ImapSpamScan.pl – Anti-spam IMAP distant / déporté”

  1. Un « ps » montre le mot de passe… Il faudrait mettre les paramètres de connexion dans un fichier et lire celui-ci, voire vérifier comme avec ssh que le fichier est pas en lecture pour tout le monde.

    1. Effectivement, je viens d’ajouter l’argument « imappasswordfile » 🙂

      Pour la vérification ‘lecture seulement pour l’utilisateur » ça ne me semble pas être de la « responsabilité » du programme de faire ça… J’ajouterais éventuellement un warning…

      Merci Gabriel

    1. Bonjour DC,

      De façon « simple » j’ai pas l’impression… Dans la librairie embarqué tu peux ajouter/personnaliser des adresses à rejeter ect… mais ça demande de coder pour pouvoir interagir, blacklisté ect… : http://search.cpan.org/dist/Mail-SpamAssassin/lib/Mail/SpamAssassin.pm

      Sinon, à tester et moins pénible, il y a des chances pour qu’il lise les fichiers dans /etc/spamassassin/* du coup tu peux tester en touchant à la variable « required_score 5.0 » (et en diminuant à 3 par exemple)

      Belle journée,

Laisser un commentaire

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