| Zurück zur SpamAssassin Installation |
SpamAssassin Konfiguration.
SpamAssassin sucht seine Konfigurationsdatein immer in /etc/spamassassin, es sei denn, wir haben bei der Installation einen anderen Pfad angegeben. SpamAssassin erkennt alle Konfigurationsdateien an ihrerer Endung .cf - egal was für einen Namen sie tragen, die Dateien haben die Endung .cf und dann läd sie SpamAssassin als Konfigurationsdatei. Die wichtigste Datei bei SpamAssassin ist die local.cf in /etc/spamassassin/. Dort werden alle nötigen Einstellungen vorgenommen. Die local.cf enthält viele Punkte. Damit es nicht zu unübersichtlich wird, erkläre ich sie in einzelnen Teilen; zum Schluss findest du sie noch zum herrunterladen. Fangen wir also an:
/etc/spamassassin/local.cf
| required_hits 4.8 rewrite_subject 1 subject_tag [SPAM?] auto_whitelist_factor 0.03 report_safe 1 use_terse_report 1 |
required_hits, gibt die Anzahl an Punkten an, die eine mail braucht, um als spam gekennzeichnet zu werden.
rewrite_subject, bedeutet, dass wir den Betreff der Mail ändern.
subject_tag, schreibt [SPAM?] in unseren Betreff, aber nur wenn rewrite_subject aktiviert ist.
auto_whitelist_factor, so viel Punkte bekommen mails, wenn sie als sauber eingestuft werden.
report_safe, speichert die Orginalmail als Anhang.
use_terse_report, sollte eine E-Mail nicht komplett plain text sein, wird die Orgninalnachricht als Anhang zum Spamreport gehängt.
| #bayes konfiguration use_bayes 1 bayes_path /etc/spamassassin/bayes bayes_use_chi2_combining 1 bayes_auto_expire 0 bayes_journal_max_size 15000000 bayes_expiry_max_db_size 20000000 bayes_auto_learn 0 bayes_ignore_header Return-Path |
use_bayes, bedeutet, dass wir bayes nutzen wollen.
bayes_path, legt das verzeichnis fest, inden die bayes datein gespeichert werden sollen.
bayes_use_chi2_combining, hier geben wir an, dass wir das chi2 Verfahren benutzen, um die Punkteverteilung in die "extreme" zu verschieben.
bayes_auto_expire, hier sagen wir, dass bayes nach einer gewissen Zeit alte Tocks löschen oder weniger Punkte vergeben soll.
bayes_journal_max_size, legt die maximale Journalgröße fest.
bayes_expiry_max_db_size, legt die maximale bayesdatenbankgröße fest.
bayes_auto_learn, schaltet automatisches Lernen aus.
bayes_ignore_header, legt header fest, die bayes ignorieren soll.
| #dcc konfiguration dcc_path /usr/local/bin/dccproc dcc_add_header 1 #pyzor konfiguration # Andere Module benutzen |
dcc_path, gibt den Pfad zu DCC an.
dcc_add_header, fügt einen DCC header der e-mail hinzu.
pyzor_path, gibt den Pfad zu Pyzor an.
pyzor_add_header, fügt ein Pyzor header hinzu.
pyzor_max, gibt die maximalen Verbindungen zu Pyzor an.
skip_rbl_checks, bedeutet "RBL Überprüfung überspringen", in unserem Fall nein.
use_razor2, aktiviert razor2 Prüfung.
use_dcc, aktiviert dcc Prüfung.
use_pyzor, aktiviert pyzor Prüfung.
rbl_timeout 4 |
rbl_timeout, legt den timeout für rbl Abfragen fest.
ok_languages, legt die zu überprüfenden Sprachen fest.
ok_locales, überprüft die lokale Codierung der mails.
dns_available, aktiviert dns lookup
check_mx_attempts, hier wird überprüft, wie oft der zu sendende Mailserver versucht hat, diese mail zuzustellen.
check_mx_delay, wie lang er für die Zustellung gebraucht hat.
auto_learn, schaltet automatisches Lernen ein.
auto_learn_threshold_spam, vergibt Punkte für automatisch erkannter Spam.
auto_learn_threshold_nonspam, vergibt Punkte für kein Spam
trusted_networks, legt meine Netze fest.
#reports clear_unsafe_report_template |
clear_report_template, löscht den Inhalt der Mail, die orginal Mail bekommen wir ja als Anhang.
report, gibt uns die Möglichkeit einen eigenen Text für unsere Spamreportmails zu definieren.
clear_unsafe_report_template, löscht den Inhalt der Mail, die Orginalmail bekommen wir ja als Anhang.
unsafe_report, gibt uns die Möglichkeit einen eigenen Text zu schreiben für mails, die aus html bestehen und spam waren.
#spamcop punkte |
Hier überprüfen wir bestimmte urls in den e-mails, ist eine URL in erkannten Spammails schon oft vorgekommen, so ist es höchstwahrscheinlich wieder spam.
#bayes punkte #razor punkte #dcc punkte #pyzor punkte score SUBJ_ILLEGAL_CHARS 2.6 |
Mit score legen wir unsere Punkte fest. Als Erstes für unsere Bayes, Razor, Dcc und Pyzor Module. Danach kommen noch einige allgemeine Regeln, die man so auch lassen sollte.
Hier noch einmal die ganze Konfiguration am Stück. Damit wäre die local.cf fertig und unser SpamAssassin betriebsbereit.
Damit wir nun unsere Mails auch überprüfen, gehen wir wieder in die /etc/procmailrc und fügen folgende Zeilen hinzu:
# Procmail LOGFILE="/var/log/procmail" VERBOSE=off # Mailbox-Zustellung DELIVERMAIL="/usr/cyrus/bin/deliver" INBOX="$DELIVERMAIL -r $SENDER -m $EXTENSION $USER" SPAM="$DELIVERMAIL -e -a $USER -q -m user.$USER.spam" # "From" Zeile loeschen, sonst funktioniert cydeliver nicht :0fw | formail -f -I "From " :0fw * < 256000 | /usr/bin/spamc -u filter # --- score = 11 :0 w * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\* | $SPAM # zur mailbox zustellen :0w | $INBOX # schluss :0w { EXITCODE=$? HOST } |
Der rot markierte Text ist von mir nachträglich eingefügt worden. In der ersten Zeile:
| SPAM="$DELIVERMAIL -e -a $USER -q -m user.$USER.spam" |
Hier mache ich das Gleiche wie mit dem deliver, den wir ja schon von der procmail konfiguration kennen. Nur dass ich diesmal die Mail nicht in die INBOX leite, sondern in den Unterorder " spam". Da ich nicht dafür verantwortlich gemacht werden will, den Benutzern ihren M üll zu löschen, leite ich ihn einfach in einen Unterordern. Wer will kann ihn dort sammeln oder bei Gelegenheit einfach rauslöschen. So bleibt es jedem selbst überlassen. In der nächsten Zeile:
:0fw |
Hier leite ich alle Mails, die kleiner sind als 256kb zu meinem Spamfilter. Größere Mails sind meist keine Spam mehr und müssen deswegen nicht geprüft werden. In der n ächsten Zeile:
:0fw |
Alles was mehr als 11 Punkte hat, wird in die Benutzermailboxen in den Unterordner "spam" verschoben. Man kann hier aber auch z. B. angeben, dass alle mails, die als spam erkannt wurden, gelöscht werden sollen, was ich aber, wie schon gesagt, nicht für sehr sinnvoll halte, aber das kannst du ja entscheiden.
Damit wäre nun SpamAssassin eingebunden und wird als Spamfilter genutzt.
| Zurück zur SpamAssassin Installation |