imaps-proxy-mit-perdition
This is an old revision of the document!
Table of Contents
IMAPS Proxy mit Perdition
Ich hatte die Herausforderung, IMAP Mailboxen, die auf einem Server hinter der Firewall liegen und lokal bzw. über Webmail erreichbar waren auch nativ über IMAPS im Internet anzubieten. Ich sträubte mich gegen das stupide Port-Forwarding des IMAP Ports vom externen Interface der Firewall auf den Mailserver und entschied mich für den Einsatz eines IMAP Proxies – die Wahl fiel auf Perdition. Der Proxy rüstet auch die fehlende Verschlüsselung nach.
Ausgangslage:
- Courier-Imapd Version steinalt (Debian 3.2) Installation am Mailserver (172.16.1.9)
- Hinreichend aktuelle Debian Installation (6.0) auf dem DMZ-Host (192.168.1.7)
- ca 30 Mailboxen angelegt
- Self-Signed Certificate ausreichend
Folgendes Kochrezept brachte bei mir den Erfolg:
- Perdition-IMAP/POP3/Sieve-Proxy auf Proxy Host installieren
# aptitude install perdition
- Perdition einstweilen stoppen
# /etc/init.d/perdition stop
- Nicht benötigte Dienste deaktivieren, korrekte Library für Regular Expressions Mapping aktivieren:
# grep -v ^# /etc/default/perdition | grep -v ^$ RUN_PERDITION=yes POP3=no POP3_FLAGS= POP3S=no POP3S_FLAGS= IMAP4=no IMAP4_FLAGS= IMAP4S=yes IMAP4S_FLAGS="-M /usr/lib/libperditiondb_posix_regex.so.0" MANAGESIEVE=no MANAGESIEVE_FLAGS=
- Perdition dazu bringen, outgoing PLAIN IMAP zu sprechen – dazu in /etc/perdition/perdition.conf
ssl_mode ssl_listen
eintragen.
- Zertifikat erzeugen und installieren
# cd /tmp # openssl req -new -x509 -newkey rsa:2048 -nodes -out perdition.crt.pem -keyout perdition.key.pem -days 730 # mv perdition.*.pem /etc/perdition/
- Generische Mapping-Table erstellen (alle Mailboxen auf dem gleichen IMAP-Host):
# grep -v ^# /etc/perdition/popmap.re | grep -v ^$ .*: 172.16.1.9:143
- Firewall/NAT Rules anpassen/erstellen:
^ Source ^ Destination ^ Service ^ Action ^ |Internet(ANY)|Proxy (192.168.1.7)|imaps (tcp/993)|Allow| |Proxy (192.168.1.7)|Imap-Server (172.16.1.9)|imap (tcp/143)|Allow|
imaps-proxy-mit-perdition.1503310767.txt.gz · Last modified: 2017/08/21 12:19 by baumi