Both sides previous revisionPrevious revisionNext revision | Previous revision |
imaps-proxy-mit-perdition [2017/08/21 11:29] – baumi | imaps-proxy-mit-perdition [2017/08/22 08:22] (current) – baumi |
---|
| ~~META: |
| date created = 2012-12-29 18:38 |
| &date modified = 2012-12-29 18:38 |
| ~~ |
====== IMAPS Proxy mit Perdition ====== | ====== 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. | 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 [[http://horms.net/projects/perdition/|Perdition]]. Der Proxy rüstet auch die fehlende Verschlüsselung nach. |
| |
===== Ausgangslage: ===== | ===== Ausgangslage: ===== |
- Perdition dazu bringen, outgoing PLAIN IMAP zu sprechen – dazu in /etc/perdition/perdition.conf<code> | - Perdition dazu bringen, outgoing PLAIN IMAP zu sprechen – dazu in /etc/perdition/perdition.conf<code> |
ssl_mode ssl_listen | ssl_mode ssl_listen |
| </code>eintragen. |
| - Zertifikat erzeugen und installieren<code> |
| # 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/ |
</code> | </code> |
| - Generische Mapping-Table erstellen (alle Mailboxen auf dem gleichen IMAP-Host): <code> |
| # grep -v ^# /etc/perdition/popmap.re | grep -v ^$ |
| .*: 172.16.1.9:143</code> |
| - Kosmetik: Timing Problem beim Start von Perdition beheben – in /etc/init.d/perdition im IMAP4S Block zwischen “start-stop-daemon” und dem “if [ ! -e /var/run/perdition.imaps/perdition.imaps.pid ]; then” ein “sleep 2” einfügen – evtl. braucht start-stop-daemon zu lange um beim Start sein PID File zu erzeugen der ganze Block sieht dann so aus:<code> |
| if [ "$IMAP4S" = "yes" ]; then |
| start-stop-daemon --start --verbose \ |
| --pidfile /var/run/perdition.imaps/perdition.imaps.pid \ |
| --exec /usr/sbin/perdition.imaps -- $FLAGS $IMAP4S_FLAGS |
| sleep 2 |
| if [ ! -e /var/run/perdition.imaps/perdition.imaps.pid ]; then |
| echo "Unable to start IMAP4S Daemon (maybe another process is listening to the same port?)" |
| fi |
| fi</code> |
| - Perdition starten<code># /etc/init.d/perdition start |
| Starting /usr/sbin/perdition.imaps...</code> |
| ===== Abschließend ===== |
| |
| * Für mich hat es so funktioniert, gibt natürlich keine Gewährleistung, dass dieses Setup nicht eure Mailboxen frisst – Backups sind immer hilfreich. |
| * Perdition logged defaultmäßig in die Mail-Syslog-Facility – bei Debian Standard ohne Anpassungen also nach /var/log/mail.log |
| * Setzt man “debug” und “connection_logging” in der /etc/perdition/perdition.conf kann man Verbindungsfehlern reicht leicht auf die Spur kommen – Achtung: Es werden auch die Passwörter im Klartext mitgelogged – für Produktiveinsatz unbedingt wieder deaktivieren! |
| |
| {{tag>kb linux imap mailserver}} |