Spamassassin & sa-learn: Einige Fragen...


rethus

Registered User
Hallo,
ich habe hier im Forum und auf Huschis Seite einen Bericht über Spamassassin in verbindung mit sa-learn gelesen.

Jetzt bin ich etwas verwirrt.

Auf deiner Webseite beschränkt sich die Einrichtung dieses Dienstes auf einen Eintrag in der local.cf oder des Programms sa-learn.

Hier im Forum scheint das komplizierter geschildert zu sein... hier ist die rede von Perl-Scripten(sa-wrap.pl), und
procmail etc.

Wie stelle ich das nun am besten an?

Übrigens finde ich etwas an meiner Konfiguration verwirrend:

ich habe unter /etc/mail/spamassasin/ eine Datei local.cf.
Nach einer händischen eintragung unter meiner Domain findet sich dort nur ein Eintrag:

rewrite_header subject ***SPAM***
required_score 5
blacklist_from *@versautenachbarin.com

Ansonsten ist die Datei leer... obwohl ich einige einstellungen (zumindest für meine Domain) gemacht habe... z.b. die anzahl der Hits, und die Spambetreffzeile...

Allerdings hab ich im Verzeichnis /usr/share/spamassassin noch einige andere .cf-Dateien gefunden:

-rw-r--r-- 1 root root 6897 2006-04-05 10:40 10_misc.cf
-rw-r--r-- 1 root root 5996 2006-03-29 15:23 10_misc.cf_old
-rw-r--r-- 1 root root 1605 2005-03-19 21:58 20_anti_ratware.cf
-rw-r--r-- 1 root root 8198 2005-03-19 21:58 20_body_tests.cf
-rw-r--r-- 1 root root 1613 2005-03-19 21:58 20_compensate.cf
-rw-r--r-- 1 root root 12083 2005-03-19 21:58 20_dnsbl_tests.cf
-rw-r--r-- 1 root root 15700 2005-03-19 21:58 20_drugs.cf
-rw-r--r-- 1 root root 11268 2005-03-19 21:58 20_fake_helo_tests.cf
-rw-r--r-- 1 root root 27711 2005-03-19 21:58 20_head_tests.cf
-rw-r--r-- 1 root root 15487 2005-03-19 21:58 20_html_tests.cf
-rw-r--r-- 1 root root 10939 2005-03-19 21:58 20_meta_tests.cf
-rw-r--r-- 1 root root 22099 2005-03-19 21:58 20_phrases.cf
-rw-r--r-- 1 root root 4966 2005-03-19 21:58 20_porn.cf
-rw-r--r-- 1 root root 14139 2005-03-19 21:58 20_ratware.cf
-rw-r--r-- 1 root root 5032 2005-03-19 21:58 20_uri_tests.cf
-rw-r--r-- 1 root root 2334 2005-03-19 21:58 23_bayes.cf
-rw-r--r-- 1 root root 9117 2005-03-19 21:58 25_body_tests_es.cf
-rw-r--r-- 1 root root 2738 2005-03-19 21:58 25_hashcash.cf
-rw-r--r-- 1 root root 2304 2005-03-19 21:58 25_spf.cf
-rw-r--r-- 1 root root 4703 2005-03-19 21:58 25_uribl.cf
-rw-r--r-- 1 root root 52293 2005-03-19 21:58 30_text_de.cf
-rw-r--r-- 1 root root 40682 2005-03-19 21:58 30_text_fr.cf
-rw-r--r-- 1 root root 57934 2005-03-19 21:58 30_text_nl.cf
-rw-r--r-- 1 root root 34803 2005-03-19 21:58 30_text_pl.cf
-rw-r--r-- 1 root root 29378 2005-03-19 21:58 50_scores.cf
-rw-r--r-- 1 root root 6887 2005-03-19 21:58 60_whitelist.cf
-rw-r--r-- 1 root root 101479 2005-03-19 21:58 languages
-rw-r--r-- 1 root root 18944 2005-03-19 21:58 triplets.txt
-rw-r--r-- 1 root root 1557 2005-03-19 21:58 user_prefs.template

