Spam-Filter
Inhaltsverzeichnis
Debian-Pakete
- spamassassin
- spamass-milter
Spamassassin-Konfiguration
Aus Gründen der Update-Fähigkeit werden mit dem Paket installierte
Config-Dateien möglichst nicht verändert!
Tragischerweise ist es doch notwendig:
In der Datei /etc/spamassassin/local.cf
muss am Ende die folgende Zeile eingefügt werden:
include /etc/spamassassin/local.devtal-global.cf
Devtal-Konfigurationen befinden sich in einer separaten Datei:
/etc/spamassassin/local.devtal-global.cf
:
- Hiermit werden die Spam-Scores festgelegt, ab denen Spam gefiltert wird
required_hits 5 report_safe 0 rewrite_header Subject *****SPAM*****
- Pfad der Bayesischen Datenbank angeben und aktivieren:
- Da die bayes_db für alle Nutzer global verwendet wird, wird diese an einem Ort abgelegt, an dem jeder Nutzer Zugriff hat (was aber für SA im Milter-Mode wenig Vorteile bringt)
- Wenn es allerdings ohne Milter läft und Spamassassin daher normalerweise in jedem Home-Verzeichnis suchen würde, ist diese Konfiguration umso sinnvoller. Denn die Spamfilterung ist mit einer einzigen Bayes-DB effizienter als mit vielen einzelnen.
use_bayes 1 bayes_auto_learn 1 bayes_path /usr/share/spamassassin/devtal-global-bayesdb/bayes bayes_file_mode 0666
- Es werden ein paar standardmäßg aktivierte, aber nicht mehr lebende DNSBLs abgeschatet
score DNS_FROM_AHBL_RHSBL 0
- Eigene Score-Definitionen zur Verbesserung der Filterung:
###### Eigene Score-Definitionen score USER_IN_WHITELIST -9999 score USER_IN_BLACKLIST 9999 score RCVD_IN_BL_SPAMCOP_NET 0 3.5 0 3.3 score RCVD_IN_XBL 0 6 0 6 score RCVD_IN_PBL 0 3.25 0 3.25 score RCVD_IN_SBL 0 4.5 0 4.5 score RCVD_IN_DNSWL_NONE 0 -5 0 -5
- Netzwerkumgebung konfigurieren
- Das ist wichtig, damit Spamassassin korrekte Filterungen anhand der "Received:"-Header vornehmen kann
##### TRUSTED_NETWORKS muss korrekt konfiguriert sein und alle (öffentlichen) IP-Adressen/Subnetze enthalten, welche E-Mails an diesen Server relayen ##### z.B. Backup-MX oder vorgelagerte Mailserver ##### +++ FEHLEN HIER IP-ADRESSEN ODER SIND FALSCH GESETZT, WERDEN DIE FALSCHEN IP-ADRESSEN PER DNSBL GEPRUEFT! trusted_networks 80.86.174.81/32 internal_networks 80.86.174.81/32
- Zusätzliche Blacklisten werden hier aktiviert resp. deren Scores angepasst
- Infos zu den einzelnen Blacklisten finden sich in deren Definitionen (normalerweise unter /usr/share/spamassassin)
##### Zusätzliche Blacklisten # URIDNSBL ifplugin Mail::SpamAssassin::Plugin::URIDNSBL # <gen:mutable> score URIBL_AB_SURBL 0 4.499 0 4.499 # n=0 n=2 score URIBL_JP_SURBL 0 1.948 0 1.250 # n=0 n=2 score URIBL_OB_SURBL 0 0.785 0 0.122 # n=0 n=2 score URIBL_PH_SURBL 0 0.001 0 0.610 # n=0 n=2 score URIBL_RHS_DOB 0 0.276 0 1.514 # n=0 n=2 score URIBL_SBL 0 0.644 0 1.623 # n=0 n=2 score URIBL_SC_SURBL 0 0.001 0 0.568 # n=0 n=2 score URIBL_WS_SURBL 0 1.659 0 1.608 # n=0 n=2 score URIBL_BLACK 0 14.775 0 15.725 # n=0 n=2 score URIBL_GREY 0 2.584 0 2.424 # n=0 n=2 score URIBL_DBL_SPAM 0 9.7 0 9.7 # </gen:mutable> # score URIBL_GREY 0.25 score URIBL_RED 0.001 score URIBL_DBL_ERROR 0 0.001 0 0.001 endif # IX-DNSBL header RCVD_IN_NIX_SPAM eval:check_rbl('nix-spam-lastexternal','ix.dnsbl.manitu.net.') describe RCVD_IN_NIX_SPAM Listed in NIX-SPAM DNSBL (heise.de) tflags RCVD_IN_NIX_SPAM net score RCVD_IN_NIX_SPAM 0 5 0 5
- Es ist (weil gemeckert wurde) notwendig, verschiedene Absender und Empfänger zu whitelisten
########## WHITELISTS ### 2018-05-05 grobi: "whitelist_to *@lists.devtal.de" entfernt, da damit viel Spam verteilt wurde. Separate Whitelists fuer Mailinglisten weiter unten angelegt whitelist_from *@web.de whitelist_from *@lists.devtal.de ### Owner-Adressen fuer Mailinglisten ungefiltert lassen, den Rest aber pruefen whitelist_to *owner@lists.devtal.de whitelist_to *loop@lists.devtal.de whitelist_to *bounces@lists.devtal.de
Postfix-Konfiguration
- Spamassassin wird momentan in Milter-Mode betrieben - das heißt, es können E-Mails noch während der Einlieferung geprüft und notfalls von Postfix abgelehnt werden
-
main.cf
### Spamassassin smtpd_milters = unix:spamass/spamass.sock milter_default_action = accept
Damit wird der Milter-Socket angegeben und definiert, dass E-Mails angenommen werden, wenn die Milter-Verbindung nicht funktioniert.
Probleme des Spam-Assassin
Der Filter lässt sich erstaunlich schlecht manuell trainieren. Selbst nach etlichen manuellen Eingaben von eindeutigem Spam ändert das Filterverhalten nicht im geringsten. Im Zuge der anstehenden Server-Umbauten wird bei einem Neuaufbau des Mailservers vermutlich der rspamd mitsamt einem Redis-Caching-Server zum Einsatz kommen. Vorgehensweise und Konfiguration sollten besprochen werden.