Spamassassin und die Funktion autolearn

leines

Registered User
Hallo liebes Forum,

bezugnehmend auf Huschis Antwort in diesem Thread:

(vor allem auf die Aussage zu "Mein Spamassassin läuft im Prinzip, aber er scheint nicht richtig dazuzulernen.").

Ich bin zwar nicht der betroffene ColumbusDB, aber ich habe ein ähnliches Problem, welches ich hier kurz wiedergeben möchte:

Meine Konfiguration besteht aus einem Strato-HE-Server, mit ServerAdmin24, vpopmail, qmail. Als OS läuft SuSE 9.3. Die verwendete Spamassassionversion ist 3.0.4.

Ich habe Spamassassion so konfiguriert, dass es mir in jeden Mailheader einen Spamscore hineinschreibt, das funktioniert wunderbar.

Bisher habe ich mittels sa-learn --spam --mbox ./dateimitspam.mbox ca. 1000 Mails erfolgreich als Spam in die Datenbank eingetragen.

Beim Abrufen der eMails (täglich ca. 200 Mails, davon 190 Spam) werden ca. 25-45 Mails maximal von SA als Spam erkannt, als solcher markiert (Subjectänderung, Bericht mit Vorschau +Attachment der Originalmail, zutreffende Regeln, etc.) und aussortiert.

Was mich wundert ist, dass bisher (Installation läuft so seit ca. 1 Woche) noch in KEINER der inzwischen aufgelaufenen ca. 1500 Mails im Header steht: "autolearn=yes".

Entweder die Mail ist als Spam markiert ("autolearn=no") oder sie ist es nicht ("autolearn=failed").

Meine Vermutung (leider reicht es vom Wissensstand her nur für eine solche, ich bin hier, um den Wissensstand zu erhöhen) ist, dass ich zwar eine Menge Spam in der sa-learn-Datenbank habe, aber diese Datenbank nicht beim Eintrudeln von eMails zu Rate gezogen wird. In den zutreffenden Regeln bei Spam-Mails steht nichts von Bayes, nur die Standardregeln, die ich in einigen .cf-Files dazugeladen habe.

Alle meine Sorgen wären sofort zerschlagen, wenn ich nur eine einzige Spam-Mail mit "autolearn=yes" sähe, dann wüsste ich, es läuft, er braucht nur noch eine Weile.

So bleibt der Verdacht, dass er ein Problem hat, die bereits gelernten Mails mit neu eintrudelnden zu vergleichen.

Nun einige Konfigurationsdaten:

Code:
Auszug aus der local.cf:
use_bayes 1
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777
bayes_auto_learn 1
Es gibt keinen ORDNER /var/spool/spamassassin/bayes, in /var/spool/spamassassin liegen nur 2 FILES bayes_seens und bayes_toks, ist das richtig???

und

Code:
Der Beginn von "sa-learn --dump|more":
0.000          0          3          0  non-token data: bayes db version
0.000          0       1201          0  non-token data: nspam
0.000          0          0          0  non-token data: nham
0.000          0     107572          0  non-token data: ntokens
0.000          0 1151095896          0  non-token data: oldest atime
0.000          0 1154428578          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
0.500        158          0 1154412709  0623e506fc
0.500          1          0 1152037984  0c07670101(...und so fort)
(BTW: Wie bekomme ich NUR die Ausgabe der Übersicht, ohne die ellenlangen Zeilen dahinter?)

Meine Fragen:
- Wie stelle ich fest, ob die Datenbank, die ich mühsam täglich mit nicht identifizierten Spams anlerne, überhaupt zu Rate gezogen wird?

- Wenn sie es nicht wird, wie bekomme ich sie dann dazu? (Und welche Angaben braucht Ihr ggfs. von mir, um mir weiterhelfen zu können, bzw. mich auf die richtige Fährte zu stupsen?)

- Ist es u.U. sogar normal, dass in der ersten Zeit -trotz inzwischen vorhandener 1000 Spams- kein autolearn stattfindet und ich nur abwarten muss?

Sofern mir geholfen werden kann würde ich zum Thema gerne ein kleines Howto verfassen, da ich denke, es betrifft noch mehr hier, die ein ähnliches Problem haben.

Bisher schonmal vielen Dank an marneus, thenull und djrick, die mir bis zu diesem Punkt schon sehr viel gehofen haben!!
 
Last edited by a moderator:
- Wie stelle ich fest, ob die Datenbank, die ich mühsam täglich mit nicht identifizierten Spams anlerne, überhaupt zu Rate gezogen wird?

Am Zeitstempel der Datenbank. ls -l

- Wenn sie es nicht wird, wie bekomme ich sie dann dazu? (Und welche Angaben braucht Ihr ggfs. von mir, um mir weiterhelfen zu können, bzw. mich auf die richtige Fährte zu stupsen?)
Da gibt ein Blick in die mail.log bzw. messages log (aber ich glaub es ist mail) mehr Auskunft. Dort steht dann z.B. wenn er keinen Zugriff auf die DB bekommt, wegen Benutzerrechten bzgl. der Files.

- Ist es u.U. sogar normal, dass in der ersten Zeit -trotz inzwischen vorhandener 1000 Spams- kein autolearn stattfindet und ich nur abwarten muss?
Nein, das autolearn sollte anspringen.

