Spam-E-Mails sind aufgrund ihrer schieren Menge nach wie vor ein nervtötendes Problem für viele Anwender. Wie E-Mail-Clients dagegen automatisiert Abhilfe schaffen, erforscht die aktuelle Bitparade.
Die meisten Anwender kämpfen sich jeden Morgen beim ersten Sichten des E-Mail-Postfachs durch unzählige Spam-Nachrichten. Das ist nicht nur ärgerlich und unproduktiv, sondern kostet auch Zeit. Wer das Postfach mehrere Tage lang nicht bereinigt hat, den erschlägt die schiere Menge an Spam erst recht. Eine weitere Gefahr: Möchte der Nutzer das mit Werbung verstopfte Postfach reinigen, verschwinden womöglich auch wichtige E-Mails sang- und klanglos, die sich zwischen den unerwünschten Nachrichten verlieren.
Die gängigen E-Mail-Clients bieten deshalb alle die Möglichkeit, auf Spam-Filter zurückzugreifen, die die Spreu automatisiert vom Weizen trennen und dem Anwender so viel unproduktive Arbeit ersparen. Wer keinen E-Mail-Server nutzt, der Spam bereits vor der Auslieferung aussortiert, ist daher gut beraten, einen Spam-Filter auf dem E-Mail-Client zu installieren. Die Bitparade hat sich angesehen, wie effizient Bogofilter [1], Spamassassin [2], Thunderbirds Junk-Filter [3] und Claws Mails Bsfilter [4] die Postfächer vor unnützer Werbung schützen.
Nicht berücksichtigt
Neben den besprochenen gibt es zahlreiche weitere Anwendungen zum Aussortieren unerwünschter E-Mail-Nachrichten. Einige ursprünglich für MUA-Systeme (Mail User Agents), also E-Mail-Clients, entworfene Programme erhalten jedoch seit teils mehr als zehn Jahren keine Aktualisierung mehr. Sie scheiden daher für den Praxistest aus. Der Quick Spam Filter (QSF, [5]) kooperierte ursprünglich zwar mit Kmail, das funktioniert seit Einführung des KDE-4-Desktops jedoch nicht mehr. Zahlreiche andere Lösungen wie Scrollout F1 [6], ASSP [7], MailScanner [8] oder Rspamd [9] sind für den Einsatz mit MDA- oder MTA-Systemen (Mail Delivery Agent und Mail Transport Agent) konzipiert und setzen daher einen installierten E-Mail-Server voraus. Komplettlösungen wie Mailcleaner [10], die neben einem Spam-Filter auch eine Antiviren-Instanz anbieten und in einer virtuellen Maschine laufen, fielen ebenso aus dem Testfeld. Online- und Cloud-Dienste wie Spamfence [11], das für Privatanwender kostenfrei ist, fanden mangels Nutzungsmöglichkeit in den E-Mail-Clients ebenfalls keine Berücksichtigung.
Wirkungsweise
Spam-Filter arbeiten an verschiedenen Stellen des Zustellprozesses für elektronische Post. E-Mail-Provider bevorzugen Blacklists, die IP-Adressen und Domains enthalten, von denen die Spam-Mails kommen. Lokal installierte Spam-Filter durchforsten hingegen für E-Mail-Server und -Clients den Betreff und den Inhalt eingehender E-Mails. Auch die E-Mail-Header unterziehen sie mitunter einer Prüfung.
Fallen dabei für Spam-Zusendungen typische Merkmale auf, schieben die Filter diese E-Mails meist in einen Spam-Ordner. Die als Token oder Trigger bezeichneten Merkmale dürfen dabei Formatierungen sein, aber auch in Spam-Mails häufig vorkommende Begriffe oder Phrasen. Einige Filter durchsuchen zusätzlich die in den eingehenden E-Mails verlinkten Webseiten nach verdächtigen Begriffen.
Spüren die Filter in einer E-Mail mehrere der Token auf, steigert das kumulativ den Spam-Score. Übersteigt dieser dann einen bestimmten Schwellwert, identifiziert der Spam-Filter die betreffende E-Mail als Spam. Der Schwellwert darf dabei variieren. Die meisten Filter erlauben es dem Anwender zum Beispiel, nicht erkannte Spam-E-Mails nachträglich als solche zu kennzeichnen. Deren Merkmale fließen dann in die automatisierte Bewertung durch den Spam-Filter ein, was den Schwellwert entsprechend ändert.
Diese als Bayes-Spam-Filter bezeichnete statistische Methode, um Spam zu erkennen, braucht zunächst grundsätzlich eine Anlernphase, um die Treffergenauigkeit zu erhöhen. Daher treten direkt nach dem Installieren eines bayesschen Filters noch viele Fehleinschätzungen auf. Nach einigen Hundert Filtervorgängen erreichen Bayes-Filter jedoch sehr gute Ergebnisse.
Bogofilter
Einer der bekanntesten Spam-Filter ist der bereits seit mehr als 15 Jahren kontinuierlich gepflegte Bogofilter [1]. Die plattformübergreifend nutzbare Software ist in der Programmiersprache C geschrieben und steht unter der GPL-Lizenz. Bogofilter lässt sich in zahlreiche E-Mail-Clients wie Kmail, Evolution oder Claws Mail integrieren. Auch mit Mail Delivery Agents (MDA) wie Maildrop und Procmail arbeitet Bogofilter zusammen.
Der Spam-Filter gehört zur Gruppe jener, die einen statistischen Algorithmus nach dem Satz von Bayes zur Spam-Erkennung anwenden. Dabei überprüft er die Header einer E-Mail und deren Inhalt, wobei er Worthäufigkeiten zur Kategorisierung der eingehenden E-Mails nutzt. Bogofilter ist lernfähig; der Anwender muss ihn anfangs aber noch vermehrt trainieren, um die Treffergenauigkeit zu erhöhen.
Spammer versuchen auf der anderen Seite, die Erkennungsrate von Bogofilter zu schmälern. Sie schreiben vom Filter als Spam identifizierte Begriffe in ihren E-Mails absichtlich fehlerhaft oder ersetzen sie durch Grafiken, die diese Begriffe enthalten. Damit wollen sie den Filter in die Irre führen und die Spam-Mails so in den Posteingang schmuggeln. Da der Filter jedoch auch grafische Elemente als verdächtig betrachtet, die entsprechende HTML-Tags mitbringen, haben solche Verfälschungen meist nur wenig Erfolg.
Installation
Die Software wartet in der Regel in den Repositories der Distributionen. Sie lässt sich über den Paketmanager installieren. Der bietet für die E-Mail-Clients Claws Mail und Evolution zudem häufig Plugins an.
Der Spam-Filter ist im E-Mail-Client aber nicht sofort aktiv, der Nutzer muss ihn entsprechend konfigurieren. Je nach verwendeter Client-Software gibt es dafür unterschiedliche Dialoge. Kmail bietet beispielsweise einen grafischen Einrichtungsassistenten an, der mit unterschiedlichen Spam-Filtern harmoniert (Abbildung 1).

