Spam-Abwehr mit Linux

Die zwei Betriebsmodi

Zur Prüfung der eingehenden Nachrichten kennt SpamAssassin zwei unterschiedliche Methoden. Zum einen den Aufruf von SpamAssassin für jede Nachricht, zum anderen die Arbeit als ständig im Hintergrund laufender Dämon, den ein Hilfsprogramm mit den zu prüfenden Mails füttert. Die Dämon-Variante hat den Vorteil höherer Verarbeitungsgeschwindigkeit. Ihr Nachteil besteht darin, dass sich Filterregeln und auch der Bayes'sche Filter in diesem Modus nur global definieren lassen. Allerdings ist dieser Nachteil in den meisten Fällen eher virtuell, da das Gros der Anwender sowieso zu faul ist, den Bayes'schen Filter zu trainieren oder eigene Filterregeln zu entwerfen. Hier bietet der Dämon dann sogar den Vorteil, dass auch diese Anwender von der Arbeit der anderen Nutzer profitieren. Es macht daher Sinn, die Dämon-Variante zu wählen.

Um den Dämon beim Start des Rechners automatisch zu laden, benötigen Sie ein Startup-Skript. Anstatt dieses eigenhändig zu schreiben oder durch Kopieren und Probieren aus einem vorhandenen Script zu erzeugen, bietet sich eine komfortablere Alternative an: Im CPAN-Paket von SpamAssassin ist bereits ein vorgefertigtes Skript für SUSE-Linux enthalten. Netterweise löscht das CPAN-Modul die zur Installation verwendeten Pakete nicht, sondern speichert sie in einem Cache-Verzeichnis. Das Skript muss also nur aus dem Archiv extrahiert, mit dem richtigen Namen in das Verzeichnis /etc/init.d kopiert und der neue Dienst dem System bekannt gemacht werden:

tar -xvzf ~/.cpan/sources/authors/id/F/FE/FELICITY/Mail-SpamAssassin-2.62.tar.gz Mail-SpamAssassin-2.62/spamd/suse-rc-script.sh
cp Mail-SpamAssassin-2.62/spamd/suse-rc-script.sh /etc/init.d/spamd
chmod a+x /etc/init.d/spamd
insserv /etc/init.d/spamd

Puristen stört an dieser Variante noch, dass sie auf eine ältere Version von SUSE-Linux zugeschnitten ist und unter aktuellen Ausgaben eine - für die Funktion von SpamAssassin nicht relevante - Fehlermeldung produziert. Um das zu beheben, löschen Sie in der Datei /etc/init.d/spamd die folgenden Zeilen:

# Source SuSE config
. /etc/rc.config

Unter SUSE-Linux 9.0 erfolgt die Parameterübergabe durch eine eigene Konfigurationsdatei. Daher fügen Sie zwei neue Zeilen ein:

SPAMD_CONFIG=/etc/sysconfig/spamd
test -r $SPAMD_CONFIG && . $SPAMD_CONFIG

Die Parameter, die der SpamAssassin-Dämon beim Start übernehmen soll, legen Sie in der Datei /etc/sysconfig/spamd über die optionale Variable SPAMD_OPTS fest. Damit der Dämon auch wirklich gestartet wird, muss diese Datei zumindest die beiden folgenden Zeilen enthalten:

START_SPAMD=yes
SPAMD_OPTS="-d -L"

Die in der Variablen SPAMD_OPTS hinterlegten Optionen weisen den Dämon-Prozess an, sich wirklich als Dämon zu installieren und nur lokale Tests durchzuführen - also keine Daten mit Servern im Internet auszutauschen.