Spam-Filterung am LRZ mit Hilfe von SpamAssassin

Das Programm

Am LRZ wird zur Spam-Analyse von E-Mail das Open-Source-Programm "SpamAssassin" der "Apache Software Foundation" verwendet.

Logo Spamassasin

Logo von SpamAssassin®

Die Spam-Analyse durch das Programm SpamAssassin ist nur eine von mehreren Maßnahmen zur Abwehr von Spam. Die meisten Spam-Mails werden von den Mailservern des LRZ gar nicht erst angenommen.

Eine Übersicht über die Maßnahmen des LRZ gegen Spam und Viren finden Sie in der Schrift "Nutzung von E-Mail am Leibniz-Rechenzentrum" unter dem Punkt "Maßnahmen zur Spam- und Virenabwehr"


Einen generellen Einstieg in den Themenbereich IT-Sicherheit finden Sie über unsere Seite "Security-Themen"

Wer kann diese Spam-Filterung nutzen?

Diese Art der Spam-Filterung kann nutzen,

  • wer seine Mailbox auf einem LRZ-System hat oder von dort aus auf eine andere Mailbox weiterleitet.
  • wer seine Mailbox auf einem lokalen Mail-System im Münchner Wissenschaftsnetz (MWN) hat (z. B. am Institut oder Lehrstuhl), falls die E-Mail für dieses System beim Empfang aus dem Internet über die LRZ-Mail-Relays laufen. (Fragen Sie im Zweifel Ihren lokalen Postmaster, ob das bei Ihnen der Fall ist.)

Ablauf

Die Spam-Filterung erfolgt in zwei Schritten:

  • An den zentralen Mail-Relays des LRZ werden alle durchlaufenden E-Mail-Nachrichten von der Software-Komponente SpamAssassin automatisch dahingehend untersucht, ob es sich um Spam handelt.
    Alle Nachrichten werden markiert, indem spezifische Zeilen im Kopf (Header) der betreffenden Nachricht hinzugefügt werden.
  • Diese Markierungen können dazu verwendet werden, mit dem eigenen E-Mail-Programm die ankommenden Nachrichten vorzusortieren / zu filtern.
    Dies setzt natürlich voraus, dass der jeweilige E-Mail-Client
    • dazu fähig ist, die Markierung auch auszuwerten (dies ist z. B. bei Outlook Express leider nicht der Fall).
    • dahingehend konfiguriert wurde, bei einer vorhandenen Markierung entsprechend zu reagieren (z. B. die Spam-E-Mails in einem spezifischen Ordner abzulegen).

Warum werden die Spam-Nachrichten nicht gleich gelöscht?

Wir dürfen erkannte Spam-Nachrichten nicht einfach löschen (auch wenn dies vielfach gewünscht wurde):

  • Eine Löschung der als Spam eingestuften Nachrichten greift in die Rechte der Empfänger ein und erfüllt den Straftatsbestand der Datenveränderung.
  • Es gibt leider kein eindeutiges Kennzeichen, durch das man Spam von erwünschten Nachrichten 100%-ig genau unterscheiden kann. Deshalb muss auch das vom LRZ verwendete Programm SpamAssassin zwangsläufig einige Nachrichten falsch bewerten.

Welche Falschbewertungen gibt es?

Falsch positiv (false positive):
Eine "gewünschte" Nachricht wird fälschlicherweise als Spam eingestuft.
Dieser Fehler ist zweifellos sehr unangenehm; leider lässt er sich aber nicht 100%-ig vermeiden. Das LRZ versucht natürlich, diese Fehler-Rate so gering wie nur irgend möglich zu halten. Daher bitten wir Sie, solche Nachrichten an "no-spam_AT_lrz.de" weiterzuleiten.
Falsch negativ (false negative):
Eine Spam-Nachricht wird fälschlicherweise nicht als Spam eingestuft.
Diese Fehlerart ist zwar lästig; es kann jedoch nichts Schlimmes passieren.

Leider hängen beide Fehler-Raten voneinander ab. Haben Sie deshalb bitte Verständnis, dass das LRZ eine höhere Rate bei den Falsch-Negativen in Kauf nimmt, damit möglichst wenige erwünschte Nachrichten False Positives werden.

Die unvermeidbare Existenz dieser Falsch-Positiven (so selten sie auch vorkommen) ist ein sehr wichtiger Grund, der gegen eine automatische Löschung spricht.

Wie können Ihnen aber die Markierungen des LRZ bei der Belästigung durch Spam helfen?

Das Programm SpamAssassin markiert jede E-Mail-Nachricht durch das Einfügen von mehreren neuen Kopf-Zeilen (Header-Zeilen). Die einfachste davon lautet:

