!!!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|http://dovecot.org].
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|http://wiki.dovecot.org].

!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

*[http://www.bincimap.org/] - Speichert E-Mail im Maildir-Format
*[http://dbmail.org/] - Speichert E-Mail in Postgres oder MySQL Datenbanken
*[http://www.decimail.org/] - Ebenfalls Postgres als Speicher, virtuelle Ordner über SQL-Queries
*[CourierIMAP] - weit verbreiteter IMAP Server mit Ordnern im Maildir-Format

!!Links 

*[http://www.openssl.org] - Informationen zur Verschlüsselung per SSL, Certifikaten, etc.

[{Tag EMail ServerDienste}]