Journal : Spamassassin/Bogofilter : net avantage à second !
Posté par Xavier Teyssier (Jabber id, page perso, ) le 08 novembre 2006
Petite mise en contexte :
J'utilise régulièrement une dizaine d'adresses mails. Parmi celles-ci, il y en a notamment une qui me sert de catch-all pour plusieurs domaines, et une autre utilisée en clair depuis plus de huit ans, notamment sur des newsgroups.
Tout ceci me permet de recevoir entre 100 et 250 SPAMs par jour.
Afin de filtrer tout cela, j'avais demandé à mon client mail (Kmail) d'utiliser SpamAssassin.
Grosse déception : celui ci ne détectait guère plus de 40 % du SPAM, et trouvait régulièrement des faux positifs, notamment sur des lettres d'informations en HTML.
Pendant plus d'un an, j'ai chassé les 60 % de SPAM restant avec des filtres perso. Mais il me restait toujours une dizaine de SPAM par jour qui échappaient aux différentes règles.
Il y a deux semaines, j'ai décidé de tester Bogofilter, en lieu et place de SpamAssassin.
Je lui ai donc donné en apprentissage les 30000 SPAMs qui trainaient dans un répertoire, et en temps que mails "OK", quelques milliers de mails issus de mailing-liste diverses.
Et là, très bonne surprise : suivant les jours, de 98 à 100% de mes SPAMs sont détectés par Bogofilter, et pas un seul faux positif en deux semaines !
Conclusion : Bogofilter, c'est bien !
SpamAssassin : http://spamassassin.apache.org/
Bogofilter : http://bogofilter.sourceforge.net/
J'utilise régulièrement une dizaine d'adresses mails. Parmi celles-ci, il y en a notamment une qui me sert de catch-all pour plusieurs domaines, et une autre utilisée en clair depuis plus de huit ans, notamment sur des newsgroups.
Tout ceci me permet de recevoir entre 100 et 250 SPAMs par jour.
Afin de filtrer tout cela, j'avais demandé à mon client mail (Kmail) d'utiliser SpamAssassin.
Grosse déception : celui ci ne détectait guère plus de 40 % du SPAM, et trouvait régulièrement des faux positifs, notamment sur des lettres d'informations en HTML.
Pendant plus d'un an, j'ai chassé les 60 % de SPAM restant avec des filtres perso. Mais il me restait toujours une dizaine de SPAM par jour qui échappaient aux différentes règles.
Il y a deux semaines, j'ai décidé de tester Bogofilter, en lieu et place de SpamAssassin.
Je lui ai donc donné en apprentissage les 30000 SPAMs qui trainaient dans un répertoire, et en temps que mails "OK", quelques milliers de mails issus de mailing-liste diverses.
Et là, très bonne surprise : suivant les jours, de 98 à 100% de mes SPAMs sont détectés par Bogofilter, et pas un seul faux positif en deux semaines !
Conclusion : Bogofilter, c'est bien !
SpamAssassin : http://spamassassin.apache.org/
Bogofilter : http://bogofilter.sourceforge.net/
> Lire le journal (51 commentaires, moyenne: 2,8).
Vous avez demandé le commentaire #772750.



