IMAP Mailserver #

Neben dem EximMailServer, der für das versenden und interne einsortieren von Mails nötig ist, ist es oft auch interessant, von ausserhalb auf seine Mails zugreifen zu können. Der klassische Fall ist dabei ein POP-Postfach, das von einem Mail-Client (wie z.B. Mozilla oder KMail oder sogar Outlook) abgeholt wird.

Eine sehr interessante Alternative zu einem POP-Postfach stellt jedoch z.B. in einem lokalen Netzwerk IMAP dar. Beim Zugriff per IMAP verbleiben alle Mails auf dem Mailserver, d.h. im Postfach (bzw. in Unterordnern) des Accounts auf diesem Rechner. Der Client zeigt die Mails also nur an. Auf diese Art und Weise ist es möglich, von aussen mal (z.B. mit dem Laptop) in sein Postfach "reinzuschauen", ohne es direkt damit zu leeren. Wer in einem LAN öfters mal an einem anderen Rechner sitzt (oder sich z.B. von zu Hause per VPN ins Firmen-LAN einklinkt), hat von jedem Rechner aus die identischen Mail-Ordner.

Hier ist die Installation zweier verschiedener IMAP-Server beschrieben. Die Empfehlung der Redaktion (also von Thomas Bayen) ist der unten stehende Dovecot Server.

Installation des UW-IMAPD #

Eigentlich gibt es drei Schritte zu tun. Dabei gehe ich davon aus, daß wir nur verschlüsselte Verbindungen benutzen. Ich will meine Mails zwar von überall aus lesen, aber das heisst ja noch lange nicht, daß das auch für andere gilt... :-)

Grundinstallation #

Ich habe das Debian-Paket uw-imapd-ssl installiert. Ein normaler (unverschlüsselter) Zugriff per IMAP ist damit schon fertig. Voila!

Nun ist es jedoch sinnvoll, im Benutzerverzeichnis ein Unterverzeichnis Mail anzulegen. Dies sollte man dann auch dem Client mitteilen (beim Mozilla z.B. bei den Einstellungen des Mailservers unter "Erweitert" möglich). Dadurch vermeidet man, daß man alle Dateien im Heimatverzeichnis als Mailordner angezeigt bekommt.

Sichere Passwörter #

Nun sollte man eine Datei /etc/cram-md5.pw anlegen. In diese kommen (durch ein TAB) (bitte wirklich nur eins!) getrennt Usernamen und Passwörter hinein. Wenn diese Datei existiert, werden Passwörter nur noch verschlüsselt ausgetauscht. Benutzer, die hier nicht verzeichnet sind, erhalten auch keinen Zugang.

Sichere Datenübertragung #

Hierzu sollte man zuerstmal in /etc/inetd.conf die Services imap2 und imap3 auskommentieren. Es darf nur noch imaps benutzt werden. Dann kann man mit folgenden Schritten ein auf sich selbst ausgestelltes Server-Zertifikat erstellen, das z.B. ein Jahr gültig ist:

  root# openssl genrsa -out schluessel.pem 2048
  root# openssl req -new -x509 -key schluessel.pem -out zertifikat.pem -days 365
  root# cat schluessel.pem >/etc/ssl/certs/imapd.pem
  root# cat zertifikat.pem >>/etc/ssl/certs/imapd.pem
  root# chmod og-rwx /etc/ssl/certs/imapd.pem
  root# rm schluessel.pem zertifikat.pem 

Die Vorgehensweise ist grob so, dass zuerst ein privater RSA-Schlüssel erzeugt wird. Dann wird ein Zertifikat erstellt, dass ich selber signiere (eine Signatur durch eine "Certificate Authority" ist natürlich auch möglich, aber meist mit Kosten verbunden). Dann werden diese beiden in eine Datei geschrieben, wo der imapd sie sucht. Am Ende setze ich die Permissions so, dass nur root meinen privaten Schlüssel lesen kann und lösche die Dateien der Zwischenschritte.

Wichtig ist noch, daß man beim zweiten Schritt, wenn eigene Namens- und Adressdaten für das Zertifikat abgefragt werden, als "YOUR NAME" den DNS-Namen des Mailservers angibt. (Ist der Zertifikatsinhaber nicht gleich dem Mailserver, findet Mozilla das verdächtig und macht immer ein extra-Fenster auf, um darauf hinzuweisen).

Nun muss man noch im Mozilla in den Einstellungen zum Mailserver die verschlüsselte Verbindung einschalten (wodurch auch der Port verändert wird) und sollte damit auf seine Mails zugreifen können.

-- ThomasBayen

Installation des Dovecot IMAPD #

Eine Alternative zum uw-imapd ist Dovecot. Nach dem Marketing-Geschrei auf der Webseite ist dieser IMAP-Server schneller, stabiler, besser zu konfigurieren und überhaupt viel besser. Da ich nach Überfliegen der Seite vermute, er kann auch Kaffee kochen, habe ich ihm eine Chance gegeben (Um es vorwegzunehmen - er kann keinen Kaffee kochen, wahrscheinlich weil er nicht in Java geschrieben ist...).

Ich habe das Debian-Paket dovecot-imap installiert. Danach musste ich in die Datei /etc/dovecot/dovecot.conf die Zeile mit den unterstützten Protokollen ausfüllen:

  protocols = imap

Das war's für den Anfang. Nun kann ich mich von einem fernen Client aus per IMAP unter meinem Unix-Benutzernamen und meinem Unix-Passwort einloggen.

Sicherheit #

Im Moment benutzen wir jedoch nur Plain-Passwörter und das über eine unverschlüsselte Verbindung. Zu allem Überfluss handelt es sich auch noch um unser Login-Passwort, dass wir da so freizügig auf der Leitung feilbieten. Also muss etwas mehr Sicherheit her:

  protocols = imaps

Nun kann man seinen Client auf SSL-Verschlüsselung stellen. Dabei stellt sich der Port normalerweise automatisch von 143 (unverschlüsseltes IMAP) auf 993 (IMAP per SSL) um. Ein entsprechendes selbstunterzeichnetes Zertifikat hat das Devcot Debian-Paket bei seiner Installation bereits erstellt. D.h. man braucht nur Devcot neu starten und loslegen.

Eine weitere Option zur Verbesserung der Sicherheit wäre eventuell, auch den Authentifizierungsmechanismus durch verschlüsselte Passwörter zu ersetzen. Da die unverschlüsselten Passwörter bei der "plain"-Verschlüsselung jetzt jedoch über eine verschlüsselte SSL-Verbindung laufen, besteht hier jedoch keine Gefahr. Wer will, findet hierzu jedoch auch sehr gute Dokumentation im Dovecot-Wiki.

Fazit #

Dovecot ist einfach zu installieren. SSL installiert sich im Debian-Paket quasi von alleine. Außerdem kann eine Menge mehr konfiguriert werden. So kommen alle Mailordner z.B. standardmäßig in ein Unterverzeichnis "mail" des Homeverzeichnisses, ohne daß man den Client hierzu besonders konfigurieren muss. Das habe ich bei uw-imap ewig vermisst. Von daher ist Dovecot mein neuer Favorit, den ich ab jetzt im Einsatz testen werde. Sollten irgendwelche Probleme auftauchen, werde ich wie immer hier davon berichten. -- ThomasBayen

Weitere IMAP Implementierungen#

Tags:  EMail, ServerDienste

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-9) was last changed on 30-Mar-2009 23:07 by Peter Hormanns