MailEnable per SSL-Tunnel absichern

Vielen Administratoren wird sicher im Zuge der Installation eines SSL-Zertifikates auf ihrem Webserver der Gedanke gekommen sein, dass sie dieses auch direkt für die Kommunikation mit dem Mailserver einsetzen könnten, denn schließlich ist heutzutage die Nutzung von IMAPS, SMTPS und POP3S schon fast eine Selbstverständlichkeit geworden.

Umso erstaunlich ist dann meist die Reaktion, wenn diese feststellen, dass die Basisversion des MailEnable-Mailservers (welcher fester Bestandteil der Plesk for Windows Installationspakete ist) gar kein SSL unterstützt. Natürlich gäbe es in diesem Fall dann die Möglichkeit ein kostenpflichtiges Upgrade auf die MailEnable Professional Lizenz durchführen, dies ist aber gerade für kleinere Anwender aufgrund des doch recht sportlichen Preises oftmals alles andere als verhältnismäßig.

Zwar hat der MailEnable-Hersteller inzwischen nachgelegt und in der neuesten Versionen auch der Standard-Lizenz entsprechenden SSL-Support verpasst, diese wird aber aktuell lediglich in Kombination mit der neuesten Plesk-Version (Plesk Onyx) ausgeliefert, welche vermutlich noch die wenigsten Administratoren produktiv einsetzen.

In einem solchen Fall bietet sich als Workaround die Installation eines sog. SSL-Tunnels an. Dies ist ein kleiner Dienst, welcher sich in die Kommunikation zwischen Außenwelt und dem Mailserver einklinkt. Interessanterweise hatte Plesk in früheren Versionen einen solchen Dienst bereits standardmäßig mit an Bord (bezeichnet als „Plesk SSL-Wrapper“). Dieser wurde aber kurioserweise mit einem späteren Update ohne weitere Erwähnung im Changelog still und heimlich entfernt – ein Schelm, wer böses dabei denkt.

Wie funktioniert ein SSL-Tunnel?

Ein SSL-Tunnel nimmt von außen SSL-verschlüsselte Verbindungen über IMAPS (Port 993), SMTPS (Port 465) und POP3S (Port 995) entgegen und reicht diese einfach lokal an den Mailserver über Port 143 (IMAP), Port 25 (SMPT) und Port 110 (POP3) weiter. Für den Mailserver ist dies somit komplett transparent, denn er kommuniziert weiterhin unverschlüsselt. Durch den SSL-Tunnel wird diese Kommunikation aber nach außen im Prinzip durch einen verschlüsselten SSL-Kanal geschleust.

Die Funktionsweise eines SSL-Tunnels

Die Mailserver-Kommunikation mit und ohne SSL-Tunnel im Vergleich

Wie richte ich den SSL-Tunnel ein?

Schritt 1:

Laden Sie die aktuelle Version der stunnel-Software über die Webseite https://www.stunnel.org herunter und installieren Sie diese auf Ihrem Server. Im Installationsdialog können Sie problemlos die Standardoptionen wählen.

Schritt 2:

Platzieren Sie Ihr SSL-Zertifikat im *.pem-Format im Konfigurationsverzeichnis (Standard-Pfad: C:\Program Files (x86)\stunnel\config). Sofern Sie Plesk einsetzen können Sie eine passende *.pem-Version Ihres SSL-Zertifikats direkt aus der Zertifikatsverwaltung herunterladen.

Schritt 3:

3. Passen Sie die Konfiguration der stunnel-Applikation Ihren Bedürfnissen an (Standard-Pfad: C:\Program Files (x86)\stunnel\config\stunnel.conf). Relevant ist hier insbesondere in der Sektion „TLS server mode services“ der Parameter „cert„. Dieser teilt Ihrem stunnel-Dienst mit, welches Zertifikat für die Verschlüsselung überhaupt eingesetzt werden soll. Entsprechend verweisen Sie hier dann auf die oben genannte *.pem-Zertifikatsdatei.

Beispielkonfiguration:

[pop3s]
 accept  = 995
 connect = 110
 cert = ihr-Zertifikat.pem

[imaps]
 accept  = 993
 connect = 143
 cert = ihr-Zertifikat.pem

[ssmtp]
 accept  = 465
 connect = 25
 cert = ihr-Zertifikat.pem

Schritt 4:

Löschen Sie die durch stunnel standardmäßig angelegten Regeln in der Windows-Firewall und legen Sie passende eigene Regeln für die gewünschten Dienste an, üblicherweise sind dies im Falle des Mailservers: 465 TCP für SMTPS // 993 TCP für IMAPS // 995 TCP für POP3S. Die Freigabe müssen Sie für die stunnel.exe-Datei erteilen (Standardpfad: C:\Program Files (x86)\stunnel\bin\stunnel.exe).

Schritt 5:

Richten Sie – damit die Installation rebootfest wird – stunnel als Systemdienst ein. Öffnen Sie dazu die Kommandozeile (Startbutton -> cmd.exe), navigieren Sie in das Verzeichnis der stunnel.exe (üblicherweise mit dem Befehl: cd C:\Program Files (x86)\stunnel\bin) und geben Sie dort den folgenden Befehl ein: stunnel -install Anschließend sollten Sie die Windows Diensteverwaltung öffnen (Startbutton -> services.msc). Suchen Sie dort den Dienst „Stunnel SSL wrapper“ und passen Sie diesen so an, dass der Starttyp auf „automatisch“ steht.

Was stelle ich danach in meinem Mailclient ein?

Dies variiert ein wenig, je nach Mailclient. Sofern der SSL-Tunnel nach obiger Anleitung installiert wurde wäre folgende Einstellung korrekt (hier am Beispiel des Mozilla Thunderbird):

Beispielkonfiguration eines Thunderbird-Mailclients

Beispielkonfiguration eines Thunderbird-Mailclients

Wichtiger Sicherheitshinweis!

Manche Administratoren erlauben den lokalen Verbindungsaufbau zum eigenen SMTP-Server ohne Authentifizierung. Dies bedeutet, dass Applikationen, welche direkt auf Ihrem Server laufen, Mails über den Mailserver versenden dürfen ohne sich bei diesem zuvor mit Benutzername und Passwort authentifizieren zu müssen. Dies geschieht üblicherweise entweder über die Whitelist in Plesk (zu finden in den globalen Mailservereinstellungen Plesks) oder direkt über die entsprechende Option in der MailEnable Administrationsoberfläche (Connectors -> Eigenschaften von SMTP -> Relay -> „Allow relay for privileged IP ranges“), bei der dann die localhost-IP (127.0.0.1) hinterlegt wird.

Aufgrund der oben beschriebenen Funktionsweise des SSL-Tunnel sieht eine vom stunnel-Dienst an den Mailserver durchgereichte Verbindung für diesen wie eine lokale Verbindung auf (klar, denn der stunnel-Dienst läuft ja auch lokal auf dem System und ist im Prinzip die Instanz, welche direkt mit dem Mailserver spricht). In Kombination mit der Freigabe der lokalen IP hätte dies katastrophalerweise aber zur Folge, dass von außen Jedermann Mails über Ihren Mailserver ohne Authentifizierung verschicken und diesen somit als Spamschleuder missbrauchen könnte. Achten Sie daher unbedingt darauf, dass keine lokale Freigabe für Ihren SMTP-Server aktiviert ist, bevor Sie den SSL-Tunnel in Betrieb nehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert