SpartacusFilter ist ein selbstlernender Spam-Filter, der auf einem Exchange Server installiert wird, auf dem die Mail-Datenbanken der Benutzer liegen. Der Filter steht nach der Installation allen Benutzern zur Verfügung, wobei jeder Benutzer seinen eigenen Filter trainiert. SpartacusFilter ist damit konform zur aktuellen Rechtssprechung.

Installation des Filters auf einem einzelnen Exchange Server

Hinweis: Für die Installation benötigen Sie administrative Rechte auf der Maschine! Für die Installation in einer Cluster-Umgebung benötigen Sie zusätzlich die Rechte zum Anlegen eines Domain Users.

  1. Laden Sie die Installationsdatei von unserer Web Site und speichern Sie die msi-Datei in einem beliebigen Verzeichnis.
  2. Starten Sie die Installation durch Doppelklick auf die msi-Datei und folgen den Installationshinweisen. Wählen Sie als Installationsart Installation on a Standalone Exchange Server und klicken auf 'Next'.
  3. Wenn notwendig, ändern Sie den Pfad für die zukünftigen Filter-Datenbanken. Überprüfen Sie den Domain-Namen und tragen Sie einen Benutzernamen ein, für den ein Postfach existiert. Der Installationsprozeß benutzt diesen Anmelde-Namen, um den entsprechenden Exchange Mailbox Store zu finden. Informationen über das Registrieren des Filters für mehrere Stores finden Sie weiter unten. Klicken Sie auf 'Next'.
  4. Markieren Sie Provider Mode, wenn Sie nur einzelne Benutzer für den Filter freischalten möchten. Dies kann z.B. sinnvoll sein, wenn Sie als Provider diesen Dienst nur Kunden ab einem bestimmten Service Level zur Verfügung stellen wollen. Wenn der Filter nach der Installation für alle Benutzer zur Verfügung stehen soll, lassen Sie dieses Feld leer. Weitere Informationen zum Provider Mode finden Sie ebenfalls weiter unten.
    Wenn der Filter eine kurze Info über eingehende Mails und deren Bewertung in ein Log-File schreiben soll, setzen Sie bitte die entsprechende Option Enable Debugging.
  5. Wählen Sie den Installationsordner und die Installationsoption Just me.
  6. Nach der Installation ist der Filter bereits aktiv und legt für jeden Benutzer automatisch einen Ordner Spambox an. Dies geschieht allerdings erst nach Eingang einer neuen Mail für den betreffenden Anwender!
    Überprüfen Sie nach der Installation bitte die Konfigurations-Optionen (siehe Erste Einstellungen).

Installation in einem Exchange Cluster

  1. Installieren Sie den Filter, wie oben beschrieben, auf dem Exchange Server, der zum Zeitpunkt der Installation die Cluster Ressourcen kontrolliert. Folgen Sie den Installationshinweisen und wählen die Option Installing on an Exchange Cluster Server. Als Storage Location für die Filter-Datenbanken wählen Sie eine Cluster Group Resource im iSCSI- oder FC-SAN (z.B. X:\SpartacusDB, wenn X: das gemeinsam genutzte Shared Volume für die Exchange Datenbanken ist). Dies ist notwendig, um bei Ausfall eines Servers dem Filter auf dem zweiten Cluster Server Zugriff auf die gemeinsame Filter-Datenbank zu ermöglichen.
    Während der Installation wird ein neuer Domain User "__spartacus__" angelegt. Sie werden nach einem Paßwort gefragt (das Ihrer Password Policy entsprechen muß), welches Sie auch bei den folgenden Installationen auf weiteren Cluster Servern verwenden.
  2. Installieren Sie nun den Filter auf den anderen Servern. Stellen Sie dabei sicher, daß der entsprechende Server Zugriff auf die Cluster Ressourcen besitzt. Haben Sie Ihr Cluster beispielsweise als activ/passiv konfiguriert, so verschieben Sie vor der Installation die Cluster Group auf den zweiten Cluster Server.

Erste Einstellungen und Tests

Registrieren / Deregistrieren des Filters für weitere Exchange Stores