Es gibt keinen ORDNER /var/spool/spamassassin/bayes, in /var/spool/spamassassin liegen nur 2 FILES bayes_seens und bayes_toks, ist das richtig???
Bei bayes_path /var/spool/spamassassin/bayes erstellt er bayes_toks und bayes_seen, bei /var/spool/spamassassin/hugo erstellt er hugo_toks und hugo_seen. Alles klar?

Grüße
Sinepp
 
Ui, Deine Info hilft mir schonmal ein Stück weiter!

Code:
-rw-rw-rw-   1 root root  172032 Aug  1 14:46 bayes_seen
-rw-rw-rw-   1 root root 2658304 Aug  2 15:12 bayes_toks

Die Dateien sind, das brauche ich eigentlich nicht zusätzlich zu erwähnen, aber das Posting wird dadurch schöner, von gestern und heute. Jedoch dachte ich, er berührt diese Dateien mit jedem Eingang neuer Mail? Dies scheint er nicht zu tun, warum?

Wie kann ich herausfinden, wann (Uhrzeit, bzw. Gelegenheit) er diese Abgleiche macht? Ist es nicht sinnvoll, dass er diese Abgleiche macht, wenn er Mails abholt? Ich hab die Zeit jetzt nicht im Kopf, aber die eingestempelten Zeiten sagen mir, dass er die Dateien zuletzt berührt hat, als ich ein "sa-learn --sync" händisch durchgeführt habe.

/var/log/mail.err sagt folgendes:
Code:
Jul 24 12:49:21 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:127.0.0.1], headers=0, body=0
Jul 25 13:25:48 hxxyyzz spamc[14236]: invalid usage
Jul 26 04:15:33 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:64.72.117.65], headers=0, body=0
Jul 27 14:35:51 hxxyyzz spamc[30469]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Jul 27 14:35:52 hxxyyzz spamc[30469]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Jul 27 14:35:53 hxxyyzz spamc[30469]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Jul 27 14:35:54 hxxyyzz spamc[30469]: connection attempt to spamd aborted after 3 retries
Jul 27 14:44:28 hxxyyzz spamc[30514]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Jul 27 14:44:29 hxxyyzz spamc[30514]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Jul 27 14:44:30 hxxyyzz spamc[30514]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Jul 27 14:44:31 hxxyyzz spamc[30514]: connection attempt to spamd aborted after 3 retries
Jul 27 14:53:07 hxxyyzz spamc[30577]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Jul 27 14:53:08 hxxyyzz spamc[30577]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Jul 27 14:53:09 hxxyyzz spamc[30577]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Jul 27 14:53:10 hxxyyzz spamc[30577]: connection attempt to spamd aborted after 3 retries
Jul 28 16:30:29 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:69.150.209.211], headers=0, body=0
Jul 29 02:09:02 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:69.41.162.57], headers=0, body=0
Jul 31 18:48:02 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:69.150.209.211], headers=0, body=0
Aug  1 00:07:20 hxxyyzz imapd: DISCONNECTED, ip=[::ffff:69.150.209.211], headers=0, body=0
Aug  2 14:15:03 hxxyyzz spamc[10264]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Aug  2 14:15:04 hxxyyzz spamc[10264]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Aug  2 14:15:05 hxxyyzz spamc[10264]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Aug  2 14:15:06 hxxyyzz spamc[10264]: connection attempt to spamd aborted after 3 retries
Was macht er denn da mit IMAP? Meines Wissens läuft da nichts (wovon ich weiss) mit IMAP.


