Open Source im professionellen Einsatz

© Alex-,photocase.com

Server-seitige Mailfilter mit Sieve

Ausgesiebt

E-Mails auf dem Server filtern befreit von überflüssigem Ballast: Die leistungsfähige Skriptsprache Sieve ist als RFC standardisiert. Unerwünschte Nachrichten mit Spam oder Viren können Sieve-Skripte automatisch löschen oder wegsperren, ohne den Maildienst damit zu belasten.

Moderne E-Mail-Clients gestatten es dem Benutzer, neue Nachrichten automatisch zu sortieren und beispielsweise Spam direkt beim Abholen zu löschen. Diese Client-seitigen Filterregeln haben jedoch ihre Tücken: Jede Filterregel des Mailprogramms verlängert die Zeitspanne, die es zum Abholen der Post benötigt, besonders die rechenintensiven Spam- und Virenchecks fallen hier negativ auf. Meldet sich dann der Benutzer mit einem Webmailer wie Squirrelmail an, stellt er enttäuscht fest, dass Spam und Viren-Mails, die Kontact, Evolution oder Outlook automatisch löschen, immer noch in seinem Posteingang auf dem IMAP-Server landen.

Wenn verschiedene Mailprogramme zum Einsatz kommen, müssen alle Regeln doppelt gepflegt und bei Migrationen mühselig von Hand zusammengeklickt werden, da die meisten Mailclients über keine Import/Export-Funktionen für Filterregeln verfügen.

Server-basierte Regeln

Besser ist es daher, die Regeln gleich auf dem Mailserver zu speichern und zentral zu verwalten. Proprietäre Groupwaresysteme wie Exchange oder Scalix bieten das schon länger, bei ihnen administriert der Benutzer die Regeln vom Mailclient oder vom Webfrontend aus.

Allerdings verwenden die kommerziellen Systeme proprietäre Lösungen für das Speichern der Regeln. Im besten Fall übernimmt bei einem Upgrade die neue Version die alten Regeln, aber bei einer Migration auf eine andere Groupware vergeht auch bei diesen Lösungen einige Zeit, bevor alle Filterregeln im neuen System eingetragen sind. Allein die Regeln auf dem Server zu speichern ist offenbar nur der halbe Weg.

Abhilfe schafft erst der offene und per RFC definierte Standard für die Server-seitige Filterung von E-Mail namens Sieve [1]. Frühe Versionen dieser Filtersprache wurden seit 1994 diskutiert, 1999 veröffentlichte die Carnegie Mellon University die Sieve-Implementation, die der Cyrus-POP/IMAP-Server als erster übernahm. Bereits im Jahre 2001 spezifizierte RFC 3028 dann "Sieve - A Mail Filtering Language" [2]. Die einheitliche Sprache für Filterregeln umfasst automatische Weiterleitung, Abwesenheitsnotizen und Sortieren von Nachrichten sowie zahlreiche Erweiterungen.

Cyrus IMAP und Sieve

Der in vielen Groupwaresystemen integrierte Cyrus-IMAP-Server bietet neben POP und IMAP auch den Dienst »timsieved« für die Remote-Administration von Filterregeln über das Managesieve-Protokoll [3]. Timsieved kommuniziert über das Local Mail Transfer Protocol (LMTP, [4]) mit den anderen Diensten von Cyrus und fungiert als Local Mail Delivery Agent, der die Mails nach den Sieve-Regeln in die Postfächer sortiert.

LMTP ist ein SMTP-ähnliches Protokoll für die lokale Kommunikation zwischen Mailservern und wurde speziell für Serverdienste entwickelt, die über keine eigene Warteschlange verfügen. Der Client kann dabei eine Nachricht nur übertragen, wenn der Server sie auch sofort vollständig zustellen kann.

Der Cyrus-Mailserver war lange der einzige Mailserver, der den Sieve-Standard unterstützte, erst kürzlich bekamen Citadel (Abbildung 1), Dovecot, DBMail, Exim und einige kommerzielle Mailserver entsprechende Erweiterungen. Da Cyrus bei zahlreichen Groupwareprojekten erste Wahl ist, unterstützen Hersteller wie Bynari, Zarafa, Openxchange und Kolab den freien Standard gerne und integrieren eigene Frontends für die Administration. Mit dem Openxchange Oxtender erstellt sogar Microsoft Outlook seine Filterregeln als Sieve-Skripte.

Abbildung 1: Viele Groupwareserver wie etwa Citadel unterstützen Sieve-Skripte und bieten umfangreiche Weboberflächen, mit denen die Benutzer Filterregeln anlegen und bearbeiten können.

Abbildung 1: Viele Groupwareserver wie etwa Citadel unterstützen Sieve-Skripte und bieten umfangreiche Weboberflächen, mit denen die Benutzer Filterregeln anlegen und bearbeiten können.

Andere Hersteller wie Scalix setzen in ihrer Entwicklung auf den freien Standard und arbeiten daran, die eigenen, proprietären Systeme zu ersetzen. Den freien Mailservern Courier und UW-IMAP fehlt aber derzeit offensichtlich eine Sieve-Implementation.

Abbildung 2: Mit dem KIO-Slave für Sieve kann jedes KDE-Programm Sieve-Skripte direkt auf dem Server öffnen. Konqueror zeigt die Skripte dabei wie ein lokales Dateisystem an.

Abbildung 2: Mit dem KIO-Slave für Sieve kann jedes KDE-Programm Sieve-Skripte direkt auf dem Server öffnen. Konqueror zeigt die Skripte dabei wie ein lokales Dateisystem an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6,5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook