25
Alan Schwartz Deutsche Übersetzung von Andreas Bildstein Endlich Schluss mit Spam! Deutsche Ausgabe SpamAssassin

SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Alan SchwartzDeutsche Übersetzung von Andreas Bildstein

Endlich Schluss mit Spam! Deutsche

Ausgabe

SpamAssassin

Page 2: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden
Page 3: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Beijing · Cambridge · Farnham · Köln · Paris · Sebastopol · Taipei · Tokyo

SpamAssassin

Alan Schwartz

Deutsche Übersetzung von Andreas Bildstein

Page 4: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen.Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung,Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Kommentare und Fragen können Sie gerne an uns richten:O’Reilly VerlagBalthasarstr. 8150670 KölnTel.: 0221/9731600Fax: 0221/9731608E-Mail: [email protected]

Copyright der deutschen Ausgabe:© 2005 by O’Reilly Verlag GmbH & Co. KG1. Auflage 2005

Die Originalausgabe erschien 2004 unter dem Titel SpamAssassin bei O’Reilly Media, Inc.

Die Darstellung eines Königsgeiers im Zusammenhang mit dem Thema SpamAssassin ist ein Warenzeichen von O’Reilly Media, Inc.

Bibliografische Information Der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.

Übersetzung und deutsche Bearbeitung: Andreas BildsteinLektorat: Michael Gerth, KölnKorrektorat: Oliver Mosler, KölnSatz: Tung Huynh, reemers publishing services gmbh, Krefeld; www.reemers.deUmschlaggestaltung: Ellie Volckhausen, Hanna Dyer & Clay Fernald, BostonProduktion: Stephanie Buckstegge, KölnBelichtung, Druck und buchbinderische Verarbeitung: Druckerei Kösel, Krugzell; www.koeselbuch.de

ISBN 3-89721-393-1

Dieses Buch ist auf 100% chlorfrei gebleichtem Papier gedruckt.

Page 5: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

| V

Inhalt

Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII

1 Einführung in SpamAssassin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Wie SpamAssassin arbeitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Der Aufbau von SpamAssassin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Mailer und SpamAssassin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Die Politik des Scannens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 SpamAssassin-Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11SpamAssassin zusammenbauen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12SpamAssassin mit procmail aufrufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Einsatz von spamc/spamd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24SpamAssassin in einem Perl-Skript aufrufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31SpamAssassin und der Endanwender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 SpamAssassin-Regeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Der Aufbau eines Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Die Punktezahl eines Tests ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Schreiben Ihrer eigenen Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Die eingebauten Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Whitelists und Blacklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4 SpamAssassin als lernendes System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Autowhitelisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Bayessche Filterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Page 6: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

VI | Inhalt

5 SpamAssassin mit sendmail integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Spam-Prüfung bei der Auslieferung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Spam-Prüfung während SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Aufbau eines Spam-prüfenden Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6 SpamAssassin mit Postfix integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Postfix-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Spam-Prüfung während der lokalen Auslieferung . . . . . . . . . . . . . . . . . . . . . . . . 122Spam-Prüfung auf die gesamte eingehende Mail . . . . . . . . . . . . . . . . . . . . . . . . . 123Aufbau eines Spam-prüfenden Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

7 SpamAssassin mit qmail integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153qmail-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Spam-Prüfung während der lokalen Auslieferung . . . . . . . . . . . . . . . . . . . . . . . . 154Spam-Prüfung der gesamten eingehenden Mail . . . . . . . . . . . . . . . . . . . . . . . . . 155Aufbau eines Spam-prüfenden Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

8 SpamAssassin mit Exim integrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Spam-Prüfung über procmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Spam-Prüfung der gesamten eingehenden Mail . . . . . . . . . . . . . . . . . . . . . . . . . 172Einsatz von Routern und Transporten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Einsatz von exiscan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178Einsatz von sa-exim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Aufbau eines Spam-prüfenden Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

9 SpamAssassin als Proxy einsetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Einsatz von Pop3proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Einsatz von SAproxy Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

A Weiterführende Ressourcen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Page 7: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

| VII

Vorwort

Wenn Sie E-Mail benutzen, ist es mehr als wahrscheinlich, dass Sie vor kurzem Spam heimgesucht wurden – eine unaufgeforderte, unerwünschte Nachricht, die ohne Ihre Erlaubnis an Sie geschickt wurde.1 Wenn Sie ein E-Mail-System verwalten, ist es beinahe sicher, dass Sie Ihren Benutzern bereits dabei helfen mussten, die Flut unerwünschter E-Mails zu umgehen.

Systemadministratoren zahlen für Spam mit ihrer Zeit. Das E-Mail-System des Internet wurde so entwickelt, dass es schwierig ist, E-Mail-Nachrichten zu verlieren: Wenn ein Computer eine Nachricht nicht an den gewünschten Empfänger ausliefern kann, tut er sein Bestes, um die Nachricht wieder an den Absender zurückzuschicken. Wenn er die Nachricht nicht an den Absender zurückschicken kann, dann schickt er die Nachricht an den Postmaster des Computers – da etwas ernstlich falsch sein muss, wenn sowohl die E-Mail-Adresse des Absenders als auch die des Empfängers einer Nachricht ungültig ist.

Diese wohlmeinende Natur der Software für Internet-Mail wird zu einer echten Bürde, wenn Spammer die Bühne betreten. Bei einem typischen Massen-Mailing könnten ein paar Hundert bis zu Zehntausende von E-Mail-Adressen ungültig sein. Unter normalen Umständen würden diese E-Mail-Nachrichten an den Absender zurückgeschickt werden. Aber der Spammer will sie nicht! Um zu verhindern, dass sie überflutet werden, verwen-den Spammer häufig ungültige Rücksende-Adressen. Das Ergebnis: Die E-Mail-Nach-richten landen schließlich in den Mailboxen der Internet-Postmaster, die für gewöhnlich lebende, atmende Systemadministratoren sind.