/var/log/mail dieses: (Auszug)
Code:
Aug  2 20:45:01 hxxyyzz spamd[10678]: connection from localhost [127.0.0.1] at port 52181                                                                                                                                                                                   
Aug  2 20:45:04 hxxyyzz spamd[10678]: processing message <A3CFF2EC.6163E81@..........com> for thereal......@.......de:60000.                                                                                                                                              
Aug  2 20:45:17 hxxyyzz spamd[10678]: clean message (1.4/3.5) for thereal......@.......de:60000 in 15.9 seconds, 2415 bytes.                                                                                                                                                
Aug  2 20:45:17 hxxyyzz spamd[10678]: result: .  1 - HTML_70_80,HTML_MESSAGE,MIME_HTML_ONLY scantime=15.9,size=2415,mid=<A3CFF2EC.6163E81@.........com>,autolearn=no                                                                                                     
Aug  2 20:45:18 hxxyyzz qmail-scanner[12438]: Clear:RC:0(216.142.118.151):SA:0(1.4/3.5): 20.2009 2358 handy_zu_verschenkenaty@myfirstmail.com thereal......@.......de Wir_verschenken_Handys <A3CFF2EC.6163E81@.........com> hxxyyzz115454429769612438-unpacked:2358     
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.679457 new msg 9307205                                                                                                                                                                                                            
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.679623 info msg 9307205: bytes 3044 from <handy_zu_verschenkenaty@..........com> qp 12470 uid 60000                                                                                                                             
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.900568 starting delivery 74: msg 9307205 to local ........de-thereal.....@.......de                                                                                                                                               
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.901151 status: local 1/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.913042 delivery 74: success: user_does_not_exist,_but_will_deliver_to_/home/vpopmail/domains/.......de/....../Maildir//did_0+0+1/                                                                                                 
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.913721 status: local 0/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:45:18 hxxyyzz qmail: 1154544318.914182 end msg 9307205                                                                                                                                                                                                            
Aug  2 20:46:16 hxxyyzz spamd[10679]: connection from localhost [127.0.0.1] at port 52182                                                                                                                                                                                   
Aug  2 20:46:18 hxxyyzz spamd[10680]: connection from localhost [127.0.0.1] at port 52183                                                                                                                                                                                   
Aug  2 20:46:22 hxxyyzz spamd[10679]: processing message <d29a01c6b6b3$57eb7dd0$12b10b65@Christineydqy> for ......@.......de:60000.                                                                                                                                         
Aug  2 20:46:25 hxxyyzz spamd[10680]: processing message <7c1901c6b68b$1c68fdf0$b313fc5a@Utexscn> for thereal......@.......de:60000.                                                                                                                                        
Aug  2 20:46:50 hxxyyzz spamd[10679]: identified spam (6.2/3.5) for ......@.......de:60000 in 35.1 seconds, 2852 bytes.                                                                                                                                                     
Aug  2 20:46:50 hxxyyzz spamd[10679]: result: Y  6 - FORGED_OUTLOOK_TAGS,HTML_50_60,HTML_MESSAGE,MIME_HTML_MOSTLY,MPART_ALT_DIFF,PORN_URL_MISC scantime=35.1,size=2852,mid=<d29a01c6b6b3$57eb7dd0$12b10b65@Christineydqy>,autolearn=no                                      
Aug  2 20:46:52 hxxyyzz qmail: 1154544412.210720 new msg 9307207                                                                                                                                                                                                            
Aug  2 20:46:52 hxxyyzz qmail: 1154544412.210842 info msg 9307207: bytes 6067 from <Christineydqy@..........com> qp 12489 uid 60000                                                                                                                                          
Aug  2 20:46:52 hxxyyzz qmail-scanner[12476]: Clear:RC:0(60.195.249.35):SA:1(6.2/3.5): 40.90201 2808 christineydqy@.........com ......@.......de Gewinnspiel:_Gewinnen_Sie_einen_iPod <d29a01c6b6b3$57eb7dd0$12b10b65@Christineydqy> hxxyyzz115454436969612476-unpacked:2808
Aug  2 20:46:54 hxxyyzz spamd[10680]: identified spam (6.2/3.5) for thereal......@.......de:60000 in 37.2 seconds, 2482 bytes.                                                                                                                                              
Aug  2 20:46:54 hxxyyzz spamd[10680]: result: Y  6 - FORGED_OUTLOOK_TAGS,HTML_50_60,HTML_MESSAGE,MIME_HTML_MOSTLY,MPART_ALT_DIFF,PORN_URL_MISC scantime=37.2,size=2482,mid=<7c1901c6b68b$1c68fdf0$b313fc5a@Utexscn>,autolearn=no                                            
Aug  2 20:46:54 hxxyyzz qmail: 1154544414.974919 starting delivery 75: msg 9307207 to local .......de-......@.......de                                                                                                                                                      
Aug  2 20:46:54 hxxyyzz qmail: 1154544414.975398 status: local 1/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:46:54 hxxyyzz qmail: 1154544414.987105 delivery 75: success: did_0+0+1/                                                                                                                                                                                           
Aug  2 20:46:54 hxxyyzz qmail: 1154544414.987754 status: local 0/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:46:54 hxxyyzz qmail: 1154544414.988120 end msg 9307207                                                                                                                                                                                                            
Aug  2 20:46:55 hxxyyzz qmail-scanner[12477]: Clear:RC:0(84.253.151.77):SA:1(6.2/3.5): 43.92666 2444 utexscn@...........com thereal......@.......de 10x_iPod,_5x_X-Box360,_3_Tage_Gratis_XXX <7c1901c6b68b$1c68fdf0$b313fc5a@Utexscn> hxxyyzz115454437069612477-unpacked:2444 
Aug  2 20:46:56 hxxyyzz qmail: 1154544416.339547 new msg 9307199                                                                                                                                                                                                            
Aug  2 20:46:56 hxxyyzz qmail: 1154544416.340009 info msg 9307199: bytes 5698 from <Utexscn@...........com> qp 12492 uid 60000                                                                                                                                                
Aug  2 20:46:57 hxxyyzz qmail: 1154544417.458625 starting delivery 76: msg 9307199 to local .......de-thereal......@.......de                                                                                                                                               
Aug  2 20:46:57 hxxyyzz qmail: 1154544417.458737 status: local 1/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:46:57 hxxyyzz qmail: 1154544417.470420 delivery 76: success: user_does_not_exist,_but_will_deliver_to_/home/vpopmail/domains/.......de/....../Maildir//did_0+0+1/                                                                                                 
Aug  2 20:46:57 hxxyyzz qmail: 1154544417.470537 status: local 0/10 remote 0/20                                                                                                                                                                                             
Aug  2 20:46:57 hxxyyzz qmail: 1154544417.525571 end msg 9307199
Da sehe ich keine Fehler, bzgl. der Datenbank.
 
Last edited by a moderator:
Servus leines,

mir fiel auf, dass Du gar kein Ham angelernt hast. Somit weiß SA ja gar nicht, was er als Ham deklarieren soll. Gib ihm ein wenig positives Futter an die Hand ;)
 
Also das gleiche Problem hatte ich auch schon, der Zeitstempel der BayesDB sagt eigentlich schon alles: Nur wenn du manuell ein sa-learn machst legt die Kiste los.

Hier wird beschrieben, was auch damals mein Problem war, nämlich dass Spamass. bei "failed" keinen Zugriff auf die Datenbank hat...

Ich habe damals folgendes gemacht: Sicher gestellt, dass nirgendwo eine bayes DB geführt, ausser in dem Verzeichnis. Damals hatte ich dann eine "manuelle" in dem bayes_path und eine ... andere im root Verzeichnis...Also, alle Datenbanken gelöscht, alle .spamassassin Verzeichnisse gelöscht (da ich nur Systemweite und keine userspezifischen Einstellungen brauchte) bis es dann nur noch ein Verzeichnis mit der local.cf gab. Dann die local.cf angepasst auf den entsprechenden Pfad und /etc/init.d/spamd restart

Mit sa-learn mal ein Spammail trainiert und geguckt, dass er die richtige Datenbank nimmt. Anschließend die 200 drauf - und dann ging der Rest von alleine. Ich sitz leider hier gerade in der Firma, sonst könnte ich noch mal in der local.cf nachschauen, was da bei mir so steht, aber wenn du bis heute abend Geduld hast, versuche ich noch etwas bessere Antworten zu geben.
 
Zwischenstopp:
Ich werd ihm nachher mal Ham geben und les inzwischen den Link von sinepp durch. Wenn Ihr Euch weiter Gedanken macht danke ich Euch vorweg, vielleicht bringt der heutige Abend ja eine Lösung.
 
Zwischenstop 2:

Ich habe nun alle "lokalen" user-prefs, .spamassassin-Ordner, etc. gelöscht und nur noch die /var/spool/spamassassin/bayes* behalten.

Bei einem "spamassassin -D --lint legt er in /root/ den Ordner .spamassassin und die Dateien user_prefs und auto-whitelist automatisch wieder an, ist das richtig? (In den einzelnen "Homedirs" der virt. User (/home/vpopmail/domains/meinedomain/meinuser/) legt er diese Dateien/Verzeichnisse NICHT automatisch an.

Ausserdem habe ich dem Tipp von marneus Folge geleistet und mal ein paar Hams verfüttert. Nun habe ich 208 Hams drin und bekomme bei einem "sa-learn --sync" folgende Ausgabe:

Code:
hxxyyzz:/var/spool/spamassassin # sa-learn --sync
expired old Bayes database entries in 124 seconds
128353 entries kept, 23239 deleted
token frequency: 1-occurence tokens: 85.91%
token frequency: less than 8 occurrences: 9.74%

Das hat er vorher NOCH NIE gemacht, ein entsprechender Aufruf dauerte immer nur eine Weile und endete dann wieder mit dem Prompt (ohne irgendwelche weitere Ausgabe). Nun bin ich natürlich guter Dinge, dass sich da was getan hat ;-)
 
Last edited by a moderator:
Beim VERSENDEN einer Testmail an einen meiner "externen" Accounts stand im Header der ANKOMMENDEN Mail (also ankommend beim externen Mailprovider) folgendes:

Code:
X-Qmail-Scanner-MOVED-X-Spam-Status: No, score=-0.1 required=3.5 tests=BAYES_40,PLING_PLING autolearn=ham version=3.0.4

AUTOLEARN=HAM !!!!

Und schau an, er touched sogar die Datenbanken (Zeitstempel)! Aber nicht nur das, Schauut man sich "sa-learn --dump|more" an, steht da:

Code:
0.000          0        210          0  non-token data: nham
210!!! Keine 208 mehr.. Es lernt!

Naja, zumindest bei ausgehenden Mails :-) Wo sage ich ihm denn die Spanne der Hits, bei denen er auch eingehende Mails lernen soll? Das kann man doch irgendwo festlegen. Wo?
 
Nun, es sind noch einige Fragen offen, wer sich berufen fühlt, diese mit mir zu vertiefen, ist dazu herzlich eingeladen. *g*

Soweit kann ich aber mitteilen, dass meine Spamerkennungsrate mit den beschriebenen Wegen durchaus Erfolg zu haben scheint: Eine Vielzahl der Spammails wird erkannt, wenngleich auch noch keine "autolearn=spam" auftrat. Aber einige "autolearn=ham" hatte ich schon. Ich gehe also davon aus, dass es prinzipiell funktioniert, bedanke mich vorläufig bei Euch und versichere Euch, mit meinem nächsten Problem wiederzukommen :-)

Herzlichen Dank bis hierher!
 
Hi Leines,

erstmal congratulations, dass du auch im Club der bayes-autolearner gelandet bist.

Naja, zumindest bei ausgehenden Mails :-) Wo sage ich ihm denn die Spanne der Hits, bei denen er auch eingehende Mails lernen soll? Das kann man doch irgendwo festlegen. Wo?

In der local.cf von spamassassin diesen Eintrag anlegen:
Code:
bayes_auto_learn_threshold_spam 5.5
Dabei ist 5.5 das untere Level, ab dem er anfängt Mails als Spam zu lernen. Ist Geschmackssache, kannste auch auf 10.0 legen oder so.

Bei einem "spamassassin -D --lint legt er in /root/ den Ordner .spamassassin und die Dateien user_prefs und auto-whitelist automatisch wieder an, ist das richtig?
Keine Ahnung, ich vermute es ist ok.