Nach einer Standard-Installation arbeitet der Filter für den Exchange Store, in dem der im Installationsdialog angegebene Benutzer ein Postfach besitzt. Haben Sie mehrere Stores konfiguriert, können Sie den Filter für zusätzliche Stores registrieren.

  1. Installieren Sie das Exchange SDK Utility "regevent.vbs", wenn nicht bereits geschehen.
  2. Suchen Sie sich die Store ID der Form {xxxxx-xxxx-xxxxx-xxxxx}, für die der Filter noch nicht registriert ist. Öffnen Sie dazu den Exchange System Manager, klicken auf Servers - SERVERNAME - xxx Storage Group - Mailbox Store - Mailboxes. Auf der rechten Seite finden Sie den gesuchten Eintrag unter SystemMailbox{YOUR-ID}
  3. Legen Sie eine Datei "register_spartacus.cmd" an und tragen die folgenden 3 Zeilen unter Verwendung Ihrer Store ID und Ihrer Domain ein:
    @echo off
    cscript regevent.vbs add onsyncsave spartacusfilter.exchangefilter file://./backofficestorage/ADMIN/YourDomain.com/MBX/SystemMailbox{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}/StoreEvents/GlobalEvents/spartacus.eml -m ANY -p 2147483647 -f "WHERE $"DAV:contentclass"$ = 'urn:content-classes:message'"
    pause

  4. Führen Sie die Datei in der Eingabeaufforderung aus.
  5. Um die Registrierung des Filters zu überprüfen, legen Sie eine Datei "enum_spartacus.cmd" an, tragen die folgenden 3 Zeilen ein:
    @echo off
    cscript regevent.vbs enum file://./backofficestorage/ADMIN/YourDomain.com/MBX/SystemMailbox{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}/StoreEvents/GlobalEvents/ all
    pause

    und führen diese aus.
  6. Um den Filter zu deregistrieren, legen Sie eine Datei "unregister_spartacus.cmd" an, tragen die folgenden 3 Zeilen ein:
    @echo off
    cscript regevent.vbs delete file://./backofficestorage/ADMIN/YourDomain.com/MBX/SystemMailbox{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}/StoreEvents/GlobalEvents/spartacus.eml
    pause

    und führen die Datei aus.

Einen Anwender für den Filter freischalten (Provider Mode)

Wenn Sie den Filter im Provider Modus installiert haben, ignoriert er die Mails aller Anwender, bis Sie einen Account freischalten. Um dies zu tun, erzeugen Sie eine leere Datei "USERNAME.dat.create" im Ordner $DATABASEFOLDER\YOURDOMAIN\.
Beispiel: Legen Sie eine Datei "C:\SpartacusDB\MyDomain.com\tom.dat.create" an, wenn Sie den Anwender "Tom" in Ihrer Domain "MyDomain.com" freischalten wollen.
Der Filter initialisiert beim Eintreffen der nächsten Mail an diesen User eine neue Filterdatenbank "tom.dat" und löscht die .create Datei.

"Junk-E-Mail" Ordner statt "Spambox" (experimentell)

In Abhängigkeit von der Release-Version der Exchange Server Software enthält die Maildatenbank eines Benutzers bereits einen Ordner "Junk-E-Mail". SpartacusFilter kann diesen statt der "Spambox" nutzen - den meisten Anwendern ist der "Junk E-mail" Ordner vertrauter. Tragen Sie in der Registry den entsprechenden Namen (Typ String) ein:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"UseJunkMailFolder"="Junk-E-Mail"

Hinweis: Da dieser Ordner-Name seitens Microsoft nicht fest vorgegeben wird, kann er sich in Abhängigkeit von der eingesetzten Client-Software (Sprachversion) unterscheiden, geben Sie daher alle vorkommenden Varianten - getrennt durch ein ";" an. In einer englisch/deutschen Umgebung setzen Sie den Registry Wert z.B. auf:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"UseJunkMailFolder"="Junk E-mail;Junk-E-Mail"

Eine "White List" einrichten (manuell / automatisch)

In der "White List" können Sie vertrauenswürdige Absender angeben. Nachrichten von diesen Absendern bewertet der Filter immer als HAM (gute Mails). Die White Lists werden für jeden User getrennt eingerichtet. Möchten Sie diese Funktion einschalten, tragen Sie in der Registry folgenden Wert ein:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"UseWhiteList"=dword:00000001

Legen Sie danach für jeden User im SpartacusFilter-Datenbankverzeichnis eine Text-Datei "USERNAME.dat.wlt" an, in der Sie pro Zeile eine eMail-Adresse in der Form NAME@SUBDOMAIN.TLD eintragen.
Um eine komplette Domain als vertrauenswürdig zu kennzeichnen, tragen Sie eine Zeile "@DOMAIN.TLD" ein.
Nach Setzen des Registry-Wertes:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"AutoWhiteList"=dword:00000001

erzeugt der Filter automatisch eine White List Datei, wenn der Anwender eine Mail aus der Spambox in die Inbox verschiebt und trägt in diese die eMail-Absenderadresse der verschobenen Nachricht ein.

Sie können auch eine global gültige White List Datei "global.wlt" anlegen. Die Einträge für Adressen und gesamte Domänen sind dann für alle Empfänger als vertrauenswürdig gekennzeichnet. Setzen Sie bitte ebenfalls in der Registry den Wert "UseWhiteList" auf 1.

DebugLevel - Kontrolle der Filter-Tätigkeit

Um die korrekte Arbeitsweise des Filters zu überprüfen, schalten Sie das Debugging der Filter-Engine wie folgt ein:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"DebugLevel"=dword:00000001

(0 = no debug, 1 = minimal debug, 2 = extended debug, 3 = max debug)
Die Debug-Datei Spartacus.log finden Sie im Datenbank-Verzeichnis, normalerweise unter C:\SpartacusDB\. Sie können diese z.B. mit dem Programm tail zur Laufzeit verfolgen oder mit Notepad öffnen.

Das Users Manual wird automatisch verschickt

Nach der Installation des Spamfilters erhält jeder Exchange-Benutzer eine Kurzanleitung zur Filterbenutzung via eMail, sobald eine neue Mail eintrifft. Eine Vorab-Information aller Benutzer durch den Exchange-Administrator mit dem Hinweis auf die Einführung eines Spamfilters ist zusätzlich empfehlenswert.

Die "Spambox" / der Ordner "Junk E-mail"

Der Filter legt für jeden Benutzer eine Spambox an. Jeder Mail-Empfänger trainiert den Filter durch das Verschieben von Spams in die Spambox, er erzeugt damit sein eigenes Profil.
Schalten Sie die Verwendung des Junk E-mail Ordners ein, wird keine Spambox erzeugt. Der Junk E-mail Ordner funktioniert dann analog zur beschriebenen Funktionsweise der Spambox. Anwender, die (auf Grund eingegangener Mails) bereits eine Spambox vorfinden, können diese wieder löschen.

Das globale Spam-Profil