Die Systemadministratoren großer Sites erhalten zurzeit jeden Tag Hunderte bis Tau-sende zurückgeschickter Spam-Nachrichten. Leider muss jede dieser Nachrichten sorg-fältig untersucht werden, da sich zwischen diesen Nachrichten auch Mail-Nachrichten befinden, die von fehlkonfigurierten Computern zurückgeschickt wurden, deren Prob-lem tatsächlich behoben werden muss.

1 Spam ist auch ein eingetragenes Warenzeichen von Hormel Foods, die mit diesem Wort ein Frühstücksfleisch aus der Dose bezeichnen. In diesem Buch wird das Wort »Spam« ausschließlich für Internet-Spam und nicht für Fleisch verwendet.

Page 8: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

VIII | Vorwort

Da das Spam-Problem schlimmer und schlimmer wird, streichen sich die Systemadminis-tratoren in zunehmende Maße aus der »Postmaster«-Mailing-Liste ihrer Computer. Das Ergebnis ist vorhersehbar: Sie werden mit weniger E-Mail überflutet, aber die Probleme, die normalerweise durch den Empfang von Postmaster-E-Mail entdeckt werden, bleiben unentdeckt. Darunter leidet das Internet als Ganzes.

Es gibt zwar viele wichtige Möglichkeiten, Spam zu verringern – inklusive Verheimlichen von E-Mail-Adressen, Beschwerden beim Service Provider des Spammers sowie juristi-sche und gesetzgeberische Maßnahmen –, aber es sind nur wenige Gegenmittel so unmit-telbar wirksam wie die Filterung von E-Mail-Nachrichten anhand des Inhalts und des Formats. Und nur wenige Filter-Systeme werden so häufig eingesetzt und so gut gepflegt wie SpamAssassin™.

Dieses Buch richtet sich an Mail-Systemadministratoren, Netzwerkadministratoren und an Internet Service Provider, die sich Sorgen über den zunehmenden Tribut machen, den Spam ihren Systemen und ihren Benutzern aufbürdet, und die nach einer Möglichkeit suchen, wieder etwas Kontrolle zurückzuerhalten oder die Last auf dem Rücken ihrer Anwender zu verringern.

Umfang dieses BuchsDieses Buch ist in neun Kapitel und einen Anhang unterteilt. Die ersten vier Kapitel han-deln von den Kernkonzepten von SpamAssassin, die unabhängig von dem zugrunde lie-genden Mail-System sind.

Kapitel 1, Einführung in SpamAssassin Erklärt, was SpamAssassin macht, und liefert einen konzeptionellen Überblick über den Aufbau und die Features von SpamAssassin.

Kapitel 2, SpamAssassin-Grundlagen Behandelt die Installation, den Test und den allgemeinen Betrieb von SpamAssassin.

Kapitel 3, SpamAssassin-Regeln Behandelt die Konfiguration von SpamAssassin im Detail und konzentriert sich ins-besondere auf die SpamAssassin-Regeln zur Spam-Erkennung. Es erklärt, wie die Auswirkungen von Regeln erhöht oder verringert werden, wie neue Regeln geschrie-ben und Adressen an schwarze und weiße Listen angefügt werden.

Kapitel 4, SpamAssassin als lernendes System Gibt einen Überblick über die lernenden Features von SpamAssassin: automati-sches Whitelisting und Bayessche Filterung. Es liefert die theoretischen Grundla-gen, die hinter diesen Features stecken, und behandelt, wie diese Features konfiguriert, trainiert und abgestimmt werden.

Die übrigen fünf Kapitel beschreiben detailliert die Integration von SpamAssassin in mehrere populäre Mail-Transport-Agents (MTAs), wodurch eine Site-weite Spam-Prü-fung bereitgestellt werden kann. Sie erklären auch, wie ein SpamAssassin-Gateway einge-

Page 9: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Typographische Konventionen | IX

richtet wird, mit dem die gesamte eingehende Mail überprüft wird, bevor sie an einen internen Mail-Host ausgeliefert wird.

Kapitel 5, SpamAssassin mit sendmail integrieren Erklärt, wie SpamAssassin mit Hilfe des Milter-Interfaces in den sendmail-MTA integriert wird. Als Beispiel für diesen Ansatz wird die Installation und Konfigura-tion von MIMEDefang beschrieben.

Kapitel 6, SpamAssassin mit Postfix integrieren Erklärt, wie SpamAssassin mit Hilfe der Schnittstelle content_filter in den Postfix-MTA integriert wird. Als Beispiel für diesen Ansatz wird die Installation und Konfi-guration von amavisd-new, einem daemonisierten Content-Filter, beschrieben.

Kapitel 7, SpamAssassin mit qmail integrieren Erklärt, wie SpamAssassin in den qmail-MTA integriert wird.

Kapitel 8, SpamAssassin mit Exim integrieren Erklärt, wie SpamAssassin mit mehreren unterschiedlichen und häufig eingesetzten Ansätzen in den Exim-MTA integriert wird. Dies umfasst auch angepasste Trans-porte, exiscan und sa-exim.

Kapitel 9, SpamAssassin als Proxy einsetzen Erklärt, wie ein SpamAssassin-POP-Mail-Proxy für die Unterstützung von Benut-zern eingerichtet wird, die ihre E-Mail mit POP-Clients herunterladen.

Anhang A führt nützliche Quellen zu weiteren Informationen über SpamAssassin und andere Antispam-Ansätze auf.

In diesem Buch behandelte VersionenZu der Zeit, als dieses Buch in den Druck ging, war SpamAssassin 2.63 die letzte veröf-fentlichte Version von SpamAssassin. Die nächste Generation von SpamAssassin, Spam-Assassin 3.0, war zu Testzwecken als Beta-Version verfügbar und es steht zu erwarten, dass sie in etwa um die Zeit veröffentlicht wird, zu der dieses Buch in die Läden kommt. SpamAssassin 3.0 führt mehrere wichtige neue Features ein und ändert Teile der Perl-API.

Folglich behandelt dieses Buch beide Versionen von SpamAssassin. Wenn ein Punkt oder eine Einstellung spezifisch für eine Version ist, wird das extra vermerkt.

