Aus Linux-Magazin 03/2011

Drei Web-GUIs für die Benutzerverwaltung von Mailservern

© Sergey Yakovlev, 123RF.com

Die Konfiguration des eigenen Mailservers erledigt der Admin meist im Klartext der Konfigurationsdateien. Mit Web-GUIs für Postfix-SMTP- und Dovecot-IMAP-Server geht das jedoch auch komfortabler. Dieser Artikel beschreibt drei umfangreiche Tools zur Mailserververwaltung: Webmin, Postfixadmin und Vboxadm.

Grundsätzlich spricht nichts dagegen, den eigenen Mailserver auf Basis der Useraccounts in »/etc/passwd« aufzubauen, andererseits stößt diese Variante schnell an Grenzen: In Setups mit mehreren Domains oder vielen User-spezifischen Einstellungen wie Quotas und Weiterleitungen kommen zahlreiche verschiedene Informationen zusammen, die konsistent verwaltet sein wollen.

Spätestens dann, wenn der Admin den Usern auch die Möglichkeit geben will, Einstellungen selbst vorzunehmen, ist klar: Ein GUI muss her, das alles regelt. Das Linux-Magazin hat drei freien Projekten auf den Zahn gefühlt: dem Klassiker Webmin [1], dem bewährten Postfixadmin [2] und dem Newcomer Vboxadm [3].

Webmin

Webmin ist zwar in den letzten Jahren etwas in Vergessenheit geraten, aber dennoch der Klassiker unter den freien Tools zur Systemkonfiguration geblieben. Unzählige Rootserver-Admins haben damit ihre ersten Konfigurationen unternommen, Module für Mailserver sind seit Langem dabei, auch für Postfix und Dovecot. Webmins Installation ist dank der RPM- und Deb-Files schnell erledigt. Die Pakete erkennen selbst, auf welcher Plattform sie laufen sollen, und passen sich gut ein. Webmin arbeitet über einen eingebauten Webserver auf Port 10000, das macht Anpassungen an vorhandene Diensten nicht notwendig.

Nach wenigen Sekunden gelingt der Login mit Root-Kennung und -Passwort auf »http://host.example.org:10000« . Spätestens nach der ersten Anmeldung sollten Anwender in weniger vertrauensvollen Netzen den Login auf HTTPS umstellen, was inklusive eines eigenen Zertifikats in wenigen Schritten ebenfalls im GUI machbar ist. In Sachen Installation verdient das Webmin-Team damit auf jeden Fall das Prädikat “vorbildlich”.

Auch der erste Blick auf das Webmin-Modul unter »Server | Postfix-Konfiguration« verspricht das Paradies auf Erden (Abbildung 1). Aber die Ernüchterung folgt schnell: Hinter den vielen bunten Rubriken verbergen sich unzählige, ziemlich unübersichtliche und vor allem auch unaufbereitete Postfix-Parameter. Eine eigene Logik zur Konfiguration? Fehlanzeige. Webmin ist hier nicht mehr als ein Art grafischer Texteditor, der für jeden möglichen Parameter kurzerhand ein HTML-Eingabefeld darstellt.

Abbildung 1: Auf den ersten Blick scheint es nichts zu geben, was Webmin nicht kann. Für Mailserver wie Sendmail, Postfix, Courier, Cyrus und Dovecot gibt es eigene Module.

Abbildung 1: Auf den ersten Blick scheint es nichts zu geben, was Webmin nicht kann. Für Mailserver wie Sendmail, Postfix, Courier, Cyrus und Dovecot gibt es eigene Module.

Ob der Anwender nun direkt in »main.cf« schreibt oder das Ganze per Formular unter Webmin einträgt, macht am Ende keinen großen Unterschied. Die grafische Aufbereitung scheitert an der Flut der Parameter (Abbildung 2). Das liegt vor allem daran, dass das Webmin-Team einfach alles editierbar gemacht hat – offenbar ohne jegliches Gefühl für dessen Bedeutung. Was es bringen soll, die Versionsnummer von Postfix im GUI einstellen zu können, weiß wohl nur das Webmin-Team. Ein Versionsupgrade erreicht der Admin dadurch sicher nicht.

Abbildung 2: Doch der Klick in die Untermenüs offenbart bei Webmin das Chaos. Allzu gut gemeint ist die Absicht der Autoren, jedes noch so kleine Detail per Webfrontend konfigurierbar zu machen.

Abbildung 2: Doch der Klick in die Untermenüs offenbart bei Webmin das Chaos. Allzu gut gemeint ist die Absicht der Autoren, jedes noch so kleine Detail per Webfrontend konfigurierbar zu machen.

Virtuelle User – Fehlanzeige

Doch gerade die im Alltag des Mailserver-Admin wichtige Verwaltung virtueller Domains und Postfächer sowie der Routingtabellen bietet Webmin nicht. Es beschränkt sich auf die Annahme, dass die Benutzer allesamt als Systemuser in »/etc/passwd« eingetragen sind und ein Homeverzeichnis unter ihrer eigenen User-ID haben.

Eigene Datenbanken zur Verwaltung von Mailadressen, Passwörtern oder Quotas sind aus Sicht von Webmin wohl überflüssig – sie fehlen. Das Höchste der Gefühle in Sachen Weiterleitung ist ein kleines Frontend für Einträge in »/etc/aliases« , doch schon die mächtigen Möglichkeiten der »$virtual_alias_maps« von Postfix bleiben ungenutzt.

Im Dovecot-Modul von Webmin wird der Admin ebenso wenig fündig: Der Bereich »Userverwaltung« präsentiert ihm erneut ein ziemlich krudes GUI (Abbildung 3). Hier darf er beispielsweise die Pfade zu MySQL- oder LDAP-Konfigurationsdateien von Dovecot eintragen – doch schon den Inhalt dieser Dateien muss er wie gehabt von Hand pflegen. Nichts, was der geneigte Admin nicht besser gleich an der Textkonsole selbst erledigt hätte.

Abbildung 3: Auch das Dovecot-Modul von Webmin macht auf halber Strecke halt. Richtig konfigurieren lässt sich der IMAP-Server damit nicht, virtuelle User und Daemons kann Webmin nicht einstellen.

Abbildung 3: Auch das Dovecot-Modul von Webmin macht auf halber Strecke halt. Richtig konfigurieren lässt sich der IMAP-Server damit nicht, virtuelle User und Daemons kann Webmin nicht einstellen.

Eigene, aufeinander abgestimmte Datenbankschemata oder eine Userverwaltung mit Mail-typischen Funktionen fehlen. Bei einem über Jahre hinweg gereiften Veteranen überrascht das, hier hatten die Tester mehr erwartet.

Postfixadmin

Das nächste Tool, Postfixadmin, ist weder Veteran noch Newcomer, sondern ein Projekt im besten Lebensalter. Nach einigen Jahren Entwicklungsarbeit hat es mit Version 2.3.2 auch einen soliden Stand erreicht [2].

Die Installationsarbeit für Postfixadmin folgt den klassischen, auf LAMP-Systemen üblichen Schritten: Nachdem das Installationsarchiv entpackt und in den Dateibereich des Webservers entpackt ist, braucht es noch die MySQL-Zugangsdaten und eine leere Datenbank entsprechend der Anleitung in »INSTALL.TXT« und dazu passende Einträge in der sehr gut dokumentierten Konfigurationsdatei »config.php« .

Ein Blick über alle Einstellmöglichkeiten in »config.php« zeugt von sehr ordentlicher und gereifter Arbeit: Einstellungen zu Quotas, der Art der Passwortspeicherung, zum automatischen Generieren der Speicherpfade der E-Mails, zum Einbinden der Domainverwaltung in Postfix und viele andere kleine Details lassen auf eine mächtige, aber trotzdem durchaus flexible Lösung hoffen.