Während der Installation wird ein globales, vorgefertigtes Spam Profil installiert, das den Filter in seiner Lernphase unterstützt. Der Administrator kann an Stelle dieses globalen Profiles ein eigenes, angepaßtes Profil erstellen, um eine bessere Erkennung zu ermöglichen (siehe FAQ: Erstellen eines angepaßten Profiles).
Das Profil dient der Unterstützung des Filters während der Lernphase und wird nach einer festgelegten Anzahl von eingegangenen SPAM Mails abgeschaltet. Den Zeitpunkt legt der folgende Eintrag fest:
[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"ProfileIgnore"=dword:000000fa
(dezimal 250)
Um das Profil abzuschalten, setzen Sie diesen Wert auf 0.

Arbeitsweise und Implementation des Filters

Der Filter analysiert den Inhalt jeder eingehenden Mail - getrennt für jeden Benutzer - und sammelt Informationen, um neue Mails automatisch als HAM oder SPAM zu bewerten. Jeder Mail-Empfänger trainiert den Filter, indem er SPAM-Nachrichten in seine (Benutzer-bezogene) Spambox verschiebt. Der Filter lernt dadurch, welche Inhalte unerwünscht sind und steigert seine Erkennungsrate kontinuierlich.
Hinweis: Alle Nachrichten außerhalb der Spambox bewertet der Filter als 'GUT', alle Nachrichten innerhalb der Spambox werden als 'SCHLECHT' eingestuft. Deshalb ist es wichtig, daß keine SPAMs im Posteingang belassen werden.

Wenn eine Nachricht im Posteingang eintrifft, wird diese durch den Spamfilter analysiert. Identifiziert der Filter die Nachricht als SPAM, wird sie automatisch in die Spambox verschoben. Anderenfalls verbleibt sie im Posteingang.
Hinweis: Der Filter beginnt erst ab 20 neu eingegangenen guten Mails (HAMs) mit dem automatischen Verschieben von SPAMs in die Spambox! Diese 'Zwangspause' vermeidet das gehäufte Auftreten von falsch erkannten Nachrichten (False Positives) nach der Installation.

Die folgende Grafik veranschaulicht das Filterverhalten (ohne ein zusätzliches Profile). Lernkurve ohne Profile

SpartacusFilter nutzt die Web Storage Event Schnittstelle des Exchange Servers. Web Storage Events bieten einer Applikation die Möglichkeit, auf neue Mails, das Löschen oder Kopieren von Mails, etc. zu reagieren. SpartacusFilter ist als Exchange Event Sink (COM+ Application DLL) implementiert, siehe auch Administrative Tools->Component Services. Während der Installation wird ein hierfür notwendiger Benutzer "__spartacus__" eingerichtet. Administrative Rechte sind für diesen Benutzer nicht notwendig. Bei einer Installation im Cluster wird ein Domain User angelegt, um einen einheitlichen Zugriff (Zugriffsrechte) auf die Filter-Datenbanken zu gewährleisten. Bei der Installation auf einem einzelnen Server versucht der Installer, einen lokalen Benutzer einzurichten.
Mit Hilfe des Scripts "regevent.vbs" (Exchange SDK) können Sie die Registrierung des Filters im Exchange Store überprüfen.

Glossar der Registry-Werte

[HKEY_LOCAL_MACHINE\SOFTWARE\Spartacus]
"UseJunkMailFolder"="Junk-E-Mail" (""=Spambox (default), "Junk-E-Mail"=Junk-E-Mail folder, multiple names are separated by ";")
"ProfileIgnore"=dword:000000fa (0=no profile, 250=ignore profile after 250 Spam mails)
"DebugLevel"=dword:00000000 (0..3 see above)
"ProfilePath"="C:\\SpartacusDB\\profile.def" (alternative profile name)
"ProviderMode"=dword:00000000 (0=scan all user mails, 1=scan only user with existing dat file)
"UseWhiteList"=dword:00000000 (0=disable white list, 1=enable white list)
"AutoWhiteList"=dword:00000000 (0=disabled, 1=enable automatically creation of white lists)
"StatisticsPath"="C:\\SpartacusDB" (used by installer)
"InstallMode"=dword:00000001 (used by installer)
"EXDomain"="yourdomain.com" (used by installer)
"MailUser"="Administrator" (used by installer)

Hinweis: Nach Änderungen der Registry-Werte fahren Sie den Filter bitte wie folgt herunter und starten ihn neu:

  1. Starten Sie die Management Konsole für die Komponentendienste (Verwaltung - Komponentendienste).
  2. Wählen Sie unter COM+-Anwendungen "Spartacus Spam-Filter for Exchange" aus.
  3. Fahren Sie die Komponente herunter (Aktion - Herunterfahren) und starten diese erneut (Aktion - Starten).

Deinstallation des Filters

SpartacusFilter läßt sich einfach via Systemsteuerung->Software deinstallieren. Die angelegten Filter-Datenbanken der einzelnen Benutzer - bei einer Standardinstallation im Ordner C:\SpartacusDB\ - werden bei der Deinstallation nicht gelöscht.

Update der Filter-Engine

Separate Updates der Filter-Engine von SpartacusFilter werden nicht herausgegeben. Sie können neue Versionen des Filters (siehe Download-Seite) einfach über die alte Version installieren. Alle Einstellungen und die Datenbanken des Filters bleiben dabei natürlich erhalten.

Hinweis: Der Filter benötigt für den Betrieb keine regelmäßigen Updates, wie Black- und White-Lists, Wortlisten, etc.