Typographische KonventionenIn diesem Buch werden die folgenden typographischen Konventionen verwendet:

KursivschriftWird für Namen von Unix-Dateien, Verzeichnissen, Benutzern und Gruppen ver-wendet sowie für Perl-Module, Objekte, Methodennamen und Optionen von

Page 10: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

X | Vorwort

Methoden. Wird auch für URLs (Uniform Resource Locators) verwendet und um neue Begriffe und Konzepte hervorzuheben, wenn sie eingeführt werden.

NichtproportionalschriftWird für Unix-Befehle, Codebeispiele und Systemausgaben verwendet. Wird auch für Skripten, Prozessnamen und SpamAssassin-Direktiven eingesetzt.

Nichtproportionalschrift kursivWird in Beispielen für variable Eingaben verwendet (zum Beispiel für einen Dateina-men, den Sie eingeben müssen).

$Die Eingabeaufforderung der Unix-Bourne-Shell oder der Korn-Shell.

#Die Eingabeaufforderung für den Unix-Superuser. Ich benutze dieses Symbol für Beispiele, die von root ausgeführt werden sollen.

Dieses Symbol kennzeichnet einen Hinweis, der eine wichtige Bemerkung zum nebenstehenden Text darstellt.

Dieses Symbol kennzeichnet eine Warnung, die sich auf den nebenstehen-den Text bezieht.

Verwendung von CodebeispielenDieses Buch soll Ihnen dabei helfen, Ihren Job zu erledigen. Im Allgemeinen können Sie den Code aus diesem Buch in Ihren Programmen und in Ihrer Dokumentation einsetzen. Sie müssen sich nicht mit uns in Verbindung setzen und um Erlaubnis fragen, es sei denn, Sie kopieren einen erheblichen Teil des Codes. Das Schreiben eines Programms zum Beispiel, das mehrere Codeteile aus diesem Buch verwendet, bedarf keiner Geneh-migung. Der Vertrieb oder das Verteilen einer CD-ROM mit Beispielen aus O’Reilly-Büchern bedarf allerdings einer Genehmigung. Das Beantworten einer Frage, bei der die-ses Buch und dessen Beispielcode zitiert werden, bedarf keiner Genehmigung. Das Ein-binden einer erheblichen Menge an Beispielcode aus diesem Buch in die Dokumentation Ihres Produkts bedarf allerdings der Genehmigung.

Wir freuen uns über einen Nachweis, verlangen aber keinen. Ein Nachweis enthält nor-malerweise Titel, Autor und Verleger; zum Beispiel: »SpamAssassin von Alan Schwartz (O’Reilly).«

Wenn Sie vermuten, dass Ihr Gebrauch von Codebeispielen außerhalb des fairen Gebrauchs oder der hier gegebenen Genehmigungen liegt, dann wenden Sie sich bitte unter [email protected] an uns.

Page 11: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Danksagungen | XI

Danksagungen Bob Amen, Justin Mason und Matt Riffle arbeiteten als technische Gutachter für dieses Buch. Sämtliche noch vorhandenen Fehler gehen natürlich auf mein Konto.

Ich hatte wieder einmal das Vergnügen, mit einem ausgezeichneten Lektor von O’Reilly, Jonathan Gennick, zusammenarbeiten zu können. Im Produktions-Team von O’Reilly für dieses Buch waren Darren Kelly, Ellie Volckhausen und Nancy Crumpton.

Dieses Buch ist den Entwicklern und der Anwendergemeinschaft von SpamAssassin gewidmet für ihre ausgezeichnete Arbeit bei der Eindämmung der Flut unerwünschter E-Mail.

Ewigen Dank an M.G. und Ari, für die sich die ganze Mühe lohnt.

Page 12: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden
Page 13: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

| 1

KAPITEL 1

Einführung in SpamAssassin

Beim SpamAssassin-System handelt es sich um eine Software zur Analyse von E-Mail-Nachrichten, die feststellt, wie wahrscheinlich es ist, dass es sich dabei um Spam handelt, und die über ihre Ergebnisse Bericht erstattet. Es ist ein regelbasiertes System, das ver-schiedene Bestandteile der E-Mail-Nachricht mit einem großen Satz an Regeln vergleicht. Jede Regel fügt an den Spam-Punktestand einer Nachricht Punkte hinzu oder entfernt diese davon. Eine Nachricht mit entsprechend hohem Punktestand wird als Spam gemel-det.

SpamAssassin war ein Warenzeichen von Deersoft und Deersoft wurde von Network Associates übernommen. In diesem Buch werde ich nicht jedes Mal SpamAssassin™ schreiben, wenn ich es erwähne, weil das stö-ren würde. Sie sollten aber davon ausgehen, dass das Warenzeichensym-bol vorhanden ist.

Es stehen viele Systeme zur Verfügung, die auf Spam prüfen. SpamAssassin erfreut sich aus mehreren Gründen großer Beliebtheit:

• Es setzt eine große Anzahl verschiedener Arten von Regeln ein und gewichtet diese entsprechend ihrer Ergebnisse. Regeln, die erwiesenermaßen bei der Unterschei-dung zwischen Spam und Nicht-Spam wirksamer sind, wird höheres Gewicht gege-ben.

• Die Punktezahlen, die zu jeder Regel gehören, können einfach angepasst werden und neue Regeln, die auf regulären Ausdrücken basieren, können einfach hinzuge-fügt werden.

• SpamAssassin kann sich an die E-Mail-Umgebung jedes Systems anpassen und dabei lernen zu erkennen, welchen Absendern vertraut werden kann, und neue Arten von Spam zu identifizieren.

• Es kann Spam an mehrere unterschiedliche Spam-Clearing-Stellen melden und kann so konfiguriert werden, dass es Spam-Traps (Spam-Fallen) erstellt – das sind E-Mail-Adressen, die nur zur Weiterleitung von Spam an Clearing-Stellen eingesetzt wer-den.

Page 14: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