Bevor es losgeht, sollte der Server aber noch den Selbstcheck unter der URL »http://host.example.org/postfixadmin/setup.php« bestehen (Abbildung 4). Der zeigt beispielsweise auch fehlende Abhängigkeiten zu benötigten PHP-Modulen auf, die der Admin nachinstallieren muss. Anschließend richtet sich Postfixadmin seine MySQL-Tabellenstruktur ein und legt Username und Passwort des Adminzugangs zum Web-GUI fest.

Abbildung 4: Ist der Selbsttest erfolgreich, kann der Admin den Super-User anlegen.

Abbildung 4: Ist der Selbsttest erfolgreich, kann der Admin den Super-User anlegen.

Heimelig, übersichtlich und durchschaubar

Nach dem ersten Login fühlt sich der Anwender schnell heimisch (Abbildung  5). Das GUI ist übersichtlich und sofort durchschaubar, aber im Detail durchaus mächtig: So lässt sich beim Anlegen einer neuen Domain sofort abfragen, wie viele Aliase oder Postfächer erlaubt sind beziehungsweise welche Quota-Einstellungen gelten. Das macht das Tool interessant für Reseller, die darüber verschiedene Preispakete schnüren.

Abbildung 5: Bei Postfixadmin hat der Administrator alle Details einer Domain im Blick.

Abbildung 5: Bei Postfixadmin hat der Administrator alle Details einer Domain im Blick.

Es erscheint nur logisch, dass es auch Adminzugänge in ihren Rechten auf ihnen zugeordnete Domains beschränken kann, sodass Unter-Admins ihre Bereiche selbst verwalten. Auch End-User greifen auf Postfixadmin zu – sie sehen dann jeweils nur die für sie geltenden Optionen, beispielsweise für das Einrichten von »vacation« -Autorespondern oder zum Ändern ihres Passworts.

Nette Addons

Zu den weiteren herausragenden Fähigkeiten von Postfixadmin gehört das Einrichten externer Accounts mit POP3-/IMAP-Abrufen via Fetchmail samt verschiedenen Verhaltensoptionen. Auch das kleine Admintool, mit dem sich schnell eine Rundmail direkt aus dem GUI versenden lässt, überzeugt, ebenso das detaillierte Protokoll über alle Änderungen an den Userdaten (Abbildung  6).

Abbildung 6: Wer hat wann was geändert? GUIs wie Postfixadmin oder Vboxadm protokollieren sauber mit.

Abbildung 6: Wer hat wann was geändert? GUIs wie Postfixadmin oder Vboxadm protokollieren sauber mit.

Auch beim Blick hinter die Kulissen des GUI zeigen der Entwickler Christian Boltz und seine Kollegen, dass sie Postfix verstanden haben: Anders als in vielen sonstigen Howtos beschrieben, ist in seiner Anleitung die Integration der Domains und des Mailroutings in Postfix fachlich korrekt empfohlen. Das ist nicht selbstverständlich, denn viele – auch kommerzielle – Anbieter tragen ihre Domains entgegen der Postfix-Logik als »$mydestination« ein. Das funktioniert zwar irgendwie, führt aber zu verschiedenen Komplikationen und offenbart fehlendes Postfix-Verständnis.

Boltz geht hingegen einen sauberen Weg über Einträge in »$virtual_domains« , auch wenn mit Blick auf den LMTP-Socket von Dovecot der Weg über »$relay_domains« flexibler und erstrebenswerter wäre. Doch das sind nach Einschätzung des Autors des Linux-Magazin eher Kleinigkeiten, die sich in künftigen Versionen noch ändern lassen.

Vollständig: IMAP mit Dovecot

Doch SMTP mit Postfix stellt nur eine Hälfte eines modernen Mailservers dar. Abrufe über POP3 oder IMAP bedient häufig Dovecot [4]. Auch hier zeigt Boltz in seiner Dokumentation die richtige Einbindung, sodass nach wenigen Konfigurationsarbeiten alle User per POP3 oder IMAP ihre Mails abrufen und Dovecot die Quota-Einstellungen beachtet.

