Spamassasin - Wie schnell lernt er...?!

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
tjabo
Posts: 59
Joined: 2004-09-13 20:16

Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-25 12:59

Hallo,

wie schnell lernt eigentlich der Spamassasin, sodass er eine gute Trefferquote hat, gibt es möglichkeiten unter confixx 3, Postfix und spamassasin, dieses lernen zu beschleunigen, oder gibt es gewisse tricks um spam noch besser abzufangen als einfach nur zu warten...


danke

mfg
tjabo

suntzu
RSAC
Posts: 698
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Spamassasin - Wie schnell lernt er...?!

Post by suntzu » 2006-09-25 13:18

Hi,

ich habe irgendwas von je 200 SPAM und HAM im Kopf.

Wenn das Lernen lange dauert, dann kann es auch nicht so viel Spam sein, wenn es schnell geht, dann ist der Schlimmste Teil des Lernens schnell vorbei.

Gruß,
Dominik

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-25 14:10

perfekt danke, wie kann ich es denn einstellen, dass es die emails in einen eigenen ordner verschiebt? gibts da ne möglichkeit, sodass die dann nach einer woche oder 2 deleted werden...

also ich denke es sind an die 500 spammails pro tag, also sollte es nicht so lange dauern :)

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Spamassasin - Wie schnell lernt er...?!

Post by daemotron » 2006-09-25 16:04

tjabo wrote:wie kann ich es denn einstellen, dass es die emails in einen eigenen ordner verschiebt? gibts da ne möglichkeit, sodass die dann nach einer woche oder 2 deleted werden...
SpamAssassin verändert nur den Mail-Header, wrappt den Mail-Body und schreibt ggf. das Subject um. Mails anhand bestimmter Kennzeichen verschieben oder löschen kann procmail

HTH

elias5000
Posts: 66
Joined: 2006-08-18 14:35
Location: Berlin

Re: Spamassasin - Wie schnell lernt er...?!

Post by elias5000 » 2006-09-25 16:51

Statt mit Procmail sollte man sich lieber mit Sieve beschäftigen. Diese Scriptsprache zum Mailhandling ist in vielen IMAP-Servern enthalten.

Der News-Flash auf der Procmail ist übrigens von 2001, was nicht gerade auf eine lebendige Maintenance schließen lässt...

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-25 19:34

procmail ist drauf, ein imap client noch nicht... gibts irgendwo ein gutes tutorial um procmail so zu konfigurieren, dass es die mails in einen getrennten ordner schiebt und eine zusammenfassende email sendet oder brauche ich dazu einen imapd courier ? (wenn jemand auch dazu ein passendes confixx tutorial hätte, wäre super /oder ne funktionierende RPM)

mfg
tj

zg0re
Posts: 104
Joined: 2003-06-04 15:33

Re: Spamassasin - Wie schnell lernt er...?!

Post by zg0re » 2006-09-25 21:17


tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-26 13:24

ach ja, wie sehe ich denn eigentlich ob der spamfilter lernt oder nicht? braucht es dazu ein eigenes programm?! danke

zg0re
Posts: 104
Joined: 2003-06-04 15:33

Re: Spamassasin - Wie schnell lernt er...?!

Post by zg0re » 2006-09-26 14:40

sa-learn --dbpath /var/amavis/.spamassassin/bayes --dump magic

Wenn du sowas in der Art:

0.000 0 3 0 non-token data: bayes db version
0.000 0 951 0 non-token data: nspam
0.000 0 2457 0 non-token data: nham
0.000 0 134902 0 non-token data: ntokens
0.000 0 1152988675 0 non-token data: oldest atime
0.000 0 1159213224 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync atime
0.000 0 1158533884 0 non-token data: last expiry atime
0.000 0 5529600 0 non-token data: last expire atime delta
0.000 0 30952 0 non-token data: last expire reduction count

siehst, heisst es, dass er lernt.

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-26 18:46

0.000 0 2 0 non-token data: bayes db version
0.000 0 0 0 non-token data: nspam
0.000 0 0 0 non-token data: nham
0.000 0 0 0 non-token data: ntokens
0.000 0 0 0 non-token data: oldest atime
0.000 0 0 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync atime
0.000 0 0 0 non-token data: last expiry atime
0.000 0 0 0 non-token data: last expire atime delta
0.000 0 0 0 non-token data: last expire reduction count habe das erhalten...

also scheint da nichts richtig zu laufen...
wie kann ich es aktivieren?
danke

zg0re
Posts: 104
Joined: 2003-06-04 15:33

Re: Spamassasin - Wie schnell lernt er...?!

Post by zg0re » 2006-09-26 19:11

Du musst das Programm sa-learn ausführen mit spam bzw. hammails als Input. Ich selbst hab ein kleines script, das ich per cronjob ausführe:

Code: Select all

#!/bin/bash -e

SADIR=/var/amavis/.spamassassin
DBPATH=/var/amavis/.spamassassin/bayes
SPAMFOLDERS="
/var/vmail/*/*[^postmaster]*/.spam/cur 
"
HAMFOLDERS="
/var/vmail/*/*[^postmaster]*/cur
"

for spamfolder in $SPAMFOLDERS ; do 
echo Learning spam from $spamfolder ; 
nice sa-learn --spam --showdots --dbpath $DBPATH $spamfolder
done

for hamfolder in $HAMFOLDERS ; do 
echo Learning ham from $hamfolder ; 
nice sa-learn --ham --showdots --dbpath $DBPATH $hamfolder
done
Das script nimmt sich also alle mails aus den Spamordnern der User und lernt sa damit an. Danach werden die Mails aus dem Hauptordner des Posteingangs genommen. Hierbei ist es aber wichtig, dass die User darauf achten, dass keine Spammails im Posteingangshauptordner rumliegen. Alternativ kann man auch ein separates Verzeichnis für ham einrichten, was aber für den User auch recht aufwändig ist, da er dann die normalen Mails reinkopieren müsste. Naja, egal, so funktioniert das bei mir recht gut.

Hab das extra auf Ordnerbasis eingerichtet anstatt es auf Weiterleitungsbasis zu machen (User bekommt ne spammail, und leitet sie an spam@domain.tld weiter), da beim weiterleiten die ganzen Header verloren gehen und damit das Ergebnis verfälscht würde.

Allgemein hab ich aber mit dspam statt oder mit spamassassin zusammen bessere Erfahrungen gemacht. Den fütterst du einmal mit nem Hamcorpus (sprich paar hundert hammails) und die nicht erkannten Spams werden vom user dann wie oben beschrieben weitergeleitet. Hier geht das, da dspam eine Datenbank pflegt, in welcher die Originalen Mails verwahrt werden. Er hängt dann beim ausliefern an die Mail ne Signatur an, und wenn die Mail nun weitergeleitet wird, kann sich dspam anhand dieser Signatur die Originalmail aus der DB holen.

Auf meinem Hauptserver läuft dspam zusammen mit Spamassassin. Beide haben die gleiche Anzahl mails gesehen, und dspam ist eindeutig zuverlässiger. SA lass ich eigentlich nur noch laufen, da er dank dem FuzzyOCR Plugin auch Spam in Mails entdeckt, die nur Bilder enthalten.

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-26 19:24

danke, aber ich habe momentan noch viel zu viele spammails im posteingang, kann ich dem learn auch mal nur spam geben? oder geht das nicht?
welche funktion hat denn (--showdots)?

kann ich auch per procmail die mails in einen spamordner schieben?
also sodass ich die spam 1 mails in einen ordner schiebe...?!

gibts dann ne möglichkeit die alle 14 tage zu löschen? denn per cronjob geht das ja nicht, da dann einfach alle 14 tage alles weg geht, und nicht das 14tage alte zeug... danke

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-28 10:57

habe nun noch ne frage, habe jetzt erstmal 500 spam mails einlernen lassen, ham mails habe ich noch nicht 200,
wie sehe ich dann aber ob der bayesfilter arbeitet?
gibts da ne möglichkeit?! wohin werden die mails dann verschoben, welche erkannt werden? oder was passiert mit diesen, kann ich da irgendwo regeln festlegen?

danke...
ach ja und in meinem mailheader steht autelearn=no

danke fuer eure hilfe.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Spamassasin - Wie schnell lernt er...?!

Post by daemotron » 2006-09-28 11:43

tjabo wrote:gibts dann ne möglichkeit die alle 14 tage zu löschen? denn per cronjob geht das ja nicht, da dann einfach alle 14 tage alles weg geht, und nicht das 14tage alte zeug... danke
Das geht durchaus per Cron-Job. Du darfst eben nicht stumpf alle 14 Tage alles löschen, sondern musst täglich mit find ermitteln, welche Dateien 14 Tage alt sind und diese dann löschen:

Code: Select all

find /pfad/zu/mails -mtime +14 -print | xargs rm -f

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-28 12:11

jfreund wrote:
tjabo wrote:gibts dann ne möglichkeit die alle 14 tage zu löschen? denn per cronjob geht das ja nicht, da dann einfach alle 14 tage alles weg geht, und nicht das 14tage alte zeug... danke
Das geht durchaus per Cron-Job. Du darfst eben nicht stumpf alle 14 Tage alles löschen, sondern musst täglich mit find ermitteln, welche Dateien 14 Tage alt sind und diese dann löschen:

Code: Select all

find /pfad/zu/mails -mtime +14 -print | xargs rm -f
es handelt sich aber um die daten... also die mails sind bei mir in einer mailbox gespeichert, nicht als einzelne dateien, ich denke das ist das problem?! geht das irgendwie...
danke

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Spamassasin - Wie schnell lernt er...?!

Post by daemotron » 2006-09-28 12:17

Das mbox-Format ist pfui - zumindest, wenn Du die Mails filtern, verhackstücken, braten und pürieren möchtest. Tja, dann dürfte es Dir auch schwerfallen, mit Ordnern zu hantieren und Mails automatisch irgendwo abzulegen. Von inkrementellen Backups mal ganz zu schweigen... :roll:

Ich würde auf's maildir-Format wechseln - für Mail-Gateways mit mehreren sequenziellen Filterfunktionen ist das deutlich besser geeignet... und zur Not kann man auch mal mit nem Shell-Skript beigehen.

Tutorials zum Wechsel von mbox auf maildir gibt's massenhaft - einfach mal bei google schauen, dann kannst Du auch den Aufwand dafür abschätzen.

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-28 12:25

jfreund wrote:Das mbox-Format ist pfui - zumindest, wenn Du die Mails filtern, verhackstücken, braten und pürieren möchtest. Tja, dann dürfte es Dir auch schwerfallen, mit Ordnern zu hantieren und Mails automatisch irgendwo abzulegen. Von inkrementellen Backups mal ganz zu schweigen... :roll:

Ich würde auf's maildir-Format wechseln - für Mail-Gateways mit mehreren sequenziellen Filterfunktionen ist das deutlich besser geeignet... und zur Not kann man auch mal mit nem Shell-Skript beigehen.

Tutorials zum Wechsel von mbox auf maildir gibt's massenhaft - einfach mal bei google schauen, dann kannst Du auch den Aufwand dafür abschätzen.
ich frage mich gerade ob sich der aufwand überhaupt lohnt und ob mir confixx (v.3.09) nicht probleme macht...?!

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-28 13:28

wie kann ich denn per procmailrc alle emails kopieren, die spamstatus auf no haben, also die die unter den 5.0 punkten liegen, und wie kann ich alle emails kopieren die total 0 spampunkte haben? danke

mfg
tjabo

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Spamassasin - Wie schnell lernt er...?!

Post by daemotron » 2006-09-28 14:53

tjabo wrote:ich frage mich gerade ob sich der aufwand überhaupt lohnt und ob mir confixx (v.3.09) nicht probleme macht...?!
Sollte ansich nicht - auf die Postfächer selbst greifen ja nur der MDA (z. B. Postfix) und der MRA (z. B. Courier) zu, alle anderen Programme nutzen einen der beiden für den Zugriff.

Probleme könnte es nur geben, wenn der von Dir eingesetzte MRA nicht mit dem maildir-Format zurecht kommt. Postfix tut es jedenfalls...

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-28 19:37

postfix ist drauf...

aber ich habe nun ein anderes problem als die maildir, oder mailbox, das läuft ja momentan...

nur habe ich nun eine regel erstellt in procmail:

Code: Select all

:0:
* ^X-Spam-Level: ***************
/var/spool/mail/spam

:0:
* ^X-Spam-Status: Yes
/var/spool/mail/spam


:0 c
* ^X-Spam-Status: No
/var/spool/mail/ham
soweit so gut... diese funktionieren jetzt aber nicht wirklich...
da der erste user für den es dies angewandt hat, war user web2p2, jetzt werden nur die mails von web2p2 nach ham kopiert und nach spam verschobene, da er der besitzer dieses ordners ist. ich möchte aber alle mails von allen usern auf dem server, wenn es sich um spam handelt verschieben, dass ich es mit sa-learn lernen kann und alle ham mails kopieren, sodass ich auch möglich viele von diesen (nach einer manuellen aussortierung) einlernen kann, kann mir jemand sagen, wie ich diese regeln user unabhängig erstellen kann? sodass alle spammails in der mbox (spam) landen und alle ham, in der ham....

danke.
lg
tjabo

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Spamassasin - Wie schnell lernt er...?!

Post by daemotron » 2006-09-28 22:28

BTW: Wenn Du Mails einfach kopierst (egal zu welchem Zweck) begibst Du Dich rechtlich auf sehr dünnes Eis... Wenn auf dem Server nur Deine eigenen E-Mail-Konten rumfuhrwerken, kannst Du so vorgehen. Aber wenn Kunden drauf sind... autsch.

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-29 10:40

also sind zu 100% eigene mails die da ankommen, von dem her ist das nicht das problem...

nur müsste ich möglichst viel ham vor dem abrufen herbekommen und das aus allen mailboxen, um sa-learn möglich schnell und gut anzulernen...

hat jemand ahnung wie ich mit procmail alle mails von allen usern die einem best. kriterium entsprechen in die selbe mailbox bekomme=?

danke

tjabo
Posts: 59
Joined: 2004-09-13 20:16

Re: Spamassasin - Wie schnell lernt er...?!

Post by tjabo » 2006-09-29 13:31

hmm habe nun noch ein problem, wo kann ich denn userspezifisch die spammails verschieben, also in eine mailbox, wo dann der spam drinnen ist`? ist die mit mailboxen überhaupt möglich? denn seid die bayes aktiv sind, läuft das ganze wunderbar, bis jetzt eine super spamerkennung ;) nun möchte ich aber den spam verschieben, da ich den wirklich nicht brauche, aber dies klappt nicht wirklich, wo kann ich denn dies pro user angeben, dass es für jeden user eine eigene mailbox zum bsp: web4p1-spam erstellt, die dann alle 14 tage geleert wird? oder gibt es sonst noch möglichkeiten?! mit procmail das ganze zu verschieben? danke 4 help