>X-Spam-Flag: YES oder X-Spam-Flag: NO

Eine derartige Markierung kann man bei vielen E-Mail-Programmen auswerten und dann automatische Aktionen veranlassen; meist wird man die betreffenden E-Mails in einen dedizierten Ordner (Folder) verschieben oder evtl. sogar gleich komplett löschen lassen.

Einrichten von einfachen Filtern für diverse E-Mail-Programme

Für die Nutzung der Spam-Markierung des LRZ verweisen wir in diesem Abschnitt auf Anleitungen mit der geeigneten Konfiguration von häufiger verwendeten E-Mail-Programmen. Wegen der leider unvermeidlichen Falsch-Positiven sind wir bei den Anleitungen auf "Nummer Sicher" gegangen und haben jeweils auf denjenigen Fall verwiesen, bei dem als Spam markierte E-Mails automatisch in einen dedizierten Ordner verschoben werden. Sie sollten diesen Ordner zumindest sporadisch manuell kontrollieren und dessen Inhalt nicht kritiklos ungesichtet löschen.

(Die angegebenen Beschreibungen können wegen der zurückgegangenen Bedeutung oder Einsatzes einer neuen Version auf einem etwas älteren Stand sein. Bei neueren Versionen ist jedoch meist ähnlich zu verfahren.)

Für folgende E-Mail-Programme stehen Anleitungen zur Verfügung:

Weitere Anleitungen sowie Hinweise zur Filterkonfiguration finden sich an diversen Dokumentationen im Internet wie z.B. :

Manche E-Mail-Clients bieten auch die Möglichkeit, E-Mails mit Absende-Adressen, die im eigenen Adress-Buch stehen, von Filtern auszunehmen ("White Lists"). Sie sollten diese Möglichkeit bei der Konfiguration von Spam-Filtern zur Sicherheit unbedingt nutzen. Leider bedeutet dies aber, dass Sie einige zusätzliche Spam-E-Mails lesen müssen; Spammer fälschen nämlich meist die Absender-Adressen und deshalb kann es manchmal vorkommen, dass der Absender einer Spam-Nachricht im eigenen Adress-Buch steht und dann deshalb nicht vom Filter erfasst wird.

Wenn Sie mit der in den Anleitungen vorgestellten einfachen Filter-Konfiguration erste Erfahrungen gesammelt haben, können Sie sich überlegen, ob eine komplexere Konfiguration für Ihre spezifischen Bedürfnisse möglicherweise besser geeignet ist. Im nächsten Abschnitt erklären wir u.a., wie man die Markierungen noch weitergehender auswerten kann.

Ausführlichere Informationen mit Tipps für eine gestufte Filterung

SpamAssassin untersucht bei jeder E-Mail-Nachricht eine Reihe von Kriterien, die mehr oder weniger typische Kennzeichen für Spam sind. Dabei wird bei jedem positiven Test eine individueller Wert vergeben, die davon abhängt, wie "aussagekräftig" der jeweilige Test ist.

Die Werte aller erfüllten Kriterien werden aufsummiert. Ist die Summe mindestens so groß wie zwei konfigurierbare Schwellwerte, werden folgende Aktionen durchgeführt:

Konfigurations-Parameter "tagged_above" (am LRZ "-999.0"):

Der E-Mail werden neue Kopfzeilen hinzugefügt (Beispiele siehe unten), mit denen SpamAssassin seine gewonnenen Erkenntnisse dokumentiert.
(Der Mindestwert -999.0 ist quasi immer erfüllt.)

Konfigurations-Parameter "required" (am LRZ "5.0"):

SpamAssassin betrachtet die betreffende E-Mail als Spam und fügt deshalb die zusätzliche Kopfzeile "X-Spam-Flag: YES" hinzu (statt "X-Spam-Flag: NO").

Beispiele, bei denen schon "tagged_above" überschritten wurde, aber "required" noch nicht erreicht ist:

X-Spam-Flag: NO
X-Spam-Score: -1.779
X-Spam-Level:
X-Spam-Status: No, score=-1.779 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MSOE_MID_WRONG_CASE=0.82]
X-Spam-Flag: NO
X-Spam-Score: 1.002
X-Spam-Level: *
X-Spam-Status: No, score=1.002 tagged_above=-999 required=5 tests=[BAYES_50=0.001, EXTRA_MPART_TYPE=1, HTML_MESSAGE=0.001]
X-Spam-Flag: NO
X-Spam-Score: 3.606
X-Spam-Level: ***
X-Spam-Status: No, score=3.606 tagged_above=-999 required=5 tests=[BAYES_80=2, DEAR_SOMETHING=1.605, HTML_MESSAGE=0.001]

