• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Spamassassin trainieren

Status
Für weitere Antworten geschlossen.
Moin ...
... das Training mit sa-learn ist ja schon klar ...

Aber wo kriege ich jetzt eine mbox mit vielen Spam-Mails her, damit ich Spamassassin auch trainieren kann?

Unter spamarchive.org finde ich nur Dateien/Archive im .r2.gz - Format.

Was ist denn bitte ".r2" ???
 
Versuch die Datei doch einfachmal mit gunzip zu entpacken. Vielleicht ist r2 nur Teil des Namens und stellt keinen speziellen Packer dar.
 
tja ... wenn ich die Datei dateiname.r2.gz unzippe und mir dann die Datei dateiname.r2 ansehe, so sieht es erst einmal aus, wie einige Mails am Stück ... als ob es sie als attachment geschickt wurden ...

Kann ich jedenfalls mit sa-learn nicht importieren ...

Habe nun mittlerweile eine Datei im mbox-Format erhalten, die so ca. 7000 mails hat ...

habe ich mittels sa-learn --spam --mbox mboxfilename eingelesen ...

bekomme auch als Meldung, dass Spamassassin von 7000 mails gelernt hat ... aber filtern tut er noch immer nicht richtig ...

von ca. 200 Spam-Mails, die hier täglich eingehen, erkennt er max. 10 - 20 Prozent ...

Die anderen lasse ich derzeit von den Usern in einen "spam2-Ordner" verschieben, dessen Inhalt via script einmal am Tag in die SpamDB eingelesen werden soll, was es anscheinend auch tut ...

Aber es wird wohl wieder Wochen dauern, bis er "wie gewohnt" arbeitet ...

Habe es auch mit dem "greylisting"-Tip von 'derMichel' versuchen wollen ... bin aber gescheitert ...
Kriege immer die Fehlermeldung das das PerlModul IO::Multiplex fehlt, welches ich zwar runterladen kann, aber nicht compiliert bekomme ...

So einfach jedenfalls, wie es im greylisting-howto beschrieben ist, ist es bei mir nicht ...
 
Ich weiß ja nicht wie viel Du schon mit SA gemacht hast ...

Schau Dir doch mal Deine False negativ Mails an bzw. laß Dir von SA die Score in den Header schreiben ...

Dann kannst Du SA sagen ab welcher Score er die Mails als Spam einstufen soll.

Bei mir ist es jedenfalls so, das ich die Score nach und nach runterstellen muß um nicht so viele False negative zu bekommen, bin schon bei 1.8 angekommen ohne das ich dabei False Positiv erzeuge.

Wir lernen pro Tag ca. 200-300 Mails.
Kleiner Tip : Wenn Du einen IMAP Server hast kannst Du für jeden User einen Ordner z.B SPAM-NEW anlegen und diesen einmal pro Tag umkopieren lassen (cron) und diese dann lernen ...

So long

ThomasF
 
Ich weiß ja nicht wie viel Du schon mit SA gemacht hast ...
"geht ... würde ich sagen ...
habe SA mittlerweile auf mehreren Maschinen installiert und überall lief's gut ... nur hier nicht, obwohl ich die gleichen *.conf's verwende ...
Schau Dir doch mal Deine False negativ Mails an bzw. laß Dir von SA die Score in den Header schreiben ...
Dann kannst Du SA sagen ab welcher Score er die Mails als Spam einstufen soll.
Score in den Header schreiben habe ich noch nicht gemacht ...
ich schreibe derzeit nur ein "**** SPAM ****" hinein ...
Gibt's für den Score eine Variable, die ich in der amavis.conf eintragen muss, oder muss die dann in die local.cf von SA?
Bei mir ist es jedenfalls so, das ich die Score nach und nach runterstellen muß um nicht so viele False negative zu bekommen, bin schon bei 1.8 angekommen ohne das ich dabei False Positiv erzeuge.
1.8 ist ja irrsinnig wenig (finde ich ...) bei mir lief's eigentlich mit 4 bis 4.5 schon so, wie's sein sollte ...
Wir lernen pro Tag ca. 200-300 Mails.
Kleiner Tip : Wenn Du einen IMAP Server hast kannst Du für jeden User einen Ordner z.B SPAM-NEW anlegen und diesen einmal pro Tag umkopieren lassen (cron) und diese dann lernen ...
Mache ich genau anders rum:
Die User kriegen die von SA erkannten mails in ihren pers. SPAM-Ordner ...
Weiterhin gibt's noch die beiden Ordner "auchSPAM" und "keinSPAM", den die User dann entsprechend "anfüttern" können, falls doch was durchrutscht ...