Gourmand Bogofilter ?
J'utilise aussi Spamassassin avec kmail et pendant la vérification des mails Spamassassin bouffe 100% du CPU, normal ?
Bogofilter fait-il mieux de ce coté ?
[^]Re: Gourmand Bogofilter ?
Quand j'utilisais Spamassassin avec KMail, il mettait quand même pas mal de temps à analyser tous mes mails.
Je crois qu'il y a la possibilité de faire fonctionner une partie de Spamassassin en daemon. Cela évite de devoir recharger les librairies Perl quand de nouveaux mails sont arrivés dans la boîte puis filtrés par Spamassassin.
Je crois que j'avais essayé, mais que finalement ça ne changeait pas grand chose.
Depuis que je suis passé à Bogofilter, je n'ai plus ce problème de lenteur. J'ai également constaté que Bogofilter m'offrait de meilleurs résultats que Spamassassin.
Cependant, je n'avais pas cherché très longtemps pour configurer Spamassassin afin d'obtenir les meilleures performances possibles au niveau du filtrage.
[^]Re: Gourmand Bogofilter ?
Je n'ai jamais utilisé Spamassassin. Je l'avais vu fonctionner sur une machine bien plus récente que la mienne (P4 2 Ghz alors que je me servais d'un Duron 900) et ça m'avait dissuadé de l'installer, même si il ne laissait pratiquement passer aucun spam.
Avec Bogofilter, je n'ai pas de gros problèmes de performances et il ne laisse pas passer grand chose. Par contre, les premiers temps, sûrement à cause de la faiblesse de l'échantillon que j'avais utilisé pour son entrainement initial, Bogofilter avait renvoyé deux ou trois faux positifs.
Celà dit, ces deux programmes ne sont pas identiques. Bogofilter est un filtre bayésien. Le filtre bayésien n'est qu'une des méthodes utilisées par Spamassassin pour vérifier les mails.
A notter aussi que Bogofiler est écrit en C (Spamassassin est en Perl) ce qui doit également aider.
Avec Bogofilter, j'ai l'impression que ce sont les accès à la base de données qui prenaient le plus de temps. Depuis que ma base de données (128Mo) est dans un ramdisk (sauvegardé toutes les 6 heures), la vérification des mails est instantannée.
Enfin, je trouve très surprenants les résultats de Spamassassin qu'a obtenu l'auteur de ce journal. Celui que j'avais vu à l'oeuvre était vraiment redoutable. A mon avis, il n'a pas entrainé le filtre bayésien de son Spamassassin (ou il ne l'a pas fait correctement).
[^]Re: Gourmand Bogofilter ?
> A notter aussi que Bogofiler est écrit en C (Spamassassin est en Perl) ce qui doit également aider.
C'est bizarre, à chaque fois que je vois un logiciel important développé en Perl, je suis toujours autant étonné par la charge CPU/RAM qui est utilisée (spamassassin, sympaML, etc...)
Certain crieront aux trolls, mais je me demande si Perl est un "bon" language finalement...
[^]Re: Gourmand Bogofilter ?
Perso, je pense que Perl est un bon langage pour le KISS. Seulement certains l'utilisent aussi pour faire tout et n'importe quoi, il suffit de regarder sur CPAN. Et bien pour moi, c'est pas franchement la bonne solution, il y a quand même des langages plus adaptés que d'autres à certains développements. Clairement, je n'irais pas faire du code en C pour un programme qui va servir une fois à manipuler des fichiers système mais à l'inverse, coder un anti-spam en Perl me semble délirant.
Enfin, tout ça, c'est mon avis.
[^]Re: Gourmand Bogofilter ?
Il paraît même qu'il existe des jeux codés en Perl, et qui bouffent pas mal de ressources juste pour lancer des boules de couleurs...
----->[]
[^]Re: Gourmand Bogofilter ?
Il y a quand même du C compilé dans frozen-bubble, justement sur les parties qui nécessitent pas mal de calculs (les transitions dans fb1, je n'ai pas regardé le code de fb2 mais j'imagine que c'est du même acabit.)
[^]Re: Gourmand Bogofilter ?
C'est pareil mais il y a en plus les effets graphiques du menu, un croppeur d'image, un algo de rotation d'images avec lissage bicubique (pour quand on tourne le canon), les bindings d'accès à SDL_Pango, et des overrides pour des bindings foireux ou manquants dans sdlperl.
[^]Re: Gourmand Bogofilter ?
Et bien justement je trouve que pour un jeu en perl, il bouffe très peu de ressources. J'ai déjà vu un paquet de jeux en C qui utilisent le CPU à 100% pendant toute la durée du jeu...
[^]Re: Gourmand Bogofilter ?
Enfin, je trouve très surprenants les résultats de Spamassassin qu'a obtenu l'auteur de ce journal. Celui que j'avais vu à l'oeuvre était vraiment redoutable. A mon avis, il n'a pas entrainé le filtre bayésien de son Spamassassin (ou il ne l'a pas fait correctement).
J'ai également été surpris étant donné que j'ai souvent entendu parler en bien de ce filtre.
Pour l'entrainement, il s'est effectué avec les mêmes SPAMS que pour Bogofilter.
La seule différence, c'est que SpamAssassin a été nourris avec au fur et à mesure de leur arrivée, c'est à dire en quelques mois, alors que Bogofilter les a tous appris en une nuit.
[^]Re: Gourmand Bogofilter ?
Sous Evolution je suis passé aussi de Spamassassin (en mode démon) à BogoFilter il y a quelque mois. Y a pas photo, Bogofilter est bien plus rapide pour trier les messages! J'ai également eu l'impression d'un meilleur filtrage, instantannément (alors que Spamassassin avait déjà bouffé plus d'un an de spam en apprentissage...).
Ceci dit Spamassassin est capable de traiter une mbox d'un seul coup il me semble. L'appeler pour chaque message, un par un, ne doit pas aider à aller vite, là où on pourrait sûrement lui balancer la liste en une seule fois.
[^]Re: Gourmand Bogofilter ?
Oui, j'ai oublié de le préciser dans le journal, mais question performance, y'a pas photo non plus.
A la louche, quand j'indique à SpamAssassin qu'un mail est un Spam, il prend presque 2 secondes.
Avec Bogofilter, il m'en traite quasiment 6 dans le même laps de temps.