Spoofdetect Sink

Der Spoofdetect-Sink ist eine Beispiel, wie Sie mit einem SMTP-EventSink und etwas VBScript eingehende Nachrichten kennzeichnen können, wenn die Absenderadresse ihnen seltsam vorkommt.

Eine Absenderadresse ist besonders dann seltsam, wenn die Mail aus dem Internet kommt aber vorgibt, von intern zu kommen. Seit Exchange 2003 ist es z.B. möglich, solche Adressen gleich beim Empfang abzulehnen. Wenn Sie dies aber nicht wollen, dann sollten sie ihre Mitarbeiter zumindest dezent darauf hinweisen, dass die Mail von extern kommt und der Absender vermutlich nur vorgibt, von intern zu kommen.

Das Musterskript prüft einfach nur die FROM-Adresse auf die angegebenen Domänen bei allen per SMTP empfangenen Mails. In Umgebungen mit mehreren Mailservern und Gateways, die per SMTP einliefern, betrifft dies auch die interne Kommunikation und sorgt daher für Irritationen. Das Skript muss dann entsprechend erweitert werden oder Sie nutzen für den Empfang aus dem Internet einen eigenen virtuellen SMTP-Server

Unterstützung durch Net at Work:
Für individuelle Anpassungen können Sie gerne auf die Dienste von Net at Work zurückgreifen.

Die Funktion

Und Exchange bzw. genauer Outlook und OWA erlauben genau dies durch das Feld "X-Message-Flag" im Header, die beim Lesen der Mail mit angezeigt werden:

Das Skript klinkt sich in den virtuellen SMTP-Server als "Transport Event Sink" ein, um die Absenderadresse zu überprüfen und wenn diese der konfigurierten Domäne entspricht, wird das X-Message-Flag gesetzt und die Mail zur weiteren Verarbeitung an den SMTP-Server zurück übergeben.

Das Skript ist ein Muster und funktioniert in einer Testumgebung fehlerfrei. Zur Funktion in einer produktiven Umgebung würde ich persönlich eine Fehlerbehandlung addieren und Performancetests durchführen wollen.

Debugging

Eine einfache Funktion zur Fehlersuche ist hingegen schon eingebaut. SMTPEventsinks sind nicht einfach zu debuggen, da Sie versteckt im Prozess des IIS ablaufen. Die effektivste Version ist dabei sicher die Ausgabe der Aktivitäten in einer Datei. Der Sink legt dazu eine LOG-Datei an, die immer weiter geschrieben wird.

Wenn das Skript in der Produktion eingesetzt wird, dann muss natürlich sichergestellt werden, dass dieses Debugging nicht den Server ausbremst und letztlich zuviel Platz belegt.

Download

Das folgende Archiv enthält den Code des SMTP EventSinks und zwei Batchfiles zur Installation und Deinstallation. Das VBScript muss jedoch angepasst werden, ehe Sie es installieren dürfen

tools/spoofdetect.1.0.zip

Sie müssen vor dem Einsatz auf jeden Fall die eigene Domäne von "msxfaq.de" auf ihre Domäne umstellen. Wenn Sie sogar mehrere Domänen betreiben, dann muss das Skript erweitert werden. Zudem sollten Sie die Meldung für den Anwender vielleicht anpassen.

Weitere Verbesserungen

Neben den schon genannten Erweiterungen wären noch denkbar:

Weitere Links

Keywords: Spoofing SMTPSink X-Messageflag