Abends läuft dann ein Script über die beiden Ordner, um die SA-Datenbank zu aktualisieren ...

Aber wie gesagt ... trotz täglichen SPAM-Lernens dauert's echt lange, bis er wieder "schlau" ist ...

Hier mal das Script, dass ich verwende ...
Vielleicht habe ich ja doch irgendeinen Fehelr drin, der noch ausgemerzt werdenmuss:

Code:
#!/bin/bash

# thanks to Holger Dunkel for basis of this script
# culled from the suse-slox-e@suse.com mailing list
#
# run sa-learn on spammed mailbox
#
spamdir=auchSPAM
dir=/var/spool/imap/$spamdir
c=0
if [ -d $dir ];then
cd $dir && echo now in $dir
for i in *. ; do
if [ -f $i ]; then
#cat $i | su - nobody -c "sa-learn --showdots --spam --single";
cat $i | su - nobody -c "sa-learn --showdots --spam";
echo $i, $c
# this removes emails from the shared folder
rm -v $i
let c++
fi
done
# as user cyrus reconstruct the maildir files
su - cyrus -c "reconstruct $spamdir"
echo "processed $c mails"
else
echo $dir not found
exit 1
fi

# run sa-learn on not-spam mailbox
#
hamdir=keinSPAM
dir=/var/spool/imap/$hamdir
c=0
if [ -d $dir ];then
cd $dir && echo now in $dir
for i in *. ; do
if [ -f $i ]; then
#cat $i | su - nobody -c "sa-learn --showdots --ham --single ";
cat $i | su - nobody -c "sa-learn --showdots --ham";
echo $i, $c
# this removes emails from the shared folder
rm -v $i
let c++
fi
done
# as user cyrus reconstruct the maildir files
su - cyrus -c "reconstruct $hamdir"
echo "processed $c mails"
else
echo $dir not found
exit 1
fi

# integrate learned stuff
#
su - nobody -c "sa-learn --rebuild"
 
Hi,

also ich habe in der /etc/mail/spamassassin/local.cf folgendes dazu stehen :

Code:
report briefly
report_header 1
report_safe 0
use_terse_report 0
detailed_phrase_score 1

Und in der /etc/amavis.conf steht :

Code:
$sa_tag_level_deflt = 0.0

Das bewirkt das ab hits=0.0 die Infos über den Spam-Level ausführlich in den Header geschrieben werden.


Mache ich genau anders rum:

Nee, machst Du nicht ,die Mails die schon als SPAM erkannt werden kann der User bei uns in einen Ordner sortieren wie er will.

Die SPAMs die nicht als SPAM erkannt werden soll der User nach SPAM-NEW verschieben ... und die werden Nachts als SPAM gelernt.

False Positiv, also Mails die fälschlicherweise als SPAM erkannt werden werden als HAM gelernt (aber nicht alle sonstigen Mails !)

Ich denke Ihr macht es genau so ;-)

Was die Zeit zum lernen angeht, lernt SA bei uns seit einem knappen Jahr, daher die 1.8 *gg*

Apropos lernen, die Frage ist zwar "eigentlich" überflüssig aber dennoch : Nutzt Du den Bayes Filter ???

Wenn nicht, hast Du Dein Problem gefunden ;-)


Und nun noch ein Tip, schau Dir doch mal MAIA Mailguard an :

http://www.renaissoft.com/maia/

Die Konfiguration ist zwar seeehr umfangreich (Du brauchst dazu z.B noch MySQL) aber dann hat z.B jeder User einzeln die Möglichkeit einzustellen wie hoch sein Hits Level sein soll, oder ob seine Mails überhaupt gefiltert werden soll.
Einschließlich Black und Whitelist und der Möglichkeit HAM und SPAM zu klassifizieren :)

So long

ThomasF
 
Bayes Filter ist der lernende Filter von Spamassassin. Die anderen prüfen nur bestimmte Merkmale (reine HTML Mail, fehlende Header) und vergeben Punkte. Der Bayes Filter vergleicht die Mail mit anderen Mails von denen er schon "gelernt" hat.
 
@keepers ... Bitte ??? ;-)

Naja der Bayes Filter ist der Teil von SA der versucht aus den alten SPAM Mails eine Art Muster zu finden welche Kriterien SPAM ausmachen, um dann neuen SPAM zu erkennen und auszusortieren.

Siehe auch ->

http://de.wikipedia.org/wiki/Bayes-Theorem

So long

ThomasF
 
Nun ich muß zugeben das ich es noch nie ausprobiert habe sa-learn ohne Bayes laufen zu lassen ...

Bei mir in der /etc/mail/spamassassin/local.cf steht dazu folgendes :

Code:
use_bayes 1
bayes_path /var/spool/amavis/.spamassassin/bayes
auto_learn 1

Ob Bayes von amavis auch ohne diese Einträge läuft kann ich nicht mit Sicherheit behaupten.

Bei mir funktioniert es jedenfalls alles ohne Probleme ;-)

Ein sicheres Zichen dafür das Bayes aktiv ist, ist das vorhandensein der Dateien : bayes_journal, bayes_seen und bayes_toks

Schau doch mal ob Du bei Dir diese Dateien findest ... mit aktuellem Datum ...

So long

ThomasF
 
Mit aktuellem Datum vorhanden ;-)

In /etc/mail/spamassassin/local.cf steht jedoch kein Eintrag ueber use_bayes.

Der Pfad /var/spool/amavis/.spamassassin/bayes ist nicht vorhanden, unter /var/spool/amavis/.spamassassin sind zumindest die Dateien mit aktuellem Datum vorhanden.
 
Jep,

man lernt doch immer wieder dazu ;-)

Also wird wie schon in einem anderen Posting erwähnt bei Nutzung des neuen amavis-new die local.cf praktisch nicht mehr benutzt ?!?

Es könnte aber auch sein das die Einträge in der local.cf dazu genutzt werden die durch sa_learn erzeugten Bayes Einträge zu nutzen ???

Kennt sich hier vielleicht jemand gut genug aus um uns diese Frage zu beantworten ?

So long

ThomasF
 
Wuerde mich auch interessieren.

Wie kann ich denn meinen Score in den Betreff mit einschreiben?

rewrite_subject xxxx ?
 
Irgendwie scheine ich hier was falsch eingerichtet zu haben ...

Weiß nur noch nicht, was ...

Jedenfalls scheint bayes zu laufen.
eine "bayes.seen" und eine "bayes.toks" habe ich unter /var/spool/amavis/.spamassassin

eine "bayes.journal" allerdings nicht ...

Fakt ist: Hier kommen täglich ca. 300 SPAM-Mails an, von denen ca. 10 % erkannt werden ... der Rest wird den Usern zugestellt, die sie dann in "auchSPAM" verschieben.

Dieser Ordner wiederum wird durch das o.a. script täglich abgearbeitet.
Aber irgendwie scheint's nicht viel zu bringen ...

Das Aufkommen an SPAM häuft sich ...
 
Noch mal der Hinweis, auf den Hits Level ....

Schau Dir die Mails an die nicht als SPAM erkannt werden und auch die Mails die erwünscht sind (HAM) !!!

Die Anzahl der Hits wird mit dem lernen immer weiter sinken ... sodass Du regelmäßig die Punktzahl, ab der SA bzw. Amavis die Mails als SPAM markiert auch absenken mußt
Und das mußt Du von Hand machen, das geht nicht automatisch ...

So long

ThomasF
 
War ein paar Tage außer Gefecht wegen einer OP ...

Aber nun bin ich wieder da und es ist noch immer nicht besser geworden:
Schau Dir die Mails an die nicht als SPAM erkannt werden und auch die Mails die erwünscht sind (HAM) !!!
hab' ich getan ...

Der Großteil an SPAM, der nicht erkannt wird hat eine HIT-Level von 0.3 - 0.5

Das haben leider auch schon unsere abonnierten newsletter ...

Ich kann ja schlecht den HIT-Level auf 0.3 runterdrehen ...

Was mich nur wundert: Es hat ja alles einwandfrei auf dem alten System geklappt ... (SLES8, SPAMASSASSIN,AMAVIS)

