SpamAssassin ist ein System zur automatischen Erkennung unerwünschter E-Mails (auch bekannt als SPAM). Es ermittelt mit verschiedenen Methoden einen Wert für die Wahrscheinlichkeit, daß eine gegebene E-Mail SPAM ist. Diese Bewertung teilt es dem Empfänger durch Hinzufügen bestimmter Kopfzeilen (Header) zu der E-Mail mit. Anhand dieser Informationen kann man dann entscheiden (oder entscheiden lassen), was mit der E-Mail geschehen soll (z. B., ob die E-Mail angenommen, weitergeleitet oder gelöscht werden soll). (Weitere Informationen)
Procmail ist ein E-Mail Filter. Anhand bestimmter vom Benutzer definierter Regeln werden eingehende E-Mails analysiert und unterschiedlich behandelt (z. B. können E-Mails in verschiedene Mailboxen einsortiert, an andere Adressen weitergeleitet oder einfach verworfen werden). (Weitere Informationen)
Der kombinierte Einsatz von SpamAssassin und Procmail hat sich in der Praxis bewährt. SpamAssassin analysiert E-Mails automatisch, wenn sie das Mail-Serversystem passieren, d. h. die Bewertung durch dieses System liegt vor, ohne daß man dazu selbst noch etwas unternehmen müßte. Des weiteren wird automatisch procmail durch den Mail-Server aktiviert. aktiviert. Ohne spezielle Konfiguration unternimmt es aber nichts weiter, als jede E-Mail in die Eingangsbox einzusortieren. Um in den Genuß der automatischen Filterung zu kommen, bedarf es also lediglich der Konfiguration von Procmail. Damit beschäftigt sich dieser Artikel.
Das Fenster zur Welt (d. h. zum Internet) stellt für die ganze Universität zu Köln das Rechenzentrum dar. Jede E-Mail — mit der einzigen Ausnahme von institutsinterner Mail — muß also diesen Knotenpunkt passieren. Dabei wird automatisch jede E-Mail für Empfänger an der Universität mit SpamAssassin überprüft. Das Programm fügt der E-Mail einige Kopfzeilen hinzu, die darüber Auskunft geben, welche SPAM-typischen Eigenschaften sie hat und mit welcher Wahrscheinlichkeit sie daher wirklich SPAM ist.
Individuellere procmail-Filterregeln können durch
Auswertung der
Kopfzeile ist "X-Spam-Level" erstellt
werden.
Diese Zeile gibt einen Wert für die
Wahrscheinlichkeit an, daß die vorliegende Nachricht SPAM ist.
Der X-Spam-Level ist der ganzzahlige Anteil des X-Spam-Status,
dargestellt in einer von procmail gut lesbaren Form:
X-Spam-Level:
X-Spam-Status < 1.0
X-Spam-Level: x
1.0
<= X-Spam-Status < 2.0
X-Spam-Level: xx
2.0 <=
X-Spam-Status < 3.0
X-Spam-Level: xxxxxx
6.0 <= X-Spam-Status < 7.0
usw.
Sobald eine E-Mail für einen Empfänger am Mathematischen Institut eintrifft, wird sie von einem automatisch gestarteten Procmail analysiert und weiterverarbeitet. In der Standardkonfiguration (d. h. wenn man nicht explizit eine eigene Konfiguration vorgibt) macht Procmail genau das, was man auch erwarten würde: Die E-Mail wird — unbesehen — in die Eingangsbox einsortiert.
Wie veranlaßt man Procmail nun aber dazu, die X-Spam-Level Kopfzeile auszuwerten?
Procmail wird über eine Textdatei konfiguriert. Diese liegt
im Homeverzeichnis (/home/<Benutzername>
unter
Unix/Linux bzw. E:\
unter Windows) und heißt
.procmailrc
. Wenn diese Datei nicht existiert oder leer
ist, benutzt Procmail die Standardkonfiguration. Procmail ist sehr
vielseitig und flexibel durch reguläre Ausdrücke
konfigurierbar, darauf genauer einzugehen würde an dieser Stelle
allerdings zu weit führen. Stattdessen gebe ich eine voll
funktionstüchige Beispielkonfiguration an und verweise auf die
Dokumentation (Weitere Informationen zu
Procmail).
.procmailrc
:
:0 # Spam-Mail aussortieren Subject:.*\[SPAM mail/SPAM.mail |
Speichern Sie diesen Text als .procmailrc in ihrem Homeverzeichnis.
Diese procmailrc wird im Mathematischen
Institut als Konfiguration empfohlen, wenn Spam-Mails nicht in die
Standard-Mailbox zugestellt werden sollen. Derzeit wird vom
Mailserver des Instituts der Warnhinweis [SPAM...] in die
"Subject" Zeile einer verdächtigen Mail
eingesetzt.
Die .procmailrc Datei veranlasst eine Auslieferung
solcher Mails nicht in die Standard-Inbox, sondern in eine separate
Mailbox mail/SPAM.mail .
Die entsprechende Filterregel steht in
der Zeile, die mit einem Sternchen beginnt. Durch die Trennung der
Mailboxen für unbedenkliche und verdächtige Mails soll der
durch Spam entstehende Zeitaufwand minimiert werden.
Mit
dieser Konfiguration wird Spam-Mail nicht sofort gelöscht,
sondern
in einem separaten Ordner (SPAM.mail) angelegt.
Es muss
ein Verzeichnis e:/mail (Windows) oder /home/username/mail (Unix)
existieren. Das Zielverzeichnis ist so gewählt, dass man mit
IMAP-Klienten Zugriff auf den SPAM.mail - Ordner hat.
Bei der
Analyse von Mail sind sogenannte false positives nicht mit
100% Sicherheit auszuschließen (d. h. unbedenkliche Mail wird
fälschlich als Spam identifiziert). Daher sollte der
SPAM.mail Ordner in gewissen Abständen geprüft werden.
Meist reicht es, anhand der Überschriften die Authentizität
der Mail zu bestimmen. Unbekannte Mail sollte nicht geöffnet
werden.
Wenn sich Fehlzuordnungen für einen bestimmten
Absender häufen, wird darum gebeten, die Datenstation des
Instituts zu informieren.
Eine Überprüfung der
Spam-Mailbox ist unabhängig vom Betriebssystem mit
dem Webmailer des Insituts möglich (Kurzanleitung siehe
hier).
Alternativ
kann eine zweite Mailbox in Thunderbird angelegt werden
(Anleitung
siehe hier).
Thunderbird ist der Mailer des Mozilla-Projekts und für Windows,
Linux, Solaris und Mac OS erhältlich.
Ein
weiteres Beispiel für eine .procmailrc Datei ist:
:0 * ^x-spam-level:.*xxxxxxx mail/SPAM |
Dieses Beispiel implementiert ebenfalls nur eine einzige Filterregel: E-Mails, die eine X-Spam-Level Kopfzeile haben, in der mindestens 7 Buchstaben "x" hintereinander vorkommen, werden in die Mailbox "SPAM" einsortiert. Alle übrigen Mails werden nach dem Standardverfahren weiterverarbeitet, sie landen also in der Eingangsbox.
Achtung! In der Zeile, die mit dem Sternchen "*" beginnt, wird die Filterregel definiert. Hier steht für jeweils ein "x"-Symbol im X-Spam-Header die Zeichenkette "x". Das Sternchen rechts neben dem Punkt hat nichts damit zu tun und sollte in jedem Fall erhalten bleiben.
Des weiteren kann man auf einfache Weise Filterregeln für
die Felder "From", "To" und "Subject"
des Mail-Headers formulieren..Auf diese Weise kann man beispielsweise
einen Newsletter automatisch in einen separaten Ordner einsortieren
oder bestimmte Mails mit bekannten Headern als Spam zuordnen.
:0 * ^Subject:.*Subscription_Math-Net_Newsletter.* MathNet_Newsletter
alle Mail mit dem String "Subscription_Math-Net_Newsletter" im Subject wird im Folder MathNet_newsletter abgelegt.
:0 * ^FROM.*AdobeNews Adobe_News.mail
Mail von der Firma Adobe anhand der "From:" Headerzeile erkennen und in Adobe_News.mail einsortieren.
:0 * ^TO.*mailing_list user_list.mail
Mail mit dem String "mailing_list" in der "To:" Headerzeile separat ablegen.
Wie Sie weitere eigene Regeln definieren und was das Beispiel genau bedeutet erfahren Sie auf der procmailrc Manualseite (siehe Weitere Informationen).
Wenn Procmail die erste SPAM-Mail verarbeitet, erzeugt es die Mailbox "SPAM". In diese Mailbox sollten Sie von Zeit zu Zeit einen Blick werfen, um sicherzugehen, daß sich nicht irrtümlicherweise ein "gute" E-Mail hineinverirrt hat — insbesondere, wenn Sie einen Wert < 6 als Grenzwert für den X-Spam-Level gewählt haben. Und dann muß dieser "Mülleimer" natürlich auch hin- un wieder geleert werden.
Der Zugriff auf diese Mailbox erfolgt vorzugsweise über das IMAP-Protokoll, mit dem üblichen POP ist dies leider nicht möglich. Darüberhinaus hat die Verwaltung der SPAMbox per IMAP auch noch den Vorteil, daß sie komplett auf dem Server stattfindet, d. h. mehr als die Betreffszeilen muß i. d. R. nicht heruntergeladen werden.
Der überwiegende Teil der gängigen E-Mail Clients unterstützt heute IMAP. Erzeugen Sie ein neues E-Mail Konto und geben Sie als Protokoll bzw. als Servertyp "IMAP" an. Anschließend müssen Sie noch die Mailbox "SPAM" abonnieren bzw. erstellen, falls Sie nicht schon eine SPAM-Mail erhalten haben und Procmail dies automatisch durchgeführt hat.
Servername |
thales.mi.uni-koeln.de |
Servertyp bzw. Protokoll |
IMAP |
SSL |
Sollte nach Möglichkeit verwendet werden |
Port-Nr. |
143(ohne SSL) / 993 (mit SSL) |
Benutzername bzw. Login |
Ihr Benutzername am MI |
Kenn- bzw. Paßwort |
Ihr UNIX-Paßwort am MI |
E-Mail Adresse |
<Login>@math.uni-koeln.de |
Mit diesen Daten ist das Einrichten eines E-Mail Accounts i. d. R. recht einfach. Wenn man einmal den Einstieg gefunden hat, ist das Vorgehen in den meisten Clients selbsterklärend. Ansonsten sollte die meist vorhandene Online-Hilfe offene Fragen klären können.
Das Einrichten eines neuen E-Mail Kontos startet man in den am MI eingesetzten Netscape- bzw. Mozilla Mail folgendermaßen:
Bearbeiten →
eMail und Diskussionsforen-Konto-Einstellungen... →
Konto hinzufügen...
bzw.
Edit →
Mail & Newsgroups Account Settings... →
Add Account...
Procmail Homepage: www.procmail.org
GNU grep
online
Dokumentation: http://www.gnu.org/software/grep/doc/
procmail Manual Seite: man-procmail.html
procmailrc Manual Seite: man-procmailrc.html
procmailex Manual Seite (Beispiele): man-procmailex.html
SpamAssassin am Rechenzentrum: www.uni-koeln.de/rrzk/mail/spam/spamassassin.html
SpamAssassin Homepage: http://spamassassin.apache.org/