Abbildung 1: In Kmail lässt sich Bogofilter mit wenigen Mausklicks installieren.
Nach der Installation muss der Bogofilter ins Trainingslager, wo er lernt, Spam-Mails zu erkennen und auszusortieren. Dazu nutzt die Software eine Wortdatenbank. Sie identifiziert Nachrichten als Spam- und Ham-Mails – Letztere sind erwünscht, Erstere gehören in den Trash-Ordner. Dazu nutzt Bogofilter Wahrscheinlichkeiten, die sich auf das Vorkommen von Begriffen in den E-Mails und Betreffzeilen stützen.
Die Wortdatenbank und Filteroptionen richtet der Nutzer mithilfe der Programme »bogofilter«, »bogolexer« und »bogoutil« am Prompt ein. Um die zahlreichen Parameter zu durchsteigen, stellen die Entwickler ausführliche Dokumentationen auf den entsprechenden Manpages zur Verfügung [12].
Wesentlich bequemer trainiert der Nutzer das Programm jedoch über grafische Assistenten. In Kmail steht dazu im Menü Einstellungen | Filter einrichten ein komplexer Dialog bereit (Abbildung 2). Dort legt der Anwender neue Filter an und konfiguriert bestehende. Dabei muss er falsch klassifizierte E-Mails manuell lokal nachbearbeiten.