(In den einzelnen "Homedirs" der virt. User (/home/vpopmail/domains/meinedomain/meinuser/) legt er diese Dateien/Verzeichnisse NICHT automatisch an.
So sollte es sein. Mit ps -aux siehst du, dass dein spamd als root läuft (evtl. Sicherheitslücke) und daher werden auch die Files nur im User root angelegt.

Willst du es sicher, nimmst du einen User spamassassin oder hugo, der dann den spamd startet. Allerdings kenne ich aktuell keinen root exploit für den spamd und schätze die Sicherheitslücke als eher gering ein. Man wird mich demnächst eines besseren belehren, vermutlich im nächsten Posting :D

Grüße
Sinepp
 
So, bis auf einige kleiner Macken scheint der Kleine zu laufen.

Nur hat er in Minuten, in denen massenhaft Spams ankommen scheinbar soviel zu tun, dass er einige Mails nicht entsprechend tagged. Sehr seltsam, werd ich mir mal noch näher anschauen.

Wo sag ich ihm, dass er Mails ab einer bestimmten Anzahl Spam-Points wegwerfen soll, also garnicht erst zustellt, sondern in die Tonne kloppt?
 
Gleiches Problem, aber noch Fragen...

Hallo,

ich hoffe, ich schreibe meinen Beitrag an der richtigen Stelle.

Ich habe das gleiche Problem, dass Spamassassin scheinbar lernt, merke aber keine Verbesserung.

Daten:
- Linux - Server mis Suse
- Confixx
- Mailscanner mit Clamav und Spamassassion
- Postfix

Ich habe folgende für mich merkwürdigen Dinge:

1.) Konfigurationsdaten für Spamassassin habe ich in
/etc/mail/spamassassin/local.cf
und in
/etc/MailScanner/spam.assassin.prefs.conf

2.) bayes* - Dateien in
/var/lib/spamd/.spamassassin/bayes*
und in
/var/spool/MailScanner/spamassassin/bayes*

Im letzteren noch wesentlich mehr Dateien, z.B..: bayes_toks.expire8781

- Interessant ist auch, dass beide bayes*-Dateien immer einen aktuellen Zeitstempel haben.

- Werder in der einen noch in der anderen ist z.B: der "bayes_path" gesetzt/definiert.

Kann mir da jemand helfen/beantworten, ob alles so richtig ist und wo ich die Definitionen reinschreiben muss?

Gruss,
Thomas
 
1.) Konfigurationsdaten für Spamassassin habe ich in
/etc/mail/spamassassin/local.cf
und in
/etc/MailScanner/spam.assassin.prefs.conf
Warum zwei? Welche ist die verwendete?

Der Bayes-Filter arbeitet erst ab 200 Spams + 200 Hams. Ein "sa-learn --dump magic" sagt Dir, wieviel Mails bereits angelernt sind.

huschi.
 
Hallo,

ich habe auch das selbe bzw. ähnliches Problem das hier ebenfalls schildern möchte. Ich habe Plesk 8.0 auf Debian 3.1 mit Spamassassin 3.0.3

Zuerst eine Frage: was ist der Unterschied zwischen spamassassin und spamd (als Befehl)?:
plesk:/var/log# spamassassin -?
SpamAssassin version 3.0.3
running on Perl version 5.8.4
Diese Datei finde ich unter:
/etc/default/
/etc/init.d/
/usr/bin/
/opt/psa/bin/

bei spamd hingegen finde ich keine Versionierungsdaten, diese Datei befindet sich bei mir unter:
/usr/sbin/
/opt/psa/admin/sbin/
/opt/psa/admin/bin/spamd

Was ist was?


meine local.cf:
Code:
required_score  6.5
whitelist_from  *@domain1.* *@domain2.*
rewrite_header  subject **** SPAM ****
use_bayes 1
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777
auto_learn 1
bayes_auto_learn 1
bayes_auto_learn_threshold_spam 6.5

Die Bayes Datenbank in /var/spool/spamassassin/:
Code:
plesk:/var/spool/spamassassin# ls -la
insgesamt 91856
drwxrwxrwx  2 root    root        4096 2006-11-20 15:43 .
drwxr-xr-x  7 root    root        4096 2006-08-01 10:37 ..
-rw-rw-rw-  1 popuser popuser    15624 2006-11-20 15:45 bayes_journal
-rw-rw-rw-  1 root    root    20770816 2006-11-20 15:43 bayes_seen
-rw-rw-rw-  1 popuser popuser 10514432 2006-11-20 15:43 bayes_toks

Komischerweise ist die Datei bayes_seen root zugewiesen, die anderen nicht, ist das ok so?