2 | Kapitel 1: Einführung in SpamAssassin

• Es ist freie Software, die entweder unter der GNU Public License oder unter der Artistic License verteilt wird. Beide Lizenzen ermöglichen den Anwendern, die Soft-ware zu verändern und ihre Änderungen unter den gleichen Bedingungen erneut zu verteilen.

Beispiel 1-1 zeigt eine Nachricht, die von SpamAssassin als Spam markiert wurde. Ele-mente, die von SpamAssassin hinzugefügt wurden, werden fett dargestellt.

Beispiel 1-1: Eine von SpamAssassin markierte Nachricht

From [email protected] Fri Nov 7 18:26:05 2003Received: from localhost [127.0.0.1] by localhost with SpamAssassin (2.60 1.212-2003-09-23-exp); Sun, 09 Nov 2003 12:24:22 -0600From: "brianj" <[email protected]>To: <[email protected]>Subject: Live your dream life!! MPNWSTUDate: Fri, 07 Nov 2003 15:32:41 -0800Message-Id: <[email protected]>X-Spam-Status: Yes, hits=12.9 required=5.0 tests=CLICK_BELOW, FORGED_MUA_EUDORA,FROM_ENDS_IN_NUMS,MISSING_OUTLOOK_NAME, MSGID_OUTLOOK_INVALID,MSGID_SPAM_ZEROES,NORMAL_HTTP_TO_IP, SUBJ_HAS_SPACES,SUBJ_HAS_UNIQ_ID autolearn=no version=2.60X-Spam-Flag: YESX-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp)X-Spam-Level: ************MIME-Version: 1.0Content-Type: multipart/mixed; boundary="----------=_3FAE8656.371BED4D"

This is a multi-part message in MIME format.

------------=_3FAE8656.371BED4DContent-Type: text/plainContent-Disposition: inlineContent-Transfer-Encoding: 8bit