Abbildung 2: Auch die Filterfunktionen lassen sich in Bogofilter bequem grafisch konfigurieren.
Die beiden Filter Als Spam klassifizieren und Als Nicht-Spam klassifizieren sortieren tatsächlich keine eingehenden E-Mails, sondern kümmern sich um das Nachjustieren lokaler Ordner.
Konkret wendet der Anwender dazu über die Menüpunkte Ordner und Nachricht einzelne Filter auf bestehende Ordner oder Nachrichten an. In den entsprechenden Dialogen Filter auf Ordner anwenden und Filter anwenden wählt er die unterschiedlichen Filter aus. Bei Bedarf schließt er dabei vorhandene Unterordner über die entsprechende Option ein. Indem er fehlerhaft klassifizierte E-Mails manuell korrigiert, erhöht der Nutzer die Trefferquote des automatisierten E-Mail-Scans sukzessive.
Bogofilter durchsucht neben den eigentlichen Textinhalten einer Nachricht auch deren Header nach Begrifflichkeiten und filtert die Nachricht im Zusammenspiel mit den anderen Erkennungsmechanismen. Dabei ist es auch möglich, den Filter so zu konfigurieren, dass Bogofilter Nachrichten von definierten Absendern grundsätzlich nicht als Spam markiert und aussondert.
Training
Bogofilter erweist sich im Praxistest nach einer gewissen Lernphase als durchaus effektiv arbeitender Spam-Filter. Es gilt zu beachten, dass die Software Anhänge nicht filtert. Angehängte PDF-, DOC- oder JPG-Dateien muss der Anwender bei Bedarf separat mit einem Antiviren-Filter prüfen. Metadaten filtert das Programm ebenfalls nicht. Verschlüsselte E-Mails sortiert Bogofilter anhand ihrer Header zwar, prüft sie jedoch nicht inhaltlich. Da Spam-Mails aber in der Regel nicht verschlüsselt ankommen, ist das kein Problem.
Wichtig zu wissen ist auch, dass der Anwender Bogofilter während seiner Nutzung permanent trainieren muss, um eine möglichst hohe Trefferquote zu erzielen. Da die Versender von Spam-Mails fortlaufend neue Begriffe nutzen, um Filter zu umgehen, die mit Datenbanken arbeiten, steigt ohne dieses permanente Training die Fehlerquote bei Bogofilter an.
Spamassassin
Als Platzhirsch unter den Filterlösungen für unerwünschte E-Mails fungiert der ebenfalls als freie Software angebotene und in der Programmiersprache Perl realisierte Spam-Filter Spamassassin [2]. Die Software arbeitet auf Benutzerebene jedoch auch auf Mail-Servern. Für die gängigen E-Mail-Clients stehen jeweils Plugins bereit, die den Filter nahtlos in den jeweiligen Client integrieren. Das plattformübergreifend nutzbare Programm steckt unter Linux in den Repositories der gängigen Distributionen. Für einige E-Mail-Clients wie Evolution warten auch Plugins in der Paketverwaltung.
Wirkungsweise
Spamassassin nutzt unterschiedliche Methoden, um Spam-Mails von herkömmlicher elektronischer Post zu unterscheiden (Abbildung 3): Statische Filter suchen einerseits mit regulären Ausdrücken nach Zeichenfolgen, die üblicherweise in Spam-Mails vorkommen. Andererseits setzt die Software auch auf Datenbanken mit Begriffen, die häufig beim Spam-Versand zum Einsatz kommen. Daneben fragt Spamassassin Blacklists ab, die Server-Adressen vorhalten, von denen Spam kommt. Als weitere Methode erkennen auch prüfsummenbasierte Filter Spam. Seine Befunde verewigt Spamassassin in den Headern der eingehenden E-Mails. Dort steht dann etwa »X-Spam-Level: *****« oder »X-Spam-Status: Yes«.