Ein Verzeichnis "/var/spool/spamassassin/bayes" (wie auf deiner Webseite angegeben hab ich gar nicht gefunden.

Das einzige was ich gefunden habe ist:
./var/qmail/mailnames/xxx.de/.spamassassin/bayes_seen
./var/qmail/mailnames/xxx.de/.spamassassin/bayes_toks​
Aber das sind Binary-Dateien.

Könnt Ihr mir da bitte weiterhelfen?
Wieso ist meine local.cf leer und wie gehe ich die ganze storry am besten an, damit der Spamfilter für alle User auf dem Server gilt (ich bin Serveradmin, und habe die entsprechenden Zugriffe)

Vielen Dank schon mal.
 
Hallo,

marneus würde jetzt wieder anfangen von seiner legendären Glaskugel zu erzählen. Auch ich habe mir jetzt eine gekauft.

Du hast welchen Server?
Welche Spamassassin Version?
Was hast Du vor?

Viele Grüße
Sinepp
 
Ok, sorry...
Hier kommen die Details:

Ich habe gestern mein System auf Plesk 8.0.1 upgegradet.
Ich habe Suse 9.3 als OS.

Im Bereich Server >> Komponenteninformation hab ich folgendes entnommen:

psa 8.0.1-suse9.3.build80060614.16
psa-spamassassin 8.0.1-suse9.3.build80060614.16
spamassassin 3.1.3-3.1

Ich habe vor, nicht erkannte Spam-Mails an den Server zu senden, so das die der Spamliste inzugefügt werden.
 
Last edited by a moderator:
rewrite_header subject ***SPAM***
required_score 5
blacklist_from *@versautenachbarin.com

Ansonsten ist die Datei leer... obwohl ich einige einstellungen (zumindest für meine Domain) gemacht habe... z.b. die anzahl der Hits, und die Spambetreffzeile...

Naja, das ist doch schonmal etwas. Denn das rewrite_header subject ist genau das Thema Spambetreffzeile, Anzahl der Hits --> required_score, wenn Du damit die Punktezahl meinst die benötigt wird um Spam als Spam zu identifizieren usw.

Der Spamfilter gilt global, sobald keine Userspezifischen Configfiles genutzt werden vom spamd. Ich weiß nicht wie Plesk den Spamasssassin integriert hat, Du kannst ja mal schauen ob und was sich in Bezug auf spamassassin in den Home Verzeichnissen der Nutzer befindet.

Ich habe vor, nicht erkannte Spam-Mails an den Server zu senden, so das die der Spamliste inzugefügt werden.
Dazu solltest Du das hier lesen: huschi.net - SpamAssassin: sa-learn per Email füttern - es ist nämlich in etwa so kompliziert.

Ich vermute Du hast den "falschen" Eintrag gelesen (huschi.net - SpamAssassin: sa-learn anlernen)

Viel Spass,
Sinepp
 
Ok, danke schon mal.
Jetzt interessiert mich vor meiner Lektüre des angegebeneen Links noch, ob die beiden Links aufeinander aufbauen, oder wie diese in Zusammenhang stehen.

Muss ich (huschi.net - SpamAssassin: sa-learn anlernen) auch berücksichtigen?
 
Hallo rethus,

Bayes ist eine statistische Angelegenheit die, einfach formuliert, bestimmten Wörtern eine Spamwahrscheinlichkeit gibt. Also das Wort "viagra" hat bspw. eine hohe Wahrscheinlichkeit Spam zu sein und das Wort "Tiefseetaucher" eine niedrige. Damit die Bayes Datenbank, die die Wörter mit ihren Spamwahrscheinlichkeiten beinhaltet, richtig arbeiten kann, benötigt sie (Standardeinstellung) mindestens 200 Spam Nachrichten. Diese Standardeinstellung schlägt sich in den beiden Einstellungen:
Code:
    bayes_min_ham_num (Default: 200)
    bayes_min_spam_num (Default: 200)
([URL="http://spamassassin.apache.org/full/3.1.x/dist/doc/Mail_SpamAssassin_Conf.txt"]Quelle[/URL])
nieder.

Das HowTo zum anlernen soll Deinen Bayes in die Lage versetzen mit dem Flag auf bayes_auto_learn = 1 gesetzt automatisch Spam und Ham zu lernen. Um mehr geht es eigentlich nicht. Das Programm sa-learn lernt mit den Befehlen, die in huschis Howto stehen, Spam und Ham. Damit wird die Bayes Datenbank auf einen aktuellen Stand gebracht und die Spamerkennung dadurch verbssert.

Das zweite HowTo hat mit dem ersten nur insoweit zu tun, als dass es das Anlernen von NICHT erkannten Spam-Mails vereinfacht, indem man diese als Anhang an eine bestimmte Mail-Adresse weiterleitet. Es baut aber nicht zwangsläufig darauf auf, sondern benutzt lediglich ebenfalls sa-learn zum lernen des Spams.

Grüße
Sinepp

P.s.: Wenn Dir das mit dem perl-Script zu kompliziert wird: Du kannst auch einfach ein Verzeichnis über das Webmail Interface von Plesk für Deinen Webaccount einrichten. Dann verschiebst Du nicht erkannte Spam in dieses Verzeichnis. Unter /var/qmail/mailnames/deineemailadresse/Spam/.cur existieren dann diese Mails. Mit Hilfe eines kleinen Scripts was per Cronjob regelmäßig einmal nachts läuft kannst Du diese Spams dann lernen. In dem Script würde dann so etwas in der Art stehen (Pfade und Befehle sind jetzt nur geschätzt, habe keinen Zugriff auf meinen Server):
Code:
sa-learn --spam /var/qmail/mailnames/deineemailadresse/Spam/.cur/
rm -f /var/qmail/mailnames/deineemailadresse/Spam/.cur/*
 
Vielen Dank schon mal.
Mit Perl-Scripten hab ich kein Problem, aber für einfache Lösungen bin ich auch immer zu haben :-)

Da scheint mir aber noch was ungereimtes dabei zu sein.

Meine Spamassassin Einstellung unter Server >> Spamassassin ist auf "Benutzerebene" eingestellt.

Gehe ich nun auf eine Domain >> xxx.de >> Mail >> Spamfilter >> Trainig, zeigt er mir da die Info: "Nachrichten gelernt: 151 als Spam, 600 als Nicht-Spam, 751 gesamt."

Worauf ich natürlich schließe, das die lernfunktion bereits aktiviert ist, aber warum ist dann meine locals.cf leer?

Ich kann mir nur vorstellen, das diese Trainigsdaten in den jeweiligen Benutzerprofilen liegt:
./var/qmail/mailnames/xxx.de/.spamassassin/bayes_seen
./var/qmail/mailnames/xxx.de/.spamassassin/bayes_toks​

Wie bekomme ich das denn hin, das die global für alle zählt (falls die das ist)
 
Ich dachte in Deiner locals.cf steht das hier?

Code:
rewrite_header subject ***SPAM***
required_score 5
blacklist_from *@versautenachbarin.com

Ansonsten: Was sollte da sonst drin stehen?

bayes_seen und bayes_toks sind in der Tat die Bayesspamdaten. Bzw. die Bayes Datenbank. Und wenn die bei jeder Domain einmal vorkommt, dann vermutlich deswegen, weil sie eben nicht global gilt.

Unbestätigten Gerüchten zufolge (Setting Up SpamAssassin Spam Filter) muss man eine Checkbox mit "Server wide Settings" anklicken, damit Spamassassin bei PSA 8.0 Serverweit gilt...
 
Naja, das ist ein anderes seltsames Problem.
Wenn ich Ihm die Checkbox Server-weit aktiviere, startet der Spamassassin nicht mehr. Mach ich die wieder aus, geht es wieder.

Wer weiß woran das liegt?

Übrigens, wo speichert sa-learn die gelernten dinge hin? Ist das dann nur für die Domain, für die dieser Spam-Account besteht, oder ist das Serverweit?
 
startet der Spamassassin nicht mehr. Mach ich die wieder aus, geht es wieder.
Schau mal in die maillog, syslog oder messages.
Evtl. hast Du einen Konfig-Fehler in der globalen localconf.

wo speichert sa-learn die gelernten dinge hin?
Bei globaler Konfig, je nach System:
Z.b: /var/spool/spamassassin/
Bei User-Konfig: /var/qmail/mailnames/xxx.de/.spamassassin/
 
Also ich habe unter /var/spool/spamassassin nun auch zwei bayes dateien.

Jetzt geht es auch mit Spamassassin, das ich beides aktiviert habe, die Serverweite geschichte und das Benutzerdefinierte.

Nun kann ich doch eigentlich aus meinem Account die bayes (sind 1.3MB groß) nach /var/spool/spamassassin kopieren, weil die da nur 135 KB sind???
 
Sei mutig und probiers einfach, mach Dir vorher ein Backup der Dateien die Du überschreiben willst.

Grüße
Sinepp
 

Back
Top