hier kurz zur vollständigkeit halber ein ps -aux:
Code:
plesk:/var/spool/spamassassin# ps -aux | grep spam
Warning: bad syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
popuser  29334  0.0  1.0 23736 21412 ?       Ss   15:28   0:00 /usr/sbin/spamd --username=popuser --daemonize --helper-home-dir=/var/qmail --max-children 5 --pidfile=/var/run/spamd/spamd_full.pid --socketpath=/tmp/spamd_full.sock
popuser  29336  0.0  1.0 23736 21412 ?       Ss   15:29   0:00 /usr/sbin/spamd --username=popuser --daemonize --helper-home-dir=/var/qmail --max-children 5 --pidfile=/var/run/spamd/spamd_light.pid --socketpath=/tmp/spamd_light.sock
popuser  29337  0.0  1.1 25128 22896 ?       S    15:29   0:00 spamd child
popuser  29338  0.0  1.1 25272 23012 ?       S    15:29   0:00 spamd child
popuser  29339  0.0  1.1 25124 22852 ?       S    15:29   0:00 spamd child
popuser  29340  0.0  1.1 25188 22896 ?       S    15:29   0:00 spamd child
popuser  29341  0.0  1.0 24640 22348 ?       S    15:29   0:00 spamd child
popuser  29342  0.0  1.0 23960 21696 ?       S    15:29   0:00 spamd child
popuser  29343  0.0  1.0 23736 21412 ?       S    15:29   0:00 spamd child
popuser  29344  0.0  1.0 23736 21412 ?       S    15:29   0:00 spamd child
popuser  29345  0.0  1.0 23736 21412 ?       S    15:29   0:00 spamd child
popuser  29346  0.0  1.0 23736 21412 ?       S    15:29   0:00 spamd child

sa-learn --dump magic:
Code:
plesk:/var/spool/spamassassin# sa-learn --dump magic
0.000          0          3          0  non-token data: bayes db version
0.000          0     139581          0  non-token data: nspam
0.000          0       8295          0  non-token data: nham
0.000          0     275373          0  non-token data: ntokens
0.000          0 1155044254          0  non-token data: oldest atime
0.000          0 1164033806          0  non-token data: newest atime
0.000          0 1164033420          0  non-token data: last journal sync atime
0.000          0 1164022773          0  non-token data: last expiry atime
0.000          0    2306700          0  non-token data: last expire atime delta
0.000          0      20088          0  non-token data: last expire reduction count
Dabei habe ich bereits seit einigen Monaten die Datenbank mit mails von spamarchive.org (die jetzt anscheindn offline ist) gefüttert, darunter auch tausende eigene spam UND ham mails!