Abbildung 3: In Spamassassin sind bereits zahlreiche Filter und Tests vordefiniert.
Verwendung
Hat er die Software oder entsprechende Plugins für E-Mail-Clients installiert, richtet der Anwender den Filter bequem über den jeweiligen Client ein. Dazu stehen unter den gängigen Clients Assistenten und Dialoge zur Verfügung.
In Thunderbird konfiguriert der Anwender Spamassassin über den Menüpunkt Extras | Filter | Neu. Voraussetzung ist, dass er den Filter vorab in das Programm integriert, was über den Dialog Konten-Einstellungen | Junk-Filter im Menü Bearbeiten gelingt. Anschließend definiert der Nutzer in einem gesondert geöffneten Fenster Filterregeln.
Der Nutzer legt aber nicht selbst Filter für Spam-Begriffe an, denn dann würde er den Job des Spam-Filters quasi manuell erledigen. Vielmehr schreibt er eine Regel, die in den E-Mail-Header schaut und die Erkenntnisse von Spamassassin auswertet. Neben den üblichen Komponenten einer E-Mail durchsuchen die Filter auf Wunsch auch die Header von E-Mails. Dazu ignoriert der Nutzer die voreingestellten Filterkriterien (etwa Betreff, Datum, Inhalt) und wählt stattdessen ganz unten Anpassen. Der neue Filter prüft dann zum Beispiel im Header den »X-Spam-Level« und wird ab einer bestimmten Sternchenzahl aktiv, oder er fragt den Wert von »X-Spam-Flag« ab (Abbildung 4).

Abbildung 4: Auch Spamassassin lässt sich in gängigen E-Mail-Clients wie Thunderbird bequem grafisch konfigurieren.
Voreingestellt landen neu angelegte Filter dabei in einer Tabelle im Konfigurationsfenster; ein Häkchen aktiviert sie automatisch. Will der Anwender einen Filter nachträglich auf vorhandene, lokal gesicherte Nachrichten anwenden, wählt er den gewünschten Ordner manuell aus und klickt auf den Button Jetzt ausführen.
Damit auch bei großen Ordnern die Übersicht erhalten bleibt, kann der Nutzer die Filtertätigkeit nachvollziehen. Hat er im entsprechenden Fenster die Protokollierung eingeschaltet, zeigt ein Klick auf den Button Filter-Protokoll die Aktionen des Filters in Listenform an. Die Einstellprozedur muss der Anwender für jedes in Thunderbird eingerichtete Konto neu durchlaufen, da es sich um eine kontenspezifische Konfiguration handelt. Dabei dürfen Anwender IMAP- und POP3-Konten gleichermaßen filtern.
Kommandozeile
Wie Bogofilter lässt sich auch Spamassassin dank seiner Konzeption als Standalone-Filter komplett über die Kommandozeile konfigurieren und bedienen. Für die Konfiguration auf einem lokalen System steht dazu im Verzeichnis »/etc/mail/spamassassin/« die Datei »local.cf« bereit. Sie liegt im Textformat vor, das jeder beliebige Editor bearbeitet (Abbildung 5).

Abbildung 5: Spamassassin lässt sich auch am Prompt konfigurieren.
Über die Datei konfiguriert der Admin den Spam-Score, Filter und White- sowie Blacklists. Standardmäßig sind die einzelnen Optionen per Doppelkreuz deaktiviert. Der Admin aktiviert sie, indem er das Doppelkreuz am jeweiligen Zeilenanfang entfernt. Dabei muss er beachten, dass er den Filter, wenn dieser als Service arbeitet, nach Änderungen neu starten muss, damit die Modifikationen greifen.
Um die Funktion von Spamassassin zu überprüfen, testet der Anwender zudem die Konfiguration, indem er den Befehl »spamassassin –lint -D« eingibt. Für die sehr umfangreichen Konfigurationsparameter stellen die Entwickler eine aussagekräftige englischsprachige Dokumentation [13] bereit.
Junk-Filter (Thunderbird)
Die bekannteste freie Applikation unter den Mail User Agents, das von Mozilla entwickelte und gepflegte Programm Thunderbird, verfügt über einen integrierten Spam-Filter. Dabei handelt es sich ebenfalls um einen Bayesschen Filter, der anhand von Wortlisten und statistischen Berechnungen Spam aussortiert. Die Software muss der User nicht eigens installieren.
Wie alle Bayes-Filter muss der Nutzer auch den Junk-Filter von Thunderbird zunächst trainieren, um gute Ergebnisse beim Aussortieren von unerwünschten Nachrichten zu erzielen. Die Einstellungsdialoge für den Filter gliedern sich in globale und kontenabhängige Optionen. Zunächst richtet der Anwender die Filteroptionen global im Menü Bearbeiten | Einstellungen ein. Dazu klickt er dort auf den Button Sicherheit und wählt dann den Reiter Junk aus. Per Häkchen vor der Option Junk-Protokoll für selbstlernenden Filter aktivieren startet er das Protokoll.
Im nächsten Schritt aktiviert er den Filter kontenspezifisch über das Menü Bearbeiten | Konten-Einstellungen | Junk-Filter. Setzt er ein Häkchen vor der Option Junk-Filter für dieses Konto aktivieren, tritt der Filter in Aktion. Im gleichen Dialog legt der Nutzer zudem fest, in welchen Ordner er Spam-Mails verschieben möchte (Abbildung 6).