Spam detection software, running on the system hasidentified this incoming email as possible spam. The original messagehas been attached to this so you can view it (if it isn't spam) or blocksimilar future email. If you have any questions, seethe administrator of that system for details.

Content preview: Do you owe large sums of money? Are you stuck with high interest ra{tes? We can help! You can do what tens of thousands of americans have done, consolidate your high interest bills into one easy, low interest, monthly payment. [...]

Content analysis details: (12.9 points, 5.0 required)

pts rule name description---- ---------------------- ---------------------------------------------- 1.0 SUBJ_HAS_SPACES Subject contains lots of white space 4.3 MSGID_SPAM_ZEROES Spam tool Message-Id: (12-zeroes variant)

Page 15: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

| 3

0.9 FROM_ENDS_IN_NUMS From: ends in numbers 0.2 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL 0.2 SUBJ_HAS_UNIQ_ID Subject contains a unique ID 4.3 MSGID_OUTLOOK_INVALID Message-Id is fake (in Outlook Express format) 0.1 MISSING_OUTLOOK_NAME Message looks like Outlook, but isn't 1.9 FORGED_MUA_EUDORA Forged mail pretending to be from Eudora 0.0 CLICK_BELOW Asks you to click below

The original message was not completely plain text, and may be unsafe toopen with some email clients; in particular, it may contain a virus,or confirm that your address can receive spam. If you wish to viewit, it may be safer to save it to a file and open it with an editor.

------------=_3FAE8656.371BED4DContent-Type: message/rfc822; x-spam-type=originalContent-Description: original message before SpamAssassinContent-Disposition: attachmentContent-Transfer-Encoding: 8bit

Received: (qmail 25515 invoked from network); 7 Nov 2003 18:26:02 -0600Received: from mailin-2.cc.uic.edu (HELO mailin-2.priv.cc.uic.edu) (128.248.155.213) by email0.cc.uic.edu with SMTP; 7 Nov 2003 18:26:02 -0600Received: from mail3.mailnara.net (c-24-98-136-187.atl.client2.attbi.com [24.98.136.187]) by mailin-2.priv.cc.uic.edu (8.12.10/8.12.9) with ESMTP id hA80PxJk011669; Fri, 7 Nov 2003 18:26:00 -0600Message-ID: <[email protected]>To: <[email protected]>From: "brianj" <[email protected]>Subject: Live your dream life!! MPNWSTUDate: Fri, 07 Nov 2003 15:32:41 -0800MIME-Version: 1.0Content-Type: multipart/mixed; boundary="----------=_1068251164-2528-687"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: QUALCOMM Windows Eudora Version 5.1X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300Content-Length: 2290Lines: 72

Do you owe large sums of money? Are you stuck withhigh interest ra{tes? We can help!

You can do what tens of thousands of americans havedone, consolidate your high interest bills into oneeasy, low interest, monthly payment.

By first reducing, and then completely removing yourd+ebts, you will be able to start fresh. Why keepdealing with the stress, headaches, and wasted money,when you can consolidate your d+ebt and pay them offmuch sooner!

Beispiel 1-1: Eine von SpamAssassin markierte Nachricht (Fortsetzung)

Page 16: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

4 | Kapitel 1: Einführung in SpamAssassin

Der SpamAssassin-Bericht ist sehr aufschlussreich. Trotz der Tatsache, dass diese Nach-richt mehrere Tricks enthält, wie zum Beispiel wahllose Zeichen am Ende und die Auf-trennung der Wörter »rates« und »debt« mit Symbolen, um Spam-Prüfer zu täuschen, erkennt SpamAssassin mehrere verdächtige Anzeichen und weist einen hohen Spam-Punktestand zu.

Wie SpamAssassin arbeitetEs gibt mehrere Arten, auf die sich SpamAssassin ein Urteil über eine Nachricht bildet:

• Die Nachrichten-Header können auf Beschaffenheit und Einhaltung von Internet-Standards überprüft werden (ist zum Beispiel das Datum richtig formatiert?).

• Die Header und der Body können auf Phrasen oder Nachrichtenelemente überprüft werden, die häufig in Spam vorkommen (zum Beispiel »MAKE MONEY FAST« oder Anweisungen darüber, wie man aus zukünftigen Mailings herausgenommen wird) – in mehreren Sprachen.

• Die Header und der Body können in mehreren Online-Datenbanken nachgeschla-gen werden, die Nachrichten-Prüfsummen bestätigter Spam-Nachrichten nachver-folgen.

• Die IP-Adresse des sendenden Systems kann in mehreren Online-Listen nachge-schlagen werden, die Sites aufführen, die von Spammern benutzt wurden oder die anderweitig verdächtig sind.

• Bestimmte Adressen, Hosts oder Domains können in schwarzen (Blacklists) oder weißen Listen (Whitelists) geführt werden. Eine Whitelist kann basierend auf frü-her verschickten Nachrichten eines Absenders automatisch erstellt werden.

• Indem SpamAssassin anhand einer Reihe von Nachrichten lernt, was Sie als Spam betrachten und was nicht, kann es so trainiert werden, dass es die von Ihnen emp-fangenen Arten von Spam erkennt. (SpamAssassin und die Spam-Filter-Community sprechen bei Nachrichten, die kein Spam sind, häufig von Ham.)

• Mit Hilfe des Protokolls Sender Policy Framework (SPF, http://spf.pobox.com) kann die IP-Adresse des sendenden Systems mit dem Domainnamen des Absenders vergli-chen werden, um festzustellen, ob es dem System erlaubt ist, Nachrichten von Benutzern in dieser Domain zu verschicken. Diese Funktion erfordert SpamAssas-sin 3.0.

Click below to learn more:

http://61.186.254.9?affiliateid=mailer10

hjeuubnfs

------------=_3FAE8656.371BED4D—

Beispiel 1-1: Eine von SpamAssassin markierte Nachricht (Fortsetzung)

Page 17: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Mailer und SpamAssassin | 5

• SpamAssassin kann Absender privilegieren, die bereit sind, etwas zusätzliche Rech-nerleistung in Form von Hashcash (http://www.hashcash.org) aufzuwenden. Spam-mers können diese Berechnungen nicht durchführen und verschicken weiterhin sehr schnell große Mengen an E-Mail. Diese Funktion erfordert SpamAssassin 3.0.

Der Aufbau von SpamAssassinIn seinem Kern besteht SpamAssassin aus einer Reihe von Modulen, die in der Program-miersprache Perl geschrieben sind, zusammen mit einem Perl-Skript, das eine Nachricht auf der Standardeingabe entgegennimmt und sie mit Hilfe der Module überprüft. Für leistungsstärkere Anwendungen enthält SpamAssassin noch eine Daemon-Version des Spam-Prüfers sowie ein Client-Programm in C, das eine Nachricht auf der Standardein-gabe entgegennehmen und sie mit dem Daemon überprüfen kann.

Die meisten Verhaltensweisen von SpamAssassin werden über eine systemweite Konfigu-rationsdatei und eine Reihe von benutzerspezifischen Konfigurationsdateien kontrolliert. Die benutzerspezifische Konfiguration kann auch in einer SQL-Datenbank gespeichert werden.

Um mehr über Perl zu erfahren, lesen Sie Einführung in Perl von Randal L. Schwartz und Tom Phoenix oder Programmieren mit Perl von Larry Wall, Tom Christiansen und Jon Orwant, beide von O’Reilly.

Mailer und SpamAssassinWenn es auch möglich ist, SpamAssassin manuell auf einer einzigen Nachricht auszufüh-ren, so wird SpamAssassin doch erst dann richtig nützlich, wenn alle eingehenden Nach-richten automatisch gescannt werden. Das kann auf mehrere Arten geschehen.

Abbildung 1-1 stellt eine typische Mail-Übertragung dar. Das sendende System verbindet sich mit dem Mail-Transport-Agent (MTA) des Empfängers und überträgt die Nachricht. Wenn die Nachricht für einen Benutzer auf dem System des MTA bestimmt ist, übergibt der MTA die Nachricht an den lokalen Mail-Delivery-Agent (MDA), der für das Ablegen der Nachricht in das Postfach (Mailbox) eines Benutzers verantwortlich ist. Die Benutzer können sich an dem System anmelden und ihre Post direkt aus ihren Mailboxen lesen (was für Multiuser-Unix-Systeme typisch ist) oder wenn das System entsprechende Ser-ver betreibt, können die Benutzer ihre Post mit Hilfe eines Mail-Clients herunterladen, der die Protokolle POP (Post Office Protocol) oder IMAP (Internet Message Access Pro-tocol) unterstützt.

SpamAssassin kann an drei wichtigen Orten betrieben werden: auf dem MTA, auf dem MDA und als POP-Proxy. Jeder hat seine Vor- und Nachteile.

Page 18: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

6 | Kapitel 1: Einführung in SpamAssassin

Scannen auf dem MTAEinige MTAs bieten eine Möglichkeit an, um eingehende Nachrichten während der SMTP-Verarbeitung einem Filter zu übergeben; andere können die Nachrichten einem Filter übergeben, nachdem die SMTP-Verarbeitung beendet wurde. Spam-Prüfung ist

Andere Antispam-AnsätzeSpamAssassin kombiniert Nachrichtenformat-Validierung, Inhaltsfilterung und die Mög-lichkeit, schwarze Listen heranzuziehen. Filtersysteme erfordern nur wenig Benutzerein-griffe und führen nur zu einer geringen Verzögerung beim Versenden und Empfangen von E-Mail. Es gibt noch andere Ansätze, um Spam zu verhindern, jeder hat seine eigenen Vor- und Nachteile (und viele von ihnen können zusätzlich zu sowie anstatt SpamAssassin ein-gesetzt werden).

Bei einem Challenge/Response-System hält das System alle Nachrichten von unbekannten Absendern auf und schickt diesen eine Antwortnachricht mit einem einmaligen Code oder einer Reihe von Anweisungen (die Challenge – Aufforderung). Die Absender müssen auf die Aufforderung antworten, und zwar auf eine Weise, die deren E-Mail-Adresse überprüft und (allgemein gesprochen) prüft, ob sie Menschen sind und kein automatisiertes Massen-Mail-Programm (die Response – Antwort). Nach einer erfolgreichen Antwort erlaubt das System, dass die Nachrichten von dem Absender angenommen werden, anstatt sie zurück-zuhalten.

Bei Greylisting-Systemen gibt der Mailserver anfänglich einen temporären SMTP-(Simple Mail Transfer Protocol-)Fehler-Code auf Nachrichten von neuen Absendern oder senden-den Systemen zurück. Wenn das sendende System nach einer angemessenen Zeitspanne versucht, die Nachricht erneut zu senden, akzeptiert der Mailserver die Nachricht und nachfolgende Nachrichten des sendenden Hosts. Da Spammer wahrscheinlich die tempo-räre Fehlermeldung entweder als dauerhaften Fehler behandeln oder versuchen, während der Greylisting-Zeitspanne fortwährend Nachrichten auszuliefern, werden deren Nach-richten nicht empfangen.

In zeitbeschränkten Adresssystemen generieren Anwender einmalige Varianten ihrer E-Mail-Adresse, um sie in Webformularen, E-Mail-Nachrichten, Newsgruppen-Postings usw. einzufügen. Die Adressen könnten nur für eine bestimmte Zeitspanne gültig sein oder so lange, bis sie vom Benutzer widerrufen werden. Bei diesen Systemen kann ein Benutzer, wenn er Spam auf einer seiner Adressen empfängt, normalerweise die Firma, die ihm Spam geschickt hat (oder die seine Adresse an Spammer verkauft hat), feststellen, und er kann die Adresse schnell ungültig machen, um weiteren Spam zu verhindern.

Bei Micropayment-Systemen müssen Absender eine kleine Gebühr für jede Nachricht bezahlen, die sie versenden, was dazu führt, dass groß angelegter Spam teuer wird. Auf einigen dieser Systeme wird das Micropayment zurückgezahlt, wenn der Empfänger fest-stellt, dass die Nachricht tatsächlich kein Spam ist. (SpamAssassin 3.0 unterstützt eine Variante des Micropayments in Form von Hashcash, bei dem die Bezahlung in Prozessor-zeit anstatt mit Geld vorgenommen wird.)

Page 19: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Mailer und SpamAssassin | 7

eine Art der Filterung, die auf dem MTA gut durchgeführt werden kann; Viren-Prüfung ist eine andere. Häufig wurden für bestimmte MTAs hoch entwickelte Filter-Daemons entwickelt und diese Daemons sind in der Lage, SpamAssassin aufzurufen, um Spam-Prüfungen durchzuführen.

Da die gesamte E-Mail, die für Benutzer auf dem System bestimmt ist, durch den MTA hindurchmuss, handelt es sich dabei um einen Ort, der für eine zentralisierte Spam-Prü-fung wie geschaffen ist. Wenn Sie einen Gateway-MTA betreiben, der die Post an mehrere interne Systeme ausliefert, können Sie auf dem Gateway-MTA Spam-Prüfungen durchführen, um die Menge an Spam zu beschränken, die jeder interne Server empfan-gen wird.

Zusätzlich zur Kennzeichnung von Nachrichten, die so aussehen, als wären sie Spam, können MTA-basierte Filter häufig noch andere Aktionen durchführen, wie zum Beispiel das Blockieren einer Nachricht (entweder indem sie die Nachricht abweisen, um die SMTP-Verarbeitung zu komplettieren, oder indem sie diese verwerfen, nachdem die SMTP-Verarbeitung stattgefunden hat) oder die Umleitung der Nachricht in einen Qua-rantänebereich. Wenn der MTA bereits ein Filter-System betreibt, um Viren-Prüfungen durchzuführen, kann die Spam-Prüfung normalerweise vom gleichen Filter vorgenom-men werden, um einen Teil des Overhead, der bei der Filterung entsteht, aufzuteilen.

Ein Nachteil beim alleinigen Scannen auf dem MTA ist, dass das MTA-Filter-System nicht in der Lage sein könnte, auf benutzerbezogene Einstellungen für das Scannen zuzu-greifen, wenn der Filter keinen Zugriff auf die Empfänger-Informationen besitzt, weil sich der Empfänger auf einem anderen Host befindet oder weil die Nachricht für mehrere Benutzer auf dem gleichen System bestimmt ist.

Abbildung 1-1: Eine typische Mail-Übertragung

Page 20: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

8 | Kapitel 1: Einführung in SpamAssassin

Scannen auf dem MDAAuf vielen Unix-Systemen ist der Mail-Delivery-Agent procmail, der SpamAssassin Nach-richten vorlegen kann und entsprechend den Ergebnissen handelt. Das ist die typischste Art, auf die SpamAssassin alleine installiert wird, da dazu keine MTA-spezifischen Filter-Schnittstellen nötig sind.

Diese Konfiguration führt zu maximaler Flexibilität. Systemweite SpamAssassin-Regeln können auf alle eingehenden Nachrichten angewandt werden, und die Benutzer können diese mit ihren eigenen benutzerspezifischen SpamAssassin-Konfigurationen ergänzen oder bearbeiten, da der MDA laut Definition den Empfänger immer kennt, an den er die Nachricht ausliefert. Anwender, die im Schreiben von procmail-Rezepten bewandert sind, erhalten die vollständige Kontrolle über die Verteilung von Nachrichten, die als wahrscheinlicher Spam markiert wurden; procmail kann angewiesen werden, diese Nachrichten zu verwerfen, sie in einer separaten Mailbox abzulegen, die Nachrichten-Header zu verändern oder viele andere Aktionen durchzuführen.

Die Kehrseite dieser Konfiguration ist, dass die Spam-Prüfung nur angewandt wird, nachdem die Nachricht bereits vom System empfangen wurde und einige System-Res-sourcen verbraucht hat. Ein weiterer Nachteil besteht darin, dass die Spam-Prüfung auf jedem System eingerichtet werden muss, das lokale Empfänger besitzt, anstatt nur auf einem einzigen zentralisierten MTA-Gateway.

Scannen mit einem POP-ProxyPOP-Mail-Benutzer, die die Vorzüge von SpamAssassin auch auf Mailservern genießen möchten, die SpamAssassin nicht bereitstellen, können einen Proxy einsetzen, um die Spam-Prüfung durchzuführen. Der Proxy läuft auf dem Client-Computer und integriert sich in den POP-Mail-Reader, um die Nachrichten zu scannen, sobald sie über POP he-runtergeladen werden.

Der bekannteste POP-Proxy für SpamAssassin auf Windows-Systemen ist SAproxy von Stata Labs. SAproxy Pro ist ein kommerzielles Produkt, der Quellcode steht allerdings für Administratoren, die ihn gerne kompilieren und ihren Benutzern zur Verfügung stellen möchten, unter den gleichen Bedingungen wie SpamAssassin selbst zur Verfü-gung.

Proxies stellen den dezentralisiertesten Ansatz für Spam-Prüfung dar und verlangen, dass die Mailserver beim Annehmen von Nachrichten freizügig sind, damit die Proxies der einzelnen Benutzer ihre eigenen Standards anwenden können. Das könnte dazu führen, dass die Speicherauslastung auf dem Mailserver ansteigt. Andererseits ziehen die Proxies die Rechenleistung vom Mailserver ab, da die gesamte Spam-Prüfung vom Client durch-geführt wird.

Page 21: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

Die Politik des Scannens | 9

Scannen auf mehreren OrtenEs ist durchaus möglich, SpamAssassin auf zweien oder gar auf allen dreien der Orte aus-zuführen, die in den vorangegangenen Abschnitten behandelt wurden. Ein MTA-basier-ter Filter könnte SpamAssassin mit konservativen Einstellungen einsetzen, um Nachrichten zurückzuweisen, die im hohen Maße verdächtig sind. Ein MDA-Filter auf dem gleichen System könnte eine etwas liberalere (und benutzerspezifische) Definition von Spam dazu benutzen, um Nachrichten für Benutzer zu markieren, die ihre Post auf dem Server selbst lesen. Schließlich könnten POP-Benutzer ihre eigene Spam-Prüfung anwenden, indem sie auf ihren Client-Maschinen SAproxy betreiben.

Die Politik des ScannensWenn Sie ein ISP sind, der E-Mail-Dienste zur Verfügung stellt, werden viele Ihrer Benut-zer Spam-Kennzeichnung oder Spam-Filterung ihrer eingehenden E-Mail wollen – oder sogar verlangen. Andere Benutzer jedoch könnten nicht wollen, dass ihre E-Mail gekenn-zeichnet oder gefiltert wird, weil sie vielleicht nicht viel Spam erhalten, den Spam, den sie erhalten, nicht als ein Problem ansehen oder weil sie über die Möglichkeit besorgt sind, dass eine echte Nachricht versehentlich als Spam markiert werden könnte.

Denken Sie sorgfältig über die Anforderungen Ihrer Benutzer und Ihre Verantwortung diesen gegenüber nach, bevor Sie eine systemweite oder Site-weite Spam-Prüfung imple-mentieren. Sie müssen Ihre Benutzer (und zukünftigen Benutzer) zumindest über Spam-Prüfungen informieren, die Sie auf deren E-Mail durchführen. Noch besser ist es, Spam-Kennzeichnung nur für diejenigen Benutzer durchzuführen, die es ausdrücklich wün-schen. Das Beste ist, jedem Benutzer zu ermöglichen, seine eigenen Einstellungen und Schwellenwerte selbst zu konfigurieren. Das ist doppelt wichtig, wenn Sie Nachrichten nicht nur als Spam kennzeichnen, sondern auch ausfiltern oder blockieren.

SpamAssassin ist ein ausgezeichnetes Werkzeug für die Unterscheidung von Spam- und Nicht-Spam-E-Mail, aber nur dann, wenn Sie sich vergewissert haben, dass Ihre Benutzer auch wollen, dass Sie zwischen den beiden unterscheiden.

Page 22: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden
Page 23: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

| 11

KAPITEL 2

SpamAssassin-Grundlagen

Dieses Kapitel erklärt, wie man sich SpamAssassin beschafft und wie es installiert wird, wie eine Basiskonfiguration durchgeführt wird, wie das System getestet wird und wie man damit beginnt, es für die Spam-Prüfung einzusetzen. Es deckt die Grundlagen für den Einsatz von SpamAssassin von der Shell oder von procmail aus ab und behandelt die Einrichtung der Daemon-Version des Spam-Prüfers. Die Konfigurationsbeispiele in die-sem Kapitel stellen nur die grundlegende Funktionalität bereit. Die folgenden Kapitel decken dann die Regel-Anpassung, das Arbeiten mit weißen Listen (Whitelists) und schwarzen Listen (Blacklists) und das Hinzulernen ab.

VoraussetzungenSpamAssassin wurde für eine Unix-Umgebung oder eine Unix-artige Umgebung geschrieben, die Perl Version 5, vorzugsweise 5.6.1, oder später enthält. Perl ist heutzu-tage auf den meisten Unix-Systemen Standard, sollten Sie es aber nicht haben, kann der Quellcode von http://www.cpan.org heruntergeladen werden.

SpamAssassin verlangt, dass mehrere Perl-Module installiert sind. Wenn Sie SpamAssas-sin mit Hilfe von CPAN (dem Comprehensive Perl Archive Network) installieren, wie im nächsten Abschnitt beschrieben, werden diese Module automatisch heruntergeladen und auch installiert. Wenn Sie SpamAssassin manuell installieren, müssen Sie sicherstellen, dass Sie auch aktuelle Versionen der Perl-Module ExtUtils::MakeMaker, File::Spec, Pod::Usage, HTML::Parser, Sys::Syslog, DB_File, Digest::SHA1 und Net::DNS besitzen. Vielleicht möchten Sie auch noch Net::Ident und IO::Socket::SSL haben, wenn Sie planen, die Daemon-Version des Prüfers (spamd) und dessen Client (spamc) einzusetzen, und Sie werden eventuell entfernten Clients erlauben wollen, auf Ihren Daemon zuzugreifen.

SpamAssassin kann mehrere Clearing-Stellen für Spam-Prüfsummen aufsuchen. Eine Spam-Clearing-Stelle ist ein Server (oder ein verteiltes Netzwerk von Servern), der Spam-Nachrichten sammelt, die von tausenden Benutzern aus der ganzen Welt gemeldet wer-den, und der einen Mechanismus zur Verfügung stellt, mit dem ein Client eine neue Nachricht überprüfen kann, um zu sehen, ob sie mit einer Nachricht in der Clearing-

Page 24: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

12 | Kapitel 2: SpamAssassin-Grundlagen

Stelle übereinstimmt. Diese Clearing-Stellen sind als Prüfsummen-basierte Clearing-Stel-len bekannt, da sie mit kryptographischen Prüfsummen von Nachrichten arbeiten, anstatt komplette E-Mail-Nachrichten zu übertragen und abzuspeichern. Bei einer kryp-tographischen Prüfsumme handelt es sich um eine viel kleinere Daten-Zeichenkette (nor-malerweise nicht mehr als 256 Bit), die – für alle praktischen Einsatzzwecke – einmalig für die Nachricht ist, aus der sie berechnet wurde.

Seit Version 3.0 kann SpamAssassin drei Clearing-Stellen heranziehen: Vipul’s Razor(http://razor.sourceforge.net), Pyzor (http://pyzor.sourceforge.net) und DCC (http://www. rhyolite.com/anti-spam/dcc/). SpamAssassin kann auch dazu benutzt werden, um Spam an die Clearing-Stellen zu melden. Jede Clearing-Stelle setzt ihre eigene Client-Software ein und Sie sollten diese Clients installieren, bevor Sie SpamAssassin installieren. In den meisten Fällen muss jeder SpamAssassin-Benutzer das Client-Programm der Clearing-Stelle manuell ausführen, um es zu initialisieren, bevor SpamAssassin es benutzen kann.

In vielen SpamAssassin-Konfigurationen, die über eine ganze Site gehen, werden Sie einen dedizierten speziellen Benutzer-Account erstellen, um SpamAssassin zu betreiben. Wenn Sie das machen und vorhaben, Spam-Clearing-Stellen einzusetzen, dann vergessen Sie nicht, den Anweisungen der Client-Software für die Initialisierung zu folgen, und machen Sie das als der dedizierte Benutzer anstatt als root.

SpamAssassin zusammenbauenDer einfachste Weg, um SpamAssassin herunterzuladen und zu installieren, geht über CPAN. Hier sehen Sie, wie eine CPAN-Installation von SpamAssassin aussieht:

$ suPassword: XXXXXXX# perl -MCPAN -e shell

cpan shell -- CPAN exploration and modules installation (v1.61)ReadLine support enabled

cpan> o conf prerequisites_policy ask

prerequisites_policy ask

cpan> install Mail::SpamAssassinCPAN: Storable loaded okCPAN: LWP::UserAgent loaded okFetching with LWP: ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz...Running install for module Mail::SpamAssassinRunning make for J/JM/JMASON/Mail-SpamAssassin-2.60.tar.gzFetching with LWP:ftp://ftp.perl.org/pub/CPAN/authors/id/J/JM/JMASON/Mail-SpamAssassin-2.60.tar.gzCPAN: Digest::MD5 loaded okFetching with LWP:

Page 25: SpamAssassin - download.e-bookshelf.de fileDie Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden

SpamAssassin zusammenbauen | 13

ftp://ftp.perl.org/pub/CPAN/authors/id/J/JM/JMASON/CHECKSUMSChecksum for /root/.cpan/sources/authors/id/J/JM/JMASON/Mail-SpamAssassin-2.60.tar.gz okScanning cache /root/.cpan/build for sizesMail-SpamAssassin-2.60/Mail-SpamAssassin-2.60/ninjabutton.png...Mail-SpamAssassin-2.60/sample-spam.txt

CPAN.pm: Going to build J/JM/JMASON/Mail-SpamAssassin-2.60.tar.gz

What email address or URL should be used in the suspected-spam reporttext for users who want more information on your filter installation?(In particular, ISPs should change this to a local Postmaster contact)default text: [the administrator of that system] [email protected]

Checking if your kit is complete...Looks goodWriting Makefile for Mail::SpamAssassinMakefile written by ExtUtils::MakeMaker 6.03/usr/bin/perl build/preprocessor -Mconditional -Mbytes -DPERL_VERSION=5.8.0 -Mvars -DVERSION=2.60 -DPREFIX=/usr <lib/Mail/SpamAssassin/AutoWhitelist.pm >blib/lib/Mail/ SpamAssassin/AutoWhitelist.pm...gcc -g -O2 spamd/spamc.c spamd/libspamc.c spamd/utils.c \

-o spamd/spamc -ldl ...Manifying blib/man3/Mail::SpamAssassin::PerMsgLearner.3pm /usr/bin/make -- OKRunning make testPERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.tt/basic_lint................ok...t/zz_cleanup................okAll tests successful, 1 test skipped.Files=40, Tests=301, 426 wallclock secs (238.53 cusr + 14.19 csys = 252.72 CPU) /usr/bin/make test -- OKRunning make installInstalling /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pmInstalling /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/PerMsgLearner.pm...Installing /usr/bin/spamcInstalling /usr/bin/spamdInstalling /usr/bin/sa-learnInstalling /usr/bin/spamassassinWriting /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/auto/Mail/SpamAssassin/.packlistAppending installation info to /usr/lib/perl5/5.8.0/i586-linux-thread-multi/perllocal.pod/usr/bin/perl "-MExtUtils::Command" -e mkpath /etc/mail/spamassassin... /usr/bin/make install -- OK

cpan> quit