Postfixadmin ist, anders als etwa Webmin, kein Verwaltungs-GUI, das die grundlegende Konfiguration von Softwarekomponenten wie Postfix oder Dovecot übernimmt. SSL-Zertifikate, IP-Adressen, Rate-Limits oder die richtigen Restrictions müssen Admins damit weiterhin als Root per Hand (oder via Webmin) konfigurieren – entsprechendes Fachwissen muss sich der Administrator woanders holen, zum Beispiel auf [5].

Doch das sind in der Regel einmalige Arbeiten, die er später kaum korrigieren muss. Steht das Grundsystem erst einmal, übernimmt Postfixadmin aber mit seiner Userverwaltung alle Arbeiten im Alltag, inklusive des optionalen Delegierens an Dritte.

Vboxadm

Dass sich Vboxadm [3] an Postfixadmin orientiert hat, sieht der Anwender auf den ersten Blick (Abbildung  7). Auch Farbe und Design von Logo, Menüs und Webseite beruhen ganz offensichtlich auf den gleichen CSS-Definitionen. Das zugehörige Blog beschreibt dies auch unumwunden, das ist auf Basis der GPL auch durchaus zulässig.

Abbildung 7: Vboxadm oder Postfixadmin? Das Webdesign beider Projekte ist fast identisch.

Abbildung 7: Vboxadm oder Postfixadmin? Das Webdesign beider Projekte ist fast identisch.

Auch Vboxadm hat mit Dominik Schulz einen deutschen Maintainer, doch geht dieser einen ganz anderen Weg als seine Kollegen: Statt auf PHP und LAMP setzt Schulz ganz auf Perl und eine Einbindung als CGI-Modul. Dessen Code ist nach gerade sechs Wochen offizieller Existenz mit der Version 0.2.23 noch in einem sehr frühen Alphastadium. Doch die Feature-Liste liest sich bereits so umfangreich, dass eine genauere Betrachtung lohnt, auch wenn der Autor selbst noch vom produktiven Einsatz abrät.

Zunächst stellt sich die Installation von Vboxadm als recht steiniger Weg dar, zumindest wenn ein Admin nicht auf das Debian-Repository des Autors zurückgreifen kann.

Jung und wild

RPM-Pakete gibt es noch nicht, auf anderen Distributionen wie Open Suse bleibt nur, das Installationsarchiv herunterzuladen, auszupacken und manuell zu installieren. Das klassische »make install« lädt das Makefile und lässt hoffen. Doch nun beginnt eine wahre Odyssee durch die Abhängigkeiten zu zahlreichen, mitunter recht exotischen Perl-Modulen. Viele davon sind zwar in den Standard-Installationsquellen von Open Suse vorhanden, einige Pakete wie »perl-config-std« lassen sich auch bequem über weitere Online-Repositories von [software.opensuse.org] zusammensuchen.

Dennoch bleiben am Ende zahlreiche Perl-Module wie etwa DBIx::DBH und ein ganzes Set von Paketen unter CGI::Application::Plugin offen, die mangels vorhandener RPMs allesamt einzeln über CPAN nachinstalliert sein wollen und ihrerseits weitere Abhängigkeiten nach sich ziehen. Ein mühsames und langwieriges Trial-and-Error-Spiel ist die Folge, das hoffentlich irgendwann durch die Bereitstellung von fertigen RPM-Paketen auf [download.opensuse.org] sein Ende findet, wenn Vboxadm weiterhin wächst.

Dieser Umstand ist zwar unschön, aber dem Programmautor angesichts des frühen Entwicklungsstadiums ist nicht anzulasten. Als Entschuldigung mag gelten, dass die Probleme ja auch eine Frage der schlechten Verfügbarkeit von Perl-Modulen unter Open Suse im Allgemeinen sind. Insgesamt ist die Installation unter Suse auf jeden Fall noch sehr schwierig und kein Vergnügen.

Einfacher mit Debian