Abbildung 6: Die Einstellungen für den Junk-Filter von Thunderbird fallen etwas unübersichtlich aus.
Da der Anwender den Spam-Filter zunächst trainieren muss, obliegt es dem Nutzer, eingehende Nachrichten auf ihren Status zu prüfen. Spam-Mails markiert er dabei, indem er auf das entsprechende Symbol hinter dem Betreff in der Listenanzeige eingegangener Nachrichten klickt. Umgekehrt klappt es aber auch: Vom Filter fälschlich als Spam gekennzeichnete E-Mails kann der Anwender wieder entseuchen. Dazu klickt er auf das Spam-Symbol rechts neben dem Betreff (Abbildung 7) und markiert die Nachricht als erwünscht.

Abbildung 7: Erkannte Spam-Mails markiert Thunderbird in seiner Oberfläche mit einer stilisierten Flamme.
Um die definierten Aktionen des Junk-Filters anzuwenden, klickt der Nutzer abschließend im Menü Extras auf die Option Junk-Filter auf Ordner anwenden. Über das Menü Extras | Filter definiert er zusätzlich eigene Filter. Dazu öffnet Thunderbird einen einfach zu handhabenden grafischen Dialog, in dem er Ein- und Ausschlusskriterien sowie die dazugehörigen Verfahrensweisen angibt. Auch diese Filter lassen sich manuell im Menü Extras mit der Option Filter auf Ordner anwenden aktivieren.
Bsfilter (Claws Mail)
Für mehrere E-Mail-Clients gibt es explizit Plugins, die Spam-Filter-Funktionen nachrüsten. Dazu gehören (neben anderen) für Claws Mail das Bsfilter-Plugin sowie für Evolution wie Claws Mail jeweils ein Plugin für Spamassassin und Bogofilter. Die Pakete lassen sich bequem über die Erweiterungsdialoge des E-Mail-Clients nachrüsten.

Abbildung 8: Claws Mail integriert den Bsfilter über einen Plugin-Dialog.
In Claws Mail ruft der Nutzer beim Einsatz des Bsfilter-Plugins über den Dialog Konfiguration | Erweiterungen/Plugins ein Fenster auf, um Erweiterungen zu verwalten. Dort klickt er auf den Aktivieren-Button und wählt anschließend das Bsfilter-Plugin zur Übernahme in den E-Mail-Client (Abbildung 8). Nun kann er den Filter über den Dialog Konfiguration | Einstellungen links im Fenster auswählen und den eigenen Wünschen folgend rudimentär konfigurieren (Abbildung 9).

Abbildung 9: Die Konfiguration des Filters erlaubt nur ein paar Grundeinstellungen.
Danach muss der Anwender den Bsfilter ebenso wie alle anderen Lösungen trainieren, indem er Spam-Mails aussucht, markiert und somit als Spam kennzeichnet. Dazu klickt er mit der rechten Maustaste auf die eingegangenen Nachrichten und wählt Markieren aus dem Kontextmenü. Im Untermenü findet sich der Eintrag Als Spam markieren. Diesen wählt er, um damit zugleich das entsprechende Flag im Header der E-Mails zu setzen. Gleichzeitig verschiebt Claws Mail die betroffenen Nachrichten in den zuvor im Einstellungsdialog angegebenen Ordner.
Es ist also bei Claws Mail nicht erforderlich, den Filter über einen gesonderten Menüeintrag speziell zu aktivieren. Versehentlich als Spam markierte Nachrichten kennzeichnet der Nutzer darüber hinaus per Mausklick auf Nicht-Spam in der Schalterleiste von Claws Mail als erwünschte Nachricht. Über das kleine Dreieck rechts neben dem Button trainiert er den Filter außerdem noch einmal gesondert. Der Nutzer definiert zudem über einen Filterdialog auch eigene Filter. Diesen Dialog ruft er über das Menü Konfiguration | Filtern auf, er bringt entsprechende Einstellmöglichkeiten mit.
Fazit
Die vorgestellten Filter erzielen nach einer Trainingsphase allesamt gute bis sehr gute Ergebnisse (siehe Tabelle 1). Spamassassin sticht jedoch bei den Fehlerquoten positiv heraus, da dieser Filter dank verschiedener zusätzlicher Filtermethoden zum Bayes-Verfahren eingehende Nachrichten nach einer gewissen Lernphase überaus zuverlässig sortiert. Allerdings benötigt Spamassassin bei stark frequentierten Postfächern auch deutlich länger, die E-Mails entsprechend zu sortieren. Bogofilter erbringt nach einem ausgiebigen Training ebenfalls sehr gute Ergebnisse.
|
|
Bogofilter |
Spamassassin |
Junk-Filter (Thunderbird) |
Bsfilter (Claws Mail) |
|---|---|---|---|---|
|
Lizenz |
GPL |
Apache-Lizenz |
GPL/LGPL/MPL |
GPL |
|
Anwendung |
||||
|
plattformübergreifend |
ja |
ja |
ja |
ja |
|
für MUA |
ja |
ja |
ja |
ja |
|
alternativ für MDA/MTA |
ja |
ja |
nein |
nein |
|
Plugins |
ja |
ja |
nein |
nein |
|
Funktion |
||||
|
Bayes-Filter |
ja |
ja |
ja |
ja |
|
IP-Blockade als Filterfunktion |
nein |
ja |
nein |
nein |
|
Domain-Blockade als Filterfunktion |
eingeschränkt |
ja |
eingeschränkt |
eingeschränkt |
|
Whitelists / Blacklists |
ja |
ja |
ja |
ja |
|
manuell konfigurierbare Filter |
ja |
ja |
ja |
ja |
|
manuelles Training |
ja |
ja |
ja |
ja |
|
unterstützte Protokolle |
||||
|
IMAP-Konten |
ja |
ja |
ja |
ja |
|
POP3-Konten |
ja |
ja |
ja |
ja |
|
Erkennungsquote nach Training |
gut bis sehr gut |
sehr gut |
gut bis sehr gut |
gut bis sehr gut |
Der in Thunderbird integrierte Junk-Filter ist etwas umständlich zu konfigurieren, da die Software die dazugehörigen Dialoge auf mehrere Menüs verteilt. Nach einer Lernphase fällt die Fehlerquote beim Aussortieren von Spam-Mails jedoch sehr niedrig aus, sodass Thunderbird eigentlich keinen zusätzlichen Spam-Filter benötigt. Der Bsfilter in Claws Mail arbeitet ebenfalls unauffällig, bei guten bis sehr guten Ergebnissen.
Allen Filtern ist gemeinsam, dass sie regelmäßiges Training brauchen. Spam-Versender lassen sich immer wieder neue Methoden einfallen, um listen- und datenbankbasierte Anti-Spam-Lösungen hinters Licht zu führen. Trotz dieses Trainingsaufwands sind die besprochenen Filter für Spam-geplagte Anwender jedoch allemal eine bessere Lösung als das mühselige manuelle Aussortieren unerwünschter Werbung. (kki)
Infos
-
Bogofilter: https://bogofilter.sourceforge.io/
-
Spamassassin: https://spamassassin.apache.org/
-
Thunderbird: https://www.thunderbird.net/de/
-
Claws Mail: https://www.claws-mail.org/plugins.php?section=downloads
-
Scrollout F1: http://www.scrolloutf1.com
-
MailScanner: https://www.mailscanner.info
-
Rspamd: https://rspamd.com
-
Mailcleaner: https://www.mailcleaner.org
-
Spamfence-Seite: http://www.spamfence.net/index.html
-
Bogofilter-Dokumentation: https://linux.die.net/man/1/bogofilter
-
Spamassassin-Dokumentation: https://spamassassin.apache.org/full/2.6x/dist/doc/Mail_SpamAssassin_Conf.html