In den Logdateien finde ich aber nur folgende Einträge:
Code:
Nov 20 15:16:31 plesk spamd[8755]: result: . -2 - BAYES_00,HTML_80_90,HTML_MESSAGE scantime=0.2,size=6636,mid=<039701c70cab$38c90eb0$0e0d900a@xtendweb4>,bayes=1.11022302462516e-16,autolearn=ham
Nov 20 15:16:31 plesk spamd[8788]: result: . -2 - BAYES_00,HTML_80_90,HTML_MESSAGE scantime=0.2,size=6636,mid=<03f101c70cab$3942ab80$0e0d900a@xtendweb4>,bayes=0,autolearn=ham
Nov 20 15:18:54 plesk spamd[8600]: result: Y  7 - BAYES_50,DATE_IN_FUTURE_12_24,HELO_DYNAMIC_IPADDR,HTML_20_30,HTML_MESSAGE scantime=0.1,size=23393,mid=<000b01c70d32$17ac1d30$96f1aa43@YOURDE2BF72DFF>,bayes=0.564376054856967,autolearn=no
Nov 20 15:19:26 plesk spamd[8670]: result: .  1 - BAYES_00,HELO_DYNAMIC_IPADDR scantime=0.1,size=1851,mid=<01c70cab$ab3078d0$6c822ecf@deborahotto>,bayes=0,autolearn=no
Nov 20 15:21:46 plesk spamd[8755]: result: . -2 - BAYES_00,HTML_80_90,HTML_MESSAGE scantime=0.2,size=6636,mid=<0af301c70cab$f7369980$0e0d900a@xtendweb4>,bayes=5.55111512312578e-17,autolearn=ham
Nov 20 15:21:47 plesk spamd[8788]: result: . -2 - BAYES_00,HTML_80_90,HTML_MESSAGE scantime=0.2,size=6636,mid=<0b4d01c70cab$f7b03650$0e0d900a@xtendweb4>,bayes=5.55111512312578e-17,autolearn=ham
Nov 20 15:23:06 plesk spamd[8600]: result: .  4 - BAYES_50,HELO_DYNAMIC_IPADDR,HTML_20_30,HTML_MESSAGE scantime=0.1,size=23492,mid=<000f01c70cac$bc268de0$4e7ec953@windowsxp>,bayes=0.500136499365922,autolearn=no
Nov 20 15:23:33 plesk spamd[8670]: result: .  3 - BAYES_50,HELO_DYNAMIC_IPADDR2,HTML_20_30,HTML_MESSAGE scantime=0.1,size=23443,mid=<001201c70cac$2e686410$925245c9@aline>,bayes=0.500131130576811,autolearn=no
Nov 20 15:26:21 plesk spamd[8701]: result: . -5 - ALL_TRUSTED,BAYES_00,HTML_MESSAGE,MIME_QP_LONG_LINE scantime=0.1,size=2308,mid=<000001c70cac$7a5a6080$0100007f@localhost>,bayes=3.90050009402287e-07,autolearn=ham
Nov 20 15:31:22 plesk spamd[29337]: result: . -1 - BAYES_00,HELO_DYNAMIC_DHCP scantime=0.1,size=1834,mid=<01c70cad$4e967ff0$6c822ecf@deborahquintela>,bayes=0,autolearn=ham
Nov 20 15:32:04 plesk spamd[29338]: result: .  1 - BAYES_00,HELO_DYNAMIC_HCC scantime=0.1,size=1962,mid=<01c70cad$6923fc30$6c822ecf@deborahshsqzvuwgoym>,bayes=0,autolearn=no
Nov 20 15:33:07 plesk spamd[29339]: result: . -2 - BAYES_00 scantime=0.2,size=1849,mid=<01c70cad$8ce100a0$6c822ecf@deboramgpi>,bayes=1.66533453693773e-16,autolearn=ham
Nov 20 15:33:55 plesk spamd[29340]: result: . -2 - BAYES_00 scantime=0.2,size=1970,mid=<01c70cad$d13cd990$6c822ecf@deboraks>,bayes=0,autolearn=ham
Nov 20 15:36:14 plesk spamd[29337]: result: .  2 - BAYES_50,HELO_DYNAMIC_HOME_NL,HTML_FONT_BIG,HTML_MESSAGE,MIME_HTML_ONLY,MIME_QP_LONG_LINE scantime=0.0,size=1718,mid=<7C4FFF807310DEC.A0798C0EA8@home.nl>,bayes=0.469485211361258,autolearn=no
Nov 20 15:36:47 plesk spamd[29338]: result: .  1 - BAYES_50,HTML_30_40,HTML_IMAGE_ONLY_16,HTML_MESSAGE,MIME_HTML_ONLY scantime=0.1,size=10966,mid=<78121937896396.51A69DCCE2@JZTQYJXX>,bayes=0.49997594271678,autolearn=no
Nov 20 15:36:54 plesk spamd[29339]: result: . -2 - BAYES_00 scantime=0.1,size=1873,mid=<01c70cae$117631f0$6c822ecf@deborarosenfeld>,bayes=0,autolearn=ham
Nov 20 15:37:34 plesk spamd[29340]: result: .  3 - BAYES_00,DATE_IN_FUTURE_03_06,HELO_DYNAMIC_IPADDR2,HELO_DYNAMIC_SPLIT_IP,RCVD_NUMERIC_HELO scantime=0.1,size=1869,mid=<01c70caf$3636a730$6c822ecf@deborahwmiller>,bayes=0,autolearn=no
Nov 20 15:38:08 plesk spamd[29341]: result: . -2 - BAYES_00,HTML_MESSAGE,MIME_QP_LONG_LINE scantime=0.1,size=2307,mid=<000001c70cae$133dab80$0100007f@localhost>,bayes=2.10282752322044e-09,autolearn=ham
Nov 20 15:39:10 plesk spamd[29337]: result: .  0 - BAYES_50,HTML_20_30,HTML_IMAGE_ONLY_20,HTML_MESSAGE,MIME_HTML_ONLY scantime=0.1,size=10905,mid=<02266731330334.BEC0C2085E@OM4659>,bayes=0.499959488656273,autolearn=no
Nov 20 15:39:45 plesk spamd[29338]: result: . -3 - ALL_TRUSTED,BAYES_50,HTML_20_30,HTML_MESSAGE scantime=0.2,size=23370,mid=<000701c70cae$71731a00$00000000@HOMEW3YH2WI5AJ>,bayes=0.500000834700455,autolearn=ham
Nov 20 15:40:41 plesk spamd[29339]: result: .  0 - BAYES_00,DEAR_SOMETHING,HTML_80_90,HTML_MESSAGE scantime=0.1,size=6848,mid=<12cd01c70cae$9b74bbb0$0e0d900a@xtendweb4>,bayes=3.88578058618805e-16,autolearn=no
Nov 20 15:40:41 plesk spamd[29340]: result: .  0 - BAYES_00,DEAR_SOMETHING,HTML_80_90,HTML_MESSAGE scantime=0.1,size=6848,mid=<132701c70cae$9bc5c1e0$0e0d900a@xtendweb4>,bayes=3.88578058618805e-16,autolearn=no
Nov 20 15:41:24 plesk spamd[29341]: result: . -5 - ALL_TRUSTED,BAYES_00,HTML_MESSAGE,MIME_QP_LONG_LINE scantime=0.1,size=2294,mid=<000001c70cae$60ba1880$0100007f@localhost>,bayes=3.53402348501897e-06,autolearn=ham
Nov 20 15:43:26 plesk spamd[29337]: result: . -2 - BAYES_00,HTML_80_90,HTML_MESSAGE scantime=0.2,size=6200,mid=<144d01c70cae$fe533fe0$0e0d900a@xtendweb4>,bayes=0,autolearn=ham
Nov 20 15:45:19 plesk spamd[29338]: result: .  3 - BAYES_50,HELO_DYNAMIC_IPADDR2,HTML_30_40,HTML_MESSAGE,WORK_AT_HOME scantime=0.2,size=22174,mid=<000901c70cc8$6240e0c0$bf6b2241@wdzjq>,bayes=0.570259351844492,autolearn=no
Nov 20 15:47:44 plesk spamd[29339]: result: .  2 - BAYES_00,DATE_IN_FUTURE_06_12,HELO_DYNAMIC_IPADDR2 scantime=0.1,size=1825,mid=<01c70cd1$43813d70$6c822ecf@deborahsakamoto>,bayes=0,autolearn=no

Wobei autolearn=ham/no oft genug vorkommt, =spam aber NIE! Und das ist auch mein Problem!

Ein sa-learn --sync gibt mir folgende Zeile aus:
Code:
plesk:/var/run/spamd# sa-learn --sync
synced Bayes databases from journal in 0 seconds: 484 unique entries (972 total entries)
Keine Ahnung was das bedeutet! Manchmal gibt es hierbei keine Ausgabe, manchmal findet man andere Zahlen vor.