Unter Debian setzt das Tool offiziell Squeeze voraus, doch hat der Programmautor fehlende Perl-Pakete kurzerhand nach Lenny zurückportiert, sodass eine Installation unter dem derzeit offiziellen »stable« -Zweig von Debian möglich ist. Der Punkt zur einfachen Installation geht hier also ganz klar an Debian: Wer kurzerhand, wie auf den Webseiten beschrieben, das Repository des Autors einbindet, installiert Vboxadm ganz einfach über Aptitude.

Genau wie Postfixadmin ist Vboxadm nicht für die grundlegende Konfiguration von Postfix oder Dovecot zuständig, sondern dient der Userverwaltung im laufenden Betrieb. Die vollständige Installation besteht aus vielen kleinen Anpassungen der SMTP- und IMAP-Konfigurationen. Hier hilft das umfangreiche Howto des Autors unter [6]. Dort beschreibt er alle notwendigen Downloadschritte und die Installation der Datenbank.

Statt der in diesem Howto beschrieben zahlreichen einzelnen Arbeitsschritte zur Einrichtung der MySQL-DBs greift der Anwender aber besser auf den bereitgestellten Dump in »/usr/share/doc/vboxadm-common/examples/mysql/schema.sql« zurück, der alle Schritte in einem Durchgang erledigt. Anschließend muss er die Zugangsdaten zur MySQL-Datenbank noch in »/etc/vboxadm/vboxadm.conf« hinterlegen.

Lieber Lighthttp als Apache 2

Auch wenn Vboxadm sowohl mit Lighthttp [7] als auch Apache 2 zusammenspielt, merkt der Tester schnell, dass der Autor Lighthttp bevorzugt: In den Konfigurationstemplates zu Apache sind hier und da Dateipfade falsch, die der erfahrene Webmaster aber schnell zu korrigieren weiß. Beim Einrichten der Webserver sollte er darauf achten, dass die von Vboxadm für Lighthttp und Apache 2 bereitgestellten Konfigurationen stets von einem Hostnamen ausgehen, der mit »vboxadm« beginnt. Wer das anders braucht, muss selbst Hand an die Konfigurationsdateien legen.

Nach dem Einrichten eines Superadmin durch den Aufruf von »/usr/share/doc/vboxadm-common/examples/mkadmin.pl –username test@example.org« steht dem Login in das Web-GUI nichts mehr im Wege. Und dies macht einen sehr vertrauten Eindruck: Vboxadm implementiert genau wie Postfixadmin eine sauber benutzbare Verwaltung von Domains, Postfächern und Weiterleitungen. Beide Projekte unterscheiden sich nur in kleinen Details.

Perl statt PHP

Die Vaterschaft von Postfixadmin ist nicht zu übersehen, sodass sich die Frage stellt, wieso die Welt Vboxadm überhaupt benötigt. Auf diese Frage des Linux-Magazins benennt Vboxadm-Autor Dominik Schulz seine Unzufriedenheit über das in seinen Augen unübersichtliche und duplizierende Datenbanklayout von Postfixadmin, das er für seine eigenen Erweiterungen als ungeeignet empfand. Zudem habe er Sicherheitsbedenken bezüglich des PHP-Code von Postfixadmin und würde daher lieber seiner eigenen Perl-Entwicklung trauen.

Doch unabhängig davon ist Vboxadm mehr als nur ein Verwaltungs-GUI, das Projekt bringt auch noch einige weitere, eigene Programme mit.

Antispam mit Vbox-sa und Spamassassin

Mit »vbox-sa« steht zum Beispiel ein eigener SMTP-Proxy zum Anbinden von Spamassassin an Postfix zur Verfügung (Abbildung 8). Er soll den sehr oft eingesetzten und mächtigen Amavisd-new ersetzen, ist aber im Funktionsumfang vergleichsweise schmalbrüstig. Vbox-sa führt lediglich eine Spam-Prüfung mit Spamassassin durch und ist, anders als Amavis, für den Einsatz als DKIM-Signierer oder zum Einbinden eines Virenscanners nicht vorgesehen.

Abbildung 8: Integriert Spamassassin: Vboxadm regelt bei Bedarf auch Spam-Score und Auto-Responder für jeden User individuell.

