SPAM. Nicht nur »Spiced Ham« sondern inzwischen auch der Begriff für unerwünschte E-Mails.
Was früher noch als UCE (»unsolicited commercial e-mail« - unverlangte kommerzielle E-Mail)
oder UBE (»unsolicited bulk e-mail« - unverlangte Massenmail) die Runde machte, wird jetzt
alles allgemein als »SPAM« bezeichnet.
Bei vielen Quellen die virtuellen Briefkästen mit derartiger Post über. Sei es nun die
Werbung für günstige Kredite (in den USA), günstige Medikamente (für was auch immer) oder die
übliche »Erotikwerbung« – SPAM nervt gewaltig und strapaziert Mailserver. Ganz nebenbei wird
auch noch die Onlinezeit verlängert, schließlich muß man den ganzen Mist auch noch mit
herunterladen.
Anschließend geht dann im MUA (mail user agent) die Suche los: Wo zwischen dem ganzen Spam
verbirgt sich eigentlich meine richige Post?
Hier greift SAproxy ein. Die Software für WIN32 Betriebssysteme (98, 2000, ME und XP) wird
zwischen MUA und Mailserver geschaltet und prüft die eingehenden Mails nach diversen
Kriterien. Wird eine auffällige Textpassage entdeckt, so bekommt die E-Mail Punkte nach einem
ausgeklügelten System. Wird eine bestimmte Punktzahl überschritten, so wird die E-Mail als
SPAM klassifiziert und erhält einen Vermerk im Mailheader. Dieser kann mit einem guten MUA –
ich verwende für dieses Projekt Sylpheed-Claws für WIN32 – mittels einer Filterregel
ausgelesen und dadurch in einen anderen Ordner verschoben werden.
Auf Sylpheed bzw. Sylpheed-Claws gehe ich in Form einer Installationsanleitung bereits auf einer anderen Seite
ein. Dort ist auch der Link zum Download des MUAs zu finden.
SAproxy kann von der Seite saproxy.bloomba.com als WIN32-Binary heruntergeladen werden. Die Installation
von SAproxy sollte eigentlich keinerlei Probleme darstellen. Einfach die .exe ausführen und
den Anweisungen folgen. Mit den Standardeinstellungen des Proxys kann sofort losgelegt
werden.
Änderungen an der Konfiguration von SAproxy wird einfach über ein Menü vorgenommen:
Dies sei aber nur am Rande erwähnt, auf die Konfiguration will ich nicht weiter eingehen.
Durchläuft eine Mail den SAproxy und wird als SPAM klassifiziert, so erhält sie im Header
einen Eintrag X-Spam-Flag: YES
. Dieser kann über die Filterfunktionen von Sylpheed
bzw. Sylpheed-Claws abgefragt werden. Sollte eine Mail den Wert »YES« bekommen haben, so wird
sie automatisch in den Ordner »Spam« verschoben. Die Regel einzurichten sollte kein großes
Problem darstellen, daher auch keine Schritt für Schritt Anleitung an dieser Stelle.
Die eingetragene Regel sollte folgendermaßen aussehen:
Nun muß allerdings der Mailclient auch so eingestellt werden, dass die Mails den SAproxy durchlaufen. Der folgende Screenshot zeigt die notwendigen Änderungen (Anmerkung: Es wurden Angaben zum Postfach unkenntlich gemacht). Die Erklärungen zu den notwendigen Änderungen stehen unter dem Screenshot.
Zunächst muß der Aufruf über den Proxy laufen. Daher wird als Server zum Empfangen der
Mails der localhost
, also 127.0.0.1
eingetragen. Diese IP ist auf jedem
Rechner identisch, daher kann die Angabe eins zu eins übernommen werden.
Der SAproxy leitet die Anfrage an den richtigen Mailserver weiter, braucht aber natürlich die
Information, welcher Server das überhaupt ist. Daher muß nach der Benutzer-ID (auch
»Benutzerkennung« oder »Kontoname« bei anderen MUAs genannt) mit einem Doppelpunkt und dem
Namen des Servers ergänzt werden.
Wurden alle Angaben richtig gesetzt, so werden die E-Mails jetzt über den SAproxy abgeholt
und auf SPAM kontrolliert.
Dank dem vom GMX eingeführten SPAM-Filter konnte ich auf etlichen SPAM zurückgreifen. Ein
erster Test mit 50 SPAM-Mails hatte folgendes Ergebnis: 37 Mails wurden korrekt als SPAM
erkannt, lediglich 13 Mails wurden nicht als SPAM klassifiziert.
Manchmal allerdings auch nur sehr, sehr knapp:
X-Spam-Status: No, hits=4.7 required=5.0
Noch ein Beispiel für eine (sehr) erfolgreiche Erkennung:
Content analysis details: (20.30 points, 5 required) TO_HAS_SPACES (0.0 points) To: address contains spaces NO_REAL_NAME (1.0 points) From: does not include a real name TO_MALFORMED (1.3 points) To: has a malformed address MSGID_CHARS_SPAM (0.2 points) Message-Id has characters indicating spam HEADER_8BITS (4.4 points) Headers include 3 consecutive 8-bit characters MSGID_OE_SPAM_4ZERO (2.1 points) Message-Id generated by spam tool (4-zeroes variant) MSGID_SPAMSIGN_ZEROES (4.4 points) Message-Id generated by spam tool (zeroes variant) MONEY_BACK (0.7 points) BODY: Money back guarantee HTML_TAG_EXISTS_TBODY (0.5 points) BODY: HTML has "tbody" tag HTML_FONT_COLOR_CYAN (0.0 points) BODY: HTML font color is cyan HTML_FONT_COLOR_UNSAFE (0.1 points) BODY: HTML font color not within safe 6x6x6 palette HTML_MESSAGE (0.0 points) BODY: HTML included in message HTML_FONT_BIG (0.2 points) BODY: FONT Size +2 and up or 3 and up HTML_90_100 (0.0 points) BODY: Message is 90% to 100% HTML HTML_SHOUTING3 (0.0 points) BODY: HTML has very strong "shouting" markup HTML_FONT_COLOR_YELLOW (0.0 points) BODY: HTML font color is yellow HTML_JAVASCRIPT (0.0 points) BODY: JavaScript code FRONTPAGE (0.5 points) BODY: Frontpage used to create the message MIME_LONG_LINE_QP (0.0 points) RAW: Quoted-printable line longer than 76 characters MSGID_OUTLOOK_TIME (4.5 points) Message-Id is fake (in Outlook Express format) MIME_HTML_ONLY (0.1 points) Message only has text/html MIME parts CLICK_BELOW (0.0 points) Asks you to click below INVALID_MSGID (0.3 points) Message-Id is not valid, according to RFC 2822
20.30 Punkte für eine einzelne Mail – da hatte sich jemand sehr viel Mühe gegeben als er mir seinen Viagra-Klon angeboten hat.
Für einen einzelnen Rechner ist der Proxy eine nette Lösung. Befinden sich mehrere Clients
bzw. MUAs im LAN, so sollte der Proxy natürlich zentral installiert werden. Dann müssen die
MUAs aber alle dementsprechend konfiguriert werden. Die Änderungen an den MUAs lassen – da
kein transparentes proxying vorliegt – allerdings nur noch das Abholen über den Proxy zu.
Sollte dieser ausfallen, können auch keine E-Mails mehr abgerufen werden.
Mit SAproxy ist es leider nicht möglich, einen Proxyserver für ein LAN anzubieten. Er
reagiert nur auf 127.0.0.1
, also auf localhost
. Für einen zentralen
Proxyserver muß auf andere Software zurückgegriffen werden.
Daher habe ich mich bei der Variante unter
Linux einer anderen Methode bedient. Diese läßt sich sicherlich auch mit etwas Aufwand in
reinen Windows-Netzwerken realisieren.