SpamAssassin reloaded
Artikel erschienen in Swiss IT Magazine 2004/19
SpamAssassin ist wohl die am meisten verwendete Software im Kampf gegen unerwünschte E-Mails. Entsprechend heiss wurde die neuste Version 3.0 erwartet, die zum ersten Mal von der Apache Software Foundation herausgegeben wird. Neben neuen Static Rules, die mindestens für einige Zeit den Spammern standhalten sollen, finden sich allerlei praktische neue Features, die den Einsatz von SpamAssassin besonders in grossen Umgebungen wie bei ISPs oder Unternehmen vereinfachen dürften.
Wie zu erwarten war, wurden etliche neue Static Rules zu SpamAssassin hinzugefügt. Dies ist nötig, da Spammer durch die Verbreitung von SpamAssassin schon vor einiger Zeit damit begonnen haben, ihre Werbemails solange an ihre eigene SpamAssassin-Installation zu verfüttern und anzupassen, bis sie durchgelassen werden. Zudem hat man die Gewichtung älterer Regeln angepasst, um SpamAssassin besser an die aktuellen Werbemails anzupassen. So wurde ein verstärktes Augenmerk auf Werbemails gelegt, die pharmazeutische Produkte anpreisen. Auch wurden Regeln eingeführt, welche die Verunreinigungen der Bayes-Filter (Bayes Poisoning) verhindern sollen. Ausserdem unterstützt SpamAssassin 3.0 nun von Haus aus die Habeas Rules und prüft diese gegen die Habeas Whitelist, womit eine Fälschung der Habeas-Headers den Spammern verunmöglicht werden soll.
Die Regeln werden nun auch von einer Plug-in-Schnittstelle ergänzt, die es erlaubt, SpamAssassin um weitere Funktionen von Drittherstellern zu erweitern. SpamAssassin 3.0 bringt im Auslieferungszustand bereits mehrere Plug-ins mit:
Hashcash: Hashcash ist eine Lösung, welche den Absender einer Nachricht dazu zwingt, CPU-intensive Berechnungen vorzunehmen und deren Ergebnisse in die zu sendende Nachricht einzufügen. Die Überprüfung des Resultats kostet den Empfänger nur einen Bruchteil der Rechenzeit, womit sich die Menge der ankommenden Werbebotschaften stark reduzieren lässt.
Relay Country: Dieses Plug-in erlaubt es, die Country-Codes (CH, GB, USA etc.) von Relays, welche die Nachricht auf ihrem Weg vom Absender zum Empfänger passiert hat, in den Message-Header einzufügen. Damit verfügt der Empfänger über die nötigen Informationen, um eine Filterung auf Basis der Herkunftsländer durchzuführen.
Sender Policy Framework (SPF): Das SPF-Plug-in testet mit Hilfe des Perl-Moduls Mail::SPF::Query, ob der versendende E-Mail-Server einer Nachricht dazu legitimiert ist, E-Mails für die benutzte Absenderdomain zu verschicken. Ist dem nicht der Fall, ist dies ein Indiz für Spam (genaue Funktionsweise ist auf der SPF-Homepage erklärt, Link siehe Kasten «Weitere Informationen»). Die Plug-in-Architektur kommt besonders bei diesem Modul den Administratoren entgegen, die noch nicht auf SPF setzen wollen, da SPF noch kein Standard und unter den E-Mail-Administratoren wegen Problemen mit E-Mail-Forwarding («.forward-Problem») umstritten ist.
URIDNSBL: Es hat sich als zuverlässiges Mittel erwiesen, die URLs in den Nachrichten-Körpern mit sogenannten URL-Blacklists zu vergleichen, da Spammer zwar ihre Absenderadresse verschleiern können, dies bei den URLs für ihre Webangebote aber ungleich schwieriger ist. Diese Überprüfung nimmt das URIDNSBL-Plug-in vor, mit dem sich zum Beispiel die SBL von Spamhaus abfragen lässt.
Der hinzugekommene SQL- und LDAP-Support dürfte vor allem Administratoren von grösseren Setups erfreuen. Bisher musste die Per-User-Konfiguration in Textdateien im Home-Directory des jeweiligen Benutzers vorgenommen werden. Dies wurde vor allem schwierig, wenn die Benutzer keinen Shell-Account haben oder ihn nicht bedienen können. Neu lassen sich Konfigurationseinstellungen für die jeweiligen Benutzer, Bayes-Daten und Auto-Whitelists in SQL-Datenbanken (MySQL, PostgreSQL) oder in einem LDAP-Directory speichern. Zudem wurden die Konfigurationsoptionen für die einzelnen Benutzer erweitert. So ist es zum Beispiel möglich, auf die serverweite Bayes-Datenbank zurückzugreifen, aber spezielle Filterbegriffe auszuschliessen, wenn man beispielsweise sein Arbeitsgebiet in einem Bereich hat, der besonders bevorzugt von Spammern bewirtschaftet wird.
Durch den Wechsel von SpamAssassin zur Apache Software Foundation steht die Software nun nicht mehr unter der GPL oder Perl Artistic License, sondern unter der Apache License in der Version 2.0. Auf die Administratoren und Benutzer hat dies in der Regel keinen grossen Einfluss, sofern man keinen GPL-Code in SpamAssassin integrieren möchte, da die Free Software Foundation der Ansicht ist, dass die Apache License in der Version 2.0 nicht kompatibel zur GPL ist.