frisch, frischer und mit noch weniger verpackung
Gönner? Blog: Flattr dieses Blog! — Autor: Flattr-Spende direkt an den Autor

Mailserver: Serverseitige Filterung

Heute habe ich den Tag damit verbracht, mich noch einmal über serverseitige Filterung für Email-Postfächer schlau zu machen. Ausgehend von meinem Bundle Postfix + Dovecot sollte es natürlich etwas sein, was sich sauber darin integrieren lässt. Das einfachste ist, Sieve zu benutzen, da es mit Dovecot (Ubuntu-Paket) ausgeliefert wird.

Mehr als die Hälfte der Zeit habe ich leider mit dämlicher Fehlersuche verbracht, dabei war –wie eigentlich immer– die Lösung so einfach. Ursache war eine Duplette in der Dovecot-Konfiguration. Interessanterweise wird sowas vom Dienst nicht selbst abgefangen, sondern bewirkt wohl letztendlich, dass Sieve gar nicht funktioniert.

Ausgangsbasis ist ein Gespann von Postfix, Dovecot und einer MySQL-Datenbank für die Verwaltung der virtuellen Konten (aufgrund von mehreren Domains und noch mehr dazugehörigen Emailkonten die beste und m. E. auch flexibelste, komfortabelste Variante).

Für jene, die ebenso eine solche Konfiguration nutzen, stelle ich hier kurz zusammen, was wo wie eingetragen werden sollte.

MTA Postfix

Postfix ist recht einfach, es bedarf nur einer zusätzlichen Zeile in der main.cf, damit Postfix weiß, die Mails zur Zustellung tatsächlich an Dovecot zu schicken. Nach Recherche habe ich festgestellt, dass man zwar bevorzugt die master.cf nutzen sollte, um entsprechende MDAs anzupipen, aber gerade in einer Virtual Mail-Umgebung soll sogar die Variante in der main.cf angeblich besser sein. Mir ist es egal, solange es auch funktioniert.

main.cf:

mailbox_command = /usr/lib/dovecot/deliver

Solltet ihr schon eine solche Zeile haben, nur mit einem anderen MDA als dovecot/deliver, dann überprüft vorher, warum das bei euch so ist und ob ihr dann nicht schon bereits einen Mailfilter installiert und konfiguriert habt (beispielsweise procmail oder maildrop).

MDA Dovecot

In Dovecot muss dann schon etwas mehr eingetragen werden, hierzu bearbeitet man einfach die dovecot.conf, ich gebe nachfolgend nur die entsprechend zu ändernden Abschnitte an.

dovecot.conf:

protocols imap imaps pop3 pop3s managesieve
# hinzugefügt wurde managesieve, die anderen Protokolle hängen von
# eurer Konfiguration ab
protocol managesieve {
 listen = localhost:2000
 sieve = /var/vmail/%d/%n/.dovecot.sieve
 sieve_storage = /var/vmail/%d/%n/sieve
}
protocol lda {
 [...]
 mail_plugins = cmusieve
 # ab Ubuntu 10.04 wird nur noch sieve genutzt;
 # ggf. können hier schon weitere Plugins eingetragen sein
 # postmaster_address muss vorhanden sein
 # Wichtig: hier KEINE Angaben zu sieve/sieve_storage/sieve_dir eintragen!!!
 [...]
}
plugin {
 sieve = /var/vmail/%d/%n/.dovecot.sieve
 sieve_dir = /var/vmail/%d/%n/sieve
}

Achtet bitte auf eure Pfade. Falls diese abweichen, weil eurer System die Mails an anderen Orten speichern will, dann müsst ihr dies auch auf die obige Konfiguration anpassen. Aber wer einen Mailserver eingerichtet hat, kennt ja diese Fallstricke bereits.

Filter Sieve

Kurz noch eine Anmerkung zur Nutzung: Um Sieve besser verwalten zu können, habe ich das Webmail-Interface SquirrelMail mit Plugin Avelsieve installiert.

Vorteil hierbei ist, dass man via Webmail die Filter leichter einrichten kann. Wie gewohnt von einem Mailclient kann man bei SquirrelMail nämlich oftmals per weniger Klicks und ggf. etwas Tippen leicht Filter verwalten ohne umständlich in einer Konsole hantieren zu müssen. SquirrelMail und auch das Plugin Avelsieve lassen sich recht einfach installieren und sollten keine Hürde darstellen (vorkonfigurierte Apache-Konfiguration wird beim Ubuntu-Paket mitgeliefert und kann an die eigenen Bedürfnisse angepasst werden, SquirrelMail selbst lässt sich dank Dialog-basiertem Konfig-Skript sehr gut einrichten).

Es gibt natürlich noch andere Filtersysteme wie maildrop, procmail, mailfilter und sicher noch so die eine oder andere Variante. Aber die meisten davon sind nicht so komfortabel zu nutzen. Andererseits scheint es mir, dass ich einen davon sicher noch brauchen werde, um Spamfilter zu setzen und Virenscanner über die Mails laufen zu lassen.

Hinweis zu managesieve in Dovecot: Dies braucht ihr, damit ihr überhaupt via SquirrelMail die Filter einstellen könnt, da dies über ein eigenes Protokoll abgewickelt wird und man keine Dateien via FTP/SSH hin und herschubsen muss. Sieve ist sogar via RFC spezifiziert, sprich: es gibt einen offiziellen Standard, was den Vorteil hat, dass es –theoretisch– überall funktionieren sollte, wo Sieve eingesetzt werden kann.

Sinn und Zweck

Klar, wer nur einen einzigen Mailclient nutzt, der kann auch auf den lokalen Filter vertrauen. Aber spätestens mit einem neuen oder weiteren Rechner beginnt der Stress. Filter sichern, Filter wieder einspielen, hoffen, dass das reibungslos klappt. Filter in einem anderen Client einrichten, da Programme nicht kompatibel. Oder gar keine Filter konfigurieren können, da z. B. die meisten Smartphone-Programme dies gar nicht eingebaut haben.

Ihr seht, es gibt gute Gründe, doch auf dem eigenen (Mail-)Server auch serverseitige Filterung zu nutzen. Zudem ist es auch möglich, Spam vorsortieren zu lassen, auf Viren zu scannen und und und … Ob das alles mit Sieve möglich ist, muss ich noch sehen, aber das bloße Filtern und Einsortieren in entsprechende Ordner gerade bei mehreren Mailinglisten ist doch eine wesentliche Erleichterung.

Dieser Artikel: — Blog: Flattr dieses Blog! — Autor: Flattr-Spende direkt an den Autor

asaaki (Christoph Grabo)

Jahrgang 1982, brandenburgischer Berliner, Netzkosmopolit, Bitwanderer

Schreibt hier über allerlei Dinge, die ihm einfallen und wo er glaubt, seinen Senf dazugeben zu müssen.
Nicht fundiert, wenig recherchiert, aber gewiss mit großer Klappe dabei!
Themenvielfalt von Internet, Web 2.0 und spätere Versionen, digitales Leben; Netzpolitik und manchmal auch Realpolitik & andere Horrormärchen; Gedanken, Ideen und sonstiger Seelenheil vernichtender Gedankenquark mit Kräutern & Pfeffer.

Meine Deutschlehrerin schrieb einmal unter einem Aufsatz: "Zu polemisch." — Das Leben allgemein betrachtet, denke ich, dass sie das wohl eher als Rat und Lob denn als Kritik meinte.

Lieblingszitat: Wenn ich was Blödes höre, denke ich einfach nicht hin …

Anderswo: twitter | facebook

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Schreib' mir!