Jedenfalls lernt SA anscheinend keinen SPAM, in der Praxis erhalte ich auf meiner mailbox täglich ca. 80-100 spammails, was in der Zwischenzeit recht nervlich ist!

Kann mir jemand helfen, falls Ihr weitere Informationen braucht sorge ich gerne und so schnell wie möglich für deren Posting!

Danke
Andreas
 
was ist der Unterschied zwischen spamassassin und spamd (als Befehl)?
Der Befehl "spamassassin" startet den Spamscanner als reines Programm.
"spamd" startet den SpamScanner als Daemon (Dienst-Programm) um per spamc z.B. gefüttert zu werden.

Komischerweise ist die Datei bayes_seen root zugewiesen, die anderen nicht, ist das ok so?
Das ist ok so.

mit mails von spamarchive.org
Hast Du die noch?

sa-learn --sync
Der "sync" trägt die gelernten Spams aus _journal in die Tokens ein.

Jedenfalls lernt SA anscheinend keinen SPAM
Anscheinend schon, weil sonst das Journal nicht geschrieben werden würde.
Du kannst mit bayes_auto_learn_threshold_spam einstellen, ab wieviel Punkten Spam gelernt werden soll (default=12.0).

huschi.
 
Erstmals danke Huschi!

Hast Du die noch?
Da musste ich lachen :D Die Frage war ja aber zu erwarten: nein leider nicht :(

Der "sync" trägt die gelernten Spams aus _journal in die Tokens ein.
Praktisch wendet SA das gelernte erst nach einem sync an? Ist die Ausgbae von sa-learn --sync so aber korrekt?


Anscheinend schon, weil sonst das Journal nicht geschrieben werden würde.
Du kannst mit bayes_auto_learn_threshold_spam einstellen, ab wieviel Punkten Spam gelernt werden soll (default=12.0).
0 wäre in diesem Falle reiner ham oder? und je höher die Zahl, desto spamartiger ist die mail oder? praktisch wird bei einem tiefen Wert (z.B. 4.0) mehr als SPAM markiert, bei einem hohen Wert (12.0) weniger als SPAM-markiert? Anders ausgedrückt: jetzt ist der Wert bei 6.5, wenn ich diesen Wert auf 12.0 erhöhe, wird dann eine mail leichter zu SPAM oder schwerer?

Ist das was ich SA bis jetzt gefüttert habe dann nicht mehr zu gebrauchen oder brauche iche einfach nur den Wert zu erhöhen und SA anschließend neu zu starten?

Danke Huschi!
Andreas
 
Last edited by a moderator:
Viele viele Fragen...
Praktisch wendet SA das gelernte erst nach einem sync an?
Ja, weil sonst zuviele DB-Zugriffe stattfinden würden... (Kann man jetzt halten wie man will...)
Ist die Ausgbae von sa-learn --sync so aber korrekt?
Ja.

0 wäre in diesem Falle reiner ham oder?
Nein, nicht unbedingt. :) Der X-Spam-Wert kann auch negativ sein. (Z.B. ein Eintrag auf der Whitelist bringt -100 Punkte.)
Der threshold_nospam liegt glaub ich bei 0.2.
Die Threshold-Werte sind nicht die Grenzen, in denen er Spam oder Ham erkennt (das ist "required_hits"), sondern die Grenzen für den Autolearn-Vorgang:
ein X-Spam-Wert unter threshold_nospam macht einen autolearn=ham, ein Wert über threshold_spam ein autolearn=spam. Alle anderen Mails sind autolearn=no.

jetzt ist der Wert bei 6.5, wenn ich diesen Wert auf 12.0 erhöhe, wird dann eine mail leichter zu SPAM oder schwerer?
Einfacher Grundsatz: Um so höher der Spam-Wert desto so wahrscheinlicher ist diese Mail ein Spam.

Ist das was ich SA bis jetzt gefüttert habe dann nicht mehr zu gebrauchen
Natürlich schon. Der Bayes-Filter ist doch nur ein kleiner Teil des ganzen Systems.

huschi.
 
Vielen Dank, habe das jetzt endlich verstanden! Mal sehen ob ich im Stande bin das gelernte in der Praxis anzuwenden!

Danke
Andreas
 
Hallo Huschi,

danke für Deine Antwort.

Warum zwei? Welche ist die verwendete?

Der Bayes-Filter arbeitet erst ab 200 Spams + 200 Hams. Ein "sa-learn --dump magic" sagt Dir, wieviel Mails bereits angelernt sind.

huschi.

Warum ? Eine sehr gute Frage. Ich weiss es nicht, welche verwendet wird.
Wie findet man das heraus?

Das Ergebnis von "sa-learn --dump magic" ist:

0.000 0 2 0 non-token data: bayes db version
0.000 0 1227 0 non-token data: nspam
0.000 0 0 0 non-token data: nham
0.000 0 73905 0 non-token data: ntokens
0.000 0 1162808554 0 non-token data: oldest atime
0.000 0 1164099236 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 co

Seit einigen Tagen füttere ich sa-learn mit meinem Spam. Auch ein paar HAMS (100) habe ich gefüttert. Sieht man oben aber nicht, wenn ich das richtig interpretiere. Ich bin verwirrt.

Gruss,
Thomas
 
Back
Top