Forum général.général Utilisation de BogoFilter

Posté par  .
Étiquettes : aucune
0
10
mar.
2006
Hello !

Voilà, j'utilise actuellement BOGOFILTER derriere mon PostFix.
Donc en gros, je peux tester, en local, l'apprentissage de bogofilter.

Cependant, j'aimerais l'alimenter automatiquement.
style, creer un compte local HAM et SPAM, afin d'envoyer vers ces adresses tout ce qui est spam ou non.

j'ai donc crée 2 utilisateurs ham et spam.. mais apres ? comment dire à bogofilter de faire automatiquement un -s (boite spam) et -n (boite ham )

une idée ?

Merci
  • # Re

    Posté par  . Évalué à 4.

    J'ai codé un système similaire en vitesse pour ma machine.

    En gros, j'ai deux dossier public nommés (Ham|Spam)Feeder sur mon serveur imap ou chaque utilisateur peut copier les emails de son choix.
    Ensuite, j'ai un script perl appelé par Cron qui à intervalle de temps régulier relève les comptes en questions via le serveur Imap et alimente bogofilter.

    C'est ici: http://yanluo.net/~binarym/feed_spam_db.pl

    Tu pourras je pense très facilement t'en inspirer pour écrire une version s'alimentant via POP3/Mbox/Maildir grâce à la multitude de modules Perl.

    Sinon, une solution plus simple consiste à créer les aliases suivants dans postfix:

    ham: |/usr/bin/bogofilter -n -M
    spam: |/usr/bin/bogofilter -s -M

    Personnellement, je n'adhère pas trop pour cette méthode car n'importe quel petit malin peut te pourrir ta base en envoyant des emails sur (spam|ham)@tondomaine
    • [^] # Re: Re

      Posté par  . Évalué à 1.

      Whaa.. interessant comme tout.
      Je n'avais pas encore regardé comment marchait les aliases dans postfix, mais apparement, ça lance une commande quand un certain expéditeur est noté.
      Comme tu dis, la base peut très vite être pourrie...

      J'aimerais toutefois un apprentissage automatique de Bogofilter. Je ne sais pas trop comment m'y prendre. Qqun aurait-il une idée ?

      Quant à ton script perl, merci, je pense que cela va m'être utile.
      J'espere que ce n'est pas trop dur à comprendre, je n'ai quasi jamais fait de perl de ma vie ( oui oui, je m'en passais dès que je pouvais :p )

      Il faudra que je me penche dessus.

      • [^] # Re: Re

        Posté par  . Évalué à 2.

        Je suppose que ta chaine de mail est la suivante:


        Client -> postifx -> bogofilter -> delivery


        Afin que tes mails entrants soit analysés puis taggués ?
        Si c'est le cas, alors il te suffit d'appeler bogofilter avec l'option '-u' décrite de la façon suivante dans la page de man:


        The -u option tells bogofilter to register the message's text after classifying it as spam or non-spam. A spam message will be registered on the spamlist and a non-spam
        message on the goodlist. If the classification is "unsure", the message will not be registered. Effectively this option runs bogofilter with the -s or -n flag, as appro-
        priate. Caution is urged in the use of this capability, as any classification errors bogofilter may make will be preserved and will accumulate until manually corrected
        with the -Sn and -Ns option combinations. Note this option cause the database to be opened for write access, which can entail massive slowdowns through lock contention
        and synchronous I/O operations.


        Attention toutefois, l'auto apprentissage doit être utilisé qu'une fois ta base "stable" (faux positifs très faible) sinon, elle va se pourrir d'elle même.
        • [^] # Re: Re

          Posté par  . Évalué à 1.

          Oui, c'est exctement ça.
          J'utilise evolution pour m'envoyer des mails en local afin de tester, tout d'abord )
          donc j'envoie, ça passe par postfix, puis, c'est relayé par un filtre, celui de bogofilter., et enfn envoyé dans la boite

          Mais classer les mails, c'est vraiment pas pratique. et envoyer sur des propres boites spam@localhost et ham@localhost.. bof bof.

          c'est bien, mais pas à grande echelle ( je gere un "petit" réseau ). et si les utilisateurs envoyent des mails qu'ils ne veulent pas recevoir dans spam..humm. la base bogo va vite être pourrie jusqu'à l'os.

          Voilà pouquoi je recherche un concept de solution.

          J'ai les spam que les utilisateurs de mon réseau renvoient...comment faire apprendre à bogofilter automatiquement ces spam ?
          et ce, sans controle de personne :s

          pas facile n'est ce pas...
          • [^] # Re: Re

            Posté par  . Évalué à 1.

            C'est re-moi :P

            j'ai un petit probleme avec postfix.
            j'ai crée les utilisateurs ham et spam

            Mais je ne comprends pas où rajouter

            ham: |/usr/bin/bogofilter -n -M
            spam: |/usr/bin/bogofilter -s -M

            dans main.cf

            il y a plusieurs sortes d'alias, c'est pas très clair
            un ptit coup de main ?

            merci
            • [^] # Re: Re

              Posté par  . Évalué à 1.

              avec le main. cf c'est mieux


              # See /usr/share/postfix/main.cf.dist for a commented, more complete version

              smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
              biff = no

              # appending .domain is the MUA's job.
              append_dot_mydomain = no

              # Uncomment the next line to generate "delayed mail" warnings
              #delay_warning_time = 4h

              myhostname = localhost.localdomain
              alias_maps = hash:/etc/aliases
              alias_database = hash:/etc/aliases
              mydestination = monubuntu, localhost.localdomain, localhost.localdomain, localhost
              relayhost =
              mynetworks = 127.0.0.0/8
              mailbox_command = procmail -a "$EXTENSION"
              mailbox_size_limit = 0
              recipient_delimiter = +
              inet_interfaces = loopback-only

              ce que je ne comprends pas :

              ça : alias_database = hash:/etc/aliases
              car ce fichier n'existe pas :(

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.