Greylisting

Auf Grund mehrfacher Anforderungen habe ich mich 2008 entschlossen - auch aus Mangel an leistbaren Alternativen, einen Greylisting "Filter" für Exchange 2003, 2007, 2010 und 2013 selbst zu schreiben. Greylisting bedeutet, dass der erste Versuch ein Mail zu einem Mailserver zuzustellen fehlschlägt. lt. den anerkannten RFC's - Request for Comments - den "Normen" im Internet versucht der sendende Mailserver nach mind. 15 Minuten, dann nach 1 Stunde, 2 Stunden etc. das Mail nochmals zuzustellen. Der erste Versuch wird natürlich mit der Absendeadresse (die TCP/IP Adresse des sendenden Mailservers) und dem Zeitpunkt gespeichert. Versucht der sendende Mailserver innerhalb der ersten 10 Minuten nochmals zu senden, wird er wieder abgewiesen und die Stopuhr wird neu gestartet. Hält sich der Sender an die gängigen Normen, wird er (nach 10 Minuten) als Sender anerkannt und darf fortan für mind. 30 Tage lang ohne weitere Beeinträchtigungen senden. Natürlich habe ich auch noch eine Whitelist - diese Mailserver dürfen immer senden - und eine Blacklist - diese Server dürfen nie senden eingebaut.

Was bringt das?

Nach fremden Quellen ca. 85 - 90% weniger SPAM Mails, nach meiner eigenen Erfahrung sogar bis zu 95% weniger SPAM Mails und nur mehr ein einziger Virenangriff seit der Einführung bei allen Exchange Servern, die ich betreue (derzeit noch 7 Stück). Was bedeutet das für den Server? Wenig, die Last ist auf meinen Systemen nicht messbar. Auch mehrere tausend Mails pro Stunde werden mit oder ohne dem Greylist Agent, sowohl unter Exchange 2003 als auch unter 2007 - 2013 problemlos verarbeitet, sofern der Exchange Server selbst diese verarbeiten kann. Nur auf sehr stark belasteten und zu klein dimensionierten Small Business Servern kann es zu Verzögerungen von bis zu 1 Sekunde bei der Prüfung kommen. Solche Server sollten daher mit einem externen Prüfserver z.B. auf Linux Basis zusammen betrieben werden. Das Programm ist eine einfache, kleine dll (Dynamic Loadable Library) und kein eigentliches Programm und ist in der Taskliste nicht sichtbar. Es läuft im Prozessraum des Exchange Transport/SMTP Service. Die Exchange 2007-2016 Versionen sind in ein eingebundene DLL, die im Exchange Transport Prozess mit ausgeführt wird.

Was kostet das?

Das Programm selbst - gar nichts, die Einrichtung und Wartung kostet Sie selbst (wenn Sie ein Exchange Administrator sind) oder Ihren EDV Betreuer ca. 2 Stunden im Monat. Natürlich kann ich es Ihnen auch installieren. Ich habe kein Installationsprogramm im eigentlichen Sinn geschrieben, sondern 2 Batchdateien, die den Filter einbinden und wieder rückstandsfrei entfernen.

Wie bekomme ich es?

Ich gebe das Programm gerne her, wenn Sie mir glaubhaft versichern, es für einen Exchange Server auch zu gebrauchen. Senden Sie mir ein Mail an preier@ppc.at oder rufen Sie mich unter +43/664/8585826 an. Kann ich es selbst ändern? Natürlich, ich beanspruche keinerlei Rechte an dem Programm oder an dessen Funktion.

Kann ich es selbst ändern?

Natürlich, Sie erhalten den Sourceode und einen kompilierten und lauffähigen und getesteten Agent für jede Exchange Versione. Ich beanspruche keinerlei Rechte an dem Programm oder an dessen Funktion.

Gibt es Updates?

Für den Exchange 2003 Agent nicht, für die Exchange 2007-2016 Agents gibt es fallweise, nach Kundenanforderung oder neuen Ideen zur Verbesserung Neuerungen oder Ausbesserungen des Programms, ca. 1 - 2 neue Versionen werden pro Jahr erstellt, ein Update ist aber, sofern Sie mit der alten Version zufrieden sind nicht notwendig - und ich rate auch davon ab. Das Programm selbst hat keinerlei Sicherheitskritische Shcnittstellen, bis auf jene, die MS Bis jetzt nicht, weil es nicht nötig war. Das Programm läuft seit mehreren Monaten unverändert und ohne Hängenbleiber, Absturz und dgl. auf mehreren verschiedenen Systemen. Sollte einmal ein Update nötig sein informiere ich Alle davon.

Gibt es eine Oberfläche?

Exchange 2003: Nein - das Programm ist ein sog. Exchange 2003 Event-Sink. Sie bekommen von mir den Sourcecode und ein fertiges Programm (genauer, eine einzelne dll mit den dazugehörigen Batchdateien und Hilfsdateien von Exchange 2003). Für Exchange 2007-2016 gibt es ein Installationstool, mit dem Sie installieren, deaktivieren/aktivieren, Updaten und den Agent löschen können. Weiters gibt es ein Überwachungstool, mit dem Sie die White-und Blacklisten und  Sendernames (siehe unten) überwachen und bearbeiten können. Wie bei der Konfiguration brauchen Sie nach einer Änderung nichts neu starten, da jede dieser Dateien bei jedem einzelnen Mail ausgewertet werden.

Gibt es eine Konfiguration?

Für Exchange 2003: Ja, in der Registry. Nach dem ersten Start (dieser erfolgt vollautomatisch) finden Sie diese in der Registry unter HKLM\Software\PPC\ExchangeGreylisting. Aber viel gibt es nicht zum einstellen. Für Exchange 2007-2013 gibt es eine GreylistConfig.xml, die Sie selbst ändern können. Da diese bei jedem Maileingang ausgewertet wird, braucht nach einer Änderung nichts neu gestartet werden.

Gibt es Nachteile?

Manchmal werden HAM Mails - also gute Mails zurückgewiesen, das ist leider unvermeidlich. In diesem Fall muss der sendende Mailserver in die Whitelist eingetragen werden und mit IISRESET der komplette IIS (Webservice am Mailserver) neu gestartet werden (der SMTP Eingang läuft im Prozess des IIS). Dabei werden auch alle Web-Sites am IIS kurz unterbrochen.

Wird ein Logfile mitgeschrieben?

Ja, jede Aktion wird im Eventlog eingetragen. Das habe ich auch für den Einsatz von MS-MOM 2005, MS-SCOM 2007 oder anderen Systemüberwachungstools wie Zenoss, OMD oder Nagios geplant. Ein Logfile wird ebenso in einem Untervrezcihnis vom Agent mitgeschrieben.

Wie viel Platz benötigt der Greylisting Filter?

Das kommt auf die Anzahl der zurückgewiesenen Mails an, bei den größten Installationen ca. 20 Megabyte. Aber das waren bis zu 40.000 zurückgewiesene Mails von bis zu 5000 verschiedenen Servern am Tag. Jeder Verbindungsversuch von einem neuen, unbekannten Mailserver wird in eine eigene Datei geschrieben, die benötigt mindestens 4 Kilobyte auf Ihrer Festplatte (oder mehr, wenn Sie die Clustergröße Ihrer festplatte geändert haben). Das Programm selbst benötigt bei mir derzeit incl. Logfiles 2,7 MB. Und ist derzeit seit 4 Monaten ohne Unterbrechung aktiv (bis auf die üblichen Neustartst wegen Windows Updates)

In welcher Sprache ist es geschrieben?

In MS.NET C#, für .NET 2.0 (Exchange 2003) und MS.NET 3.0 für Exchange 2007-2013.

Gibt es das Programm auch für andere Mailserver?

Die meisten anderen Mailserver (z.B. Mdaemon, unter Linux alle mailserver) haben ein Greylisting eingebaut, nur Microsoft möchte das (warum auch immer) nicht.

Fragen? Anmerkungen? Wünsche? Beschwerden?

Wenn Sie noch Fragen haben, bitte ich um ein kurzes Mail. Gerne unterstütze ich Sie auch bei Ihrer Installation Lokal, telefonisch oder Remote (Teamviewer, Remote Desktop, etc.) gegen einen Pauschalbetrag von € 65,-- excl. MWST (mit UID auch Intra-EU Rechnungen ohne MWST) Meine Software für Exchange (und MOM und anderes) finden Sie in meinem Filestore Bitte schicken Sie mir ein kurzes Email an preier@ppc.at, wenn Sie Interesse an diesem Programm haben preier@ppc.at oder Tel: +43/664/8585826