Die einzelnen Parameter:

"X-Spam-Flag:" gibt an, ob die Nachricht als Spam eingestuft wird: ("YES" oder "NO"; oben immer "NO").
"X-Spam-Score:" nennt den aufsummierten Wert.
"X-Spam-Level:" zeigt den ganzzahligen Anteil des Score-Wertes mit (max. 64) Sternchen an. (Damit ist eine leichte Abfrage in einem Filter möglich).
"X-Spam-Status:" umfasst die ausführlichen Informationen:
  • "Yes" oder "No": Spam-Einschätzung,
  • "score=": aufsummierter Wert,
  • "tagged_above", "required": aktuelle Schwellwert-Parameter,
  • "tests=": Liste der zutreffenden Tests mit dem jeweiligen Ergebnis.

Jede Kopfzeile einer E-Mail-Nachricht, so auch "X-Spam-Status", kann sich auch über mehrere Zeilen erstrecken, wobei dann die Folgezeilen eingerückt sind.

Wenn Sie Genaueres zu den Tests wissen wollen:

Die ausführbaren Tests (Version 3.2.x)

Jetzt noch zwei Beispiele, bei denen die Nachrichten als Spam eingestuft wurden:

X-Spam-Flag: YES
X-Spam-Score: 10.251
X-Spam-Level: **********
X-Spam-Status: Yes, score=10.251 tagged_above=-999 required=5 tests=[AWL=-0.007, BAYES_99=3.5, DEAR_WINNER=3.197, HTML_MESSAGE=0.001, KAM_LOTTO1=1, KAM_LOTTO2=1, MIME_HTML_MOSTLY=0.001, MPART_ALT_DIFF=0.739, MSOE_MID_WRONG_CASE=0.82]
X-Spam-Flag: YES
X-Spam-Score: 45.51
X-Spam-Level: *********************************************
X-Spam-Status: Yes, score=45.51 tagged_above=-999 required=5 tests=[BAYES_99=3.5, FORGED_MUA_OUTLOOK=4.056, FORGED_OUTLOOK_HTML=2.713, FORGED_OUTLOOK_TAGS=2.492, FORGED_YAHOO_RCVD=1.849, FROM_ILLEGAL_CHARS=4.1, FROM_LOCAL_NOVOWEL=2.861, HEAD_ILLEGAL_CHARS=1.606, HTML_30_40=0.374, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=1.449, HTML_TITLE_EMPTY=0.214, KOREAN_UCE_SUBJECT=3.1, MIME_HTML_ONLY=0.001, MIME_HTML_ONLY_MULTI=0, MSGID_RANDY=2.88, RCVD_DOUBLE_IP_SPAM=3.69, RCVD_HELO_IP_MISMATCH=4, RCVD_NUMERIC_HELO=1.5, REPTO_QUOTE_YAHOO=2.124, SUBJ_ILLEGAL_CHARS=3]

Ein End-Nutzer könnte z. B. sein E-Mail-Programm nach folgenden Regeln konfigurieren:

Nachrichten mit 15 Sternen oder mehr werden sofort gelöscht. (Filter: X-Spam-Level: enthält ***************)

"Für mich sind in diesem Fall die Nachrichten so eindeutig Spam, dass ich eine Löschung ohne Kontrolle riskiere."

Nachrichten mit 7 Sternen oder mehr werden in einen Ordner "Spam-2" verschoben.

"Auch bei diesen Nachrichten handelt es sich relativ wahrscheinlich um Spam. Es reicht deshalb aus, wenn ich diesen Ordner einmal pro Woche "grob überfliege" und dann die Spams lösche. Bis jetzt habe ich in diesem Ordner nur ein paarmal eine erwünschte E-Mail gefunden. Ich lebe deshalb mit dem Risiko, dass ich eine erwünschte E-Mail erst verspätet sehe oder evtl. sogar lösche, weil ich sie bei der oberflächlichen Durchsicht des Ordners übersehen habe."

Nachrichten mit 4 Sternen oder mehr werden in einen Ordner "Spam-1" verschoben.

"In diesem Ordner kommen bei mir erwünschte Nachrichten alle paar Tage vor. Aus diesem Grunde gehe ich den Ordner täglich relativ gründlich durch, bevor ich die Spams lösche."

Die restlichen Nachrichten werden nicht als Spam betrachtet.

Dieser Vorschlag für eine erweiterte Filterkonfiguration ist nur eine Anregung, wie man die Markierungen von SpamAssassin auswerten könnte. Selbst wenn Sie den Vorschlag im Prinzip übernehmen, werden Sie aber wahrscheinlich zumindest die genannten Schwellwerte an Ihre individuellen Anforderungen anpassen wollen.