Nur auf dem neuen System (SLES9, SPAMASSASSIN, AMAVISD-NEW) haut's nicht hin ...

Habe jetzt schon so ziemlich jedes howto durchgeackert, dass ich zum Thema ANTI-SPAM gefunden habe ... aber nichts hilft ...

Deshalb nochmal ein paar spezielle Fragen:

Was ist eigentlich mit der local.cf von Spamassassin? Wird die in Verbindung mit Amavisd-new gebraucht? Das eine HowTo ignoriert sie, das nächste hat sie mit drin ...

Was ist mit dem bayes-Filter? Wie sehe ich, ob er wirklich was lernt? Nur durch die bayes.*-Files unter .spamassasssin?
Was ist, wenn die bayes.journal gar nicht da ist?

Wo liegen die relevanten bayes-Files?
Ich habe z.B. welche unter /root/.spamassassin und welche unter /var/spool/amavis/.spamassassin

Arbeitet Spamassassin "pro user" oder für das ganze System?
Wenn "pro user", wo werden dann die bayes-Files der einzelnen IMAP-User gespeichert? Ein home-Verzeichnis haben sie ja nicht ...
 
Hmm,

also die newsletter kannst Du ja auf die Whitelist setzen ...

Die locla.cf wird meines Wissens nicht mehr von amavis-new beachtet ... nur wenn Du spamc von Hand aufrufst (ohne Gewähr ... )

Wegen der bayes_jornal kann ich Dir nicht weiterhelfen.

EDIT: Schau doch mal hier : http://www.webmasterworld.com/forum40/1165.htm

Die Pro-User Geschichte ist etwas komplizierter ...

Wenn Du SA aus z.B der procmail.rc für jeden User aufrufst kann jeder User für sich arbeiten ...

Wenn Du das ganze über amavis-new machst ist der Standard Systemweit ... aber über die SQL Schnittstelle kannst Du dort auch Einstellungen "pro-User" einrichten, aber halt in einer SQL Datenbank. Siehe auch -> Maia Mailguard

Die Frage ist auch welche Version von amavis und SA Du drauf hast ?!?

Ich habe gerade ein Update von SA auf 3.100 gemacht und habe den Eindruck das es jetzt besser läuft als mit 3.01

So long

ThomasF
 
Beim Tipp "procmail" fällt mir ein, dass der alte SLOX4.1 (SLES8) mit spamassassin 2.64, amavis und procmail lief ...

Der neue OX5 (SLES9) läuft ebenfalls mit spamassassin 2.64, aber mit amavisd-new und ohne procmail ...

aber so ganz blicke ich durch die amavisd-conf auch nicht durch ...
Was z.B. ist "sa_auto_whitelist"? Per default ist der Wert "false" ...
Also gehe ich davon aus, es gut die Möglichkeiten "true" und "false" oder auch "1" und "0" ...
Ich habe aber auch schon config-files gesehen, in denen dann "sa_auto_whitelist=3.0 steht ...
Was ist das für ein Wert ? "Ganz besonders TRUE" ?

Wie gesagt ... irgendwie blicke ich noch nicht ganz rein ...
entweder habe ich da Fehler drin, oder es funktioniert einfach nicht richtig ...
Der Spam wird einfach nicht weniger ...
 
Hehe,

wer hat den jemals gesagt es wäre einfach einen Mailserver zu betreiben ??? ;-)

Schau Dir einfach die default amavis.conf an die mitgeliefert wird, die ist recht gut dokumentiert ...

z.B
Code:
$sa_auto_whitelist = 1;      # turn on AWL in SA 2.63 or older (irrelevant
                             # for SA 3.0, cf option is 'use_auto_whitelist')

Apropos SA 2.64 ... da hast Du Deinen Grund für den SPAM ...

Mach doch mal ein Update ...

Im Zweifel kannst Du z.B über Webmin einfach eine neuer Version von perl-spamassassin installieren ...

Also wie schon oben erwähnt hat das Update von SA auf 3.100 bei mir wieder einiges gebracht ... aber mit 2.64 kann ich mir gut vorstellen das Dein SPAM Aufkommen recht hoch ist ...

So long

ThomasF
 
Status
Für weitere Antworten geschlossen.
Oben