Abbildung 8: Integriert Spamassassin: Vboxadm regelt bei Bedarf auch Spam-Score und Auto-Responder für jeden User individuell.

Ob der Admin Vbox-sa nun Amavisd-new vorziehen soll, stellt sich als Frage der Anforderungen im Einzelfall. Den großen Vorteil von Vbox-sa sieht Schulz in der Tatsache, dass dieser natürlich die Vboxadm-eigenen MySQL-Tabellen abfragt und sich so viel einfacher als Amavis an die Userverwaltung anflanscht. Zudem kann der Admin hier die maximale Größe einer E-Mail für jeden User individuell festgelegen. Das mag kein Killer-Feature sein, ist aber für Unternehmen oder ISPs mit unterschiedlichen Postfach-Angeboten sicher interessant, weil es nicht zu den üblichen Standards gehört.

Pluspunkte sammelt Vboxadm durch seinen eigenen, übers Vboxadm-Datenbankschema gesteuerten Vacation-Responder sowie ein Plugin für den beliebten Webmailer Roundcube ([8], Abbildung  9) Damit darf jeder User bequem seine Einstellungen zu Passwort, Abwesenheits-Responder oder zu seinem Spam-Score selbst steuern, ohne sich in das eigentliche Vboxadm-GUI einzuloggen.

Abbildung 9: Vboxadm ist für normale Roundcube-User transparent. Sie greifen einfach auf einen extra Menü-Eintrag im Webmailer zurück.

Abbildung 9: Vboxadm ist für normale Roundcube-User transparent. Sie greifen einfach auf einen extra Menü-Eintrag im Webmailer zurück.

Fazit

Die Installationsdokumentation und der Programmcode von Vboxadm sind tatsächlich noch in einem Alphastatus. Dass das Projekt für den produktiven Einsatz noch Zeit und Reife braucht, ist aber kaum dem Autor anzulasten. Hier und da treten noch kleinere Bugs auf, doch für weniger als drei Monate Entwicklungszeit ist das Projekt schon erstaunlich umfangreich und es funktioniert. Die Integration mit Roundcube kommt dem Anwender entgegen.

Postfixadmin punktet durch seine Stabilität, die aus der langjährigen Reife und Praxiserfahrung der Entwickler resultiert. Das merkt der Admin am fehlerfreiem Code, einer etwas netteren Darstellung der Domainkonfigurationen und wichtigen Details wie einem Mechanismus zum Backup der Konfiguration oder einer besseren Rechteverwaltung, mit der auch Unter-Admins beliebige Domains zur eigenen Konfiguration erhalten.

Webmin dagegen stellt eher das grafische Tool für die initiale Einrichtung des Mailservers dar. Wer seine Konfigurationsdateien lieber von Hand editiert, braucht es eigentlich nicht und verrichtet seine tägliche Arbeit besser mit den anderen beiden Tools.

Infos

  1. Webmin: http://www.webmin.com
  2. Postfixadmin: http://postfixadmin.sourceforge.net
  3. Vboxadm: http://developer.gauner.org/vboxadm
  4. Peer Heinlein, “Senkrechtstarter”: Linux-Magazin 09/10, S. 66
  5. “Postfix-Buch”: http://www.postfixbuch.de
  6. Ispmail-Vboxadm-Squeeze: http://developer.gauner.org/ispmail-vboxadm-squeeze
  7. Oliver Frommel, “Leichtgewichte”, Linux-Magazin 07/07, S. 82
  8. Roundcube: http://roundcube.net

Der Autor

Peer Heinlein stellt mit seinem Unternehmen “Heinlein Support” die Verfügbarkeit und den Support geschäftskritischer Linux-Infrastrukturen sicher.

Er selbst ist seit 1992 auf Maildienste spezialisiert, hat das “Postfix-Buch” geschrieben und ist für die Mailserver, Archivierung sowie Spam- und Virenabwehr vieler ISPs, großer Rechenzentren und Unternehmen verantwortlich. Im Mai 2011 lädt er wieder zur Mailserver-Konferenz nach Berlin ein.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben