SSL-Zertifikate: Offizielles Zertifikat einbinden

Einführung SSL-Zertifikate
 
Der MDaemon Email Server unterstützt das Protokoll Secure Sockets Layer (SSL)/Transport Layer Security (TLS) für SMTP, POP und IMAP sowie für den Webserver von WebMail. Das SSL-Protokoll - eine Entwicklung der Netscape Communications Corporation - ist das renommierteste Standardverfahren, mit dessen Hilfe die Kommunikation zwischen Servern und Clients im Internet gesichert wird. Es unterstützt die Echtheitsbestätigung für Server, Datenverschlüsselung und wahlweise auch die Echtheitsbestätigung für Clients für TCP/IP-Verbindungen. SSL ist außerdem in allen gängigen Browsern bereits enthalten - es genügt daher, auf dem Server ein gültiges digitales Zertifikat zu installieren, um die SSL-Funktionen des Browsers für den Zugriff auf Webmail nutzbar zu machen.

Für Verbindungen zu den Standardports bei Verwendung eines regulären Mailclients anstatt Webmail unterstützt der MDaemon Email Server die Erweiterung STARTTLS über TLS für SMTP und IMAP sowie die Erweiterung STLS für POP3. Um diese Funktionen zu nutzen, muss jedoch der verwendete Mailclient nicht nur so konfiguriert sein, dass er SSL verwendet, sondern er muss die genannten Erweiterungen auch unterstützen. Dies trifft nicht auf alle Mailclients zu.

Schließlich können den SSL-Verbindungen auch besondere Portnummem zugewiesen werden. Dies ist zwar nicht zwingend erforderlich, kann jedoch all den Benutzern weitere Möglichkeiten zum gesicherten Zugriff eröffnen, deren Mailclients die genannten SSL-Erweiterungen nicht unterstützen. Microsoft Outlook Express unterstützt beispielsweise STARTTLS für IMAP über den Standardport nicht in allen Versionen, wohl aber unterstützt das Programm Verbindungen zu besonderen SSL-Ports.

Die Einstellungen zu den SSL-Funktionen befinden sich im Abschnitt SSL & TLS des Menüs Sicherheits­ Einstellungen (erreichbar über Sicherheit » Sicherheits-Einstellungen » SSL & TLS). Die Einstellungen zu den SSL-Ports für SMTP, POP3 und IMAP befinden sich im Abschnitt Portnummem (erreichbar über Einstellungen » Standard-Domäne/ Server).

Option 1: Ein kostenloses SSL-Zertifikat von Let's Encrypt in MDaemon einbinden. Infos finden Sie in diesem KB-Artikel.

Option 2: SSL-Zertifikat erwerben und einbinden. Die Schritte hierfür sind nachfolgend beschrieben.

Schritt 1: Erstellung einer Zertifikatsanforderung
 
Nachdem Sie einen Vertriebspartner von SSL-Zertifikaten gefunden haben (z.b: www.certcenter.de), müssen Sie auf dem MDaemon Server eine Zertifikatsanforderung erstellen und diese beim Bestellvorgang online einreichen. 
  
Zur Erstellung einer Zertifikatsanforderung bzw. Certificate Signing Request (CSR) stehen Ihnen diverse Werkzeuge zur Verfügung. Zu den verbreitetsten Programmen zur SSL-Zertifikatsverwaltung gehören:
 
  • Certificates MMC snap-in
     
  • certreq.exe
     
  • openssl.exe
 
Mithilfe dieser Programme werden zunächst ein privater Schlüssel und anschließend eine Zertifikatsanforderung generiert. Die Zertifikatsanforderung - niemals jedoch der private Schlüssel - muss an die Certificate Authority übertragen werden. Nach der Signierung der Zertifikatsanforderung durch die Certificate Authority, erhalten Sie von dieser das daraus resultierende SSL-Zertifikat zurück.
 
 
Beispiel 1: Generierung einer Zertifizierungsanforderung via Windows Tool „certreq.exe"
 
Um einen Zertifikatsantrag für Windowsdienste anzufertigen, können Sie das bei Windows mitgelieferte Tool „certreq.exe" nutzen.
Für Certreq erstellen Sie bitte via Editor eine Konfigurationsdatei und speichern Sie diese unter dem Namen request.inf.
  
[NewRequest]
Subject="CN=mail.mdaemon-schulung.de,O=EBERTLANG,L=Wetzlar,ST=Hessen,C=DE"
; Bitte den FQDN von MDaemon eintragen, sowie Ihren Firmename, Ort, das Bundesland und das Land
KeySpec=1
KeyLength=2048
Exportable=TRUE
MachineKeySet=TRUE
SMIME=False
PrivateKeyArchive=FALSE
UserProtected=FALSE
UseExistingKeySet=FALSE
ProviderName="Microsoft RSA SChannel Cryptographic Provider"
ProviderType=12
RequestType=PKCS10
KeyUsage=0xa0
Silent=TRUE
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 
 
 In dieser Konfigurationsdatei unter "Subject" geben Se bitte den FQDN des Servers (z.B. mail.mdaemon-schulung.de) im folgenden Format an:

Subject= "CN=mail.mdaemon-schulung.de,O=EBERTLANG,L=Wetzlar,ST=Hessen,C=DE"
Auf diesen FQDN wird das Zertifikat ausgestellt.
Die restlichen nachfolgenden Zeilen der Datei bleibt unverändert für den Antrag.
Speichern Sie die Konfigurationsdatei unter dem Namen request.inf und rufen Sie Certreq mit der Kommandozeile
certreq.exe -new request.inf request.req

auf. Sie erhalten in der Datei request.req den Antrag, den Sie bitte bei dem SSL-Zertifikatsanbieter einreichen.
 
Alternative: Generierung einer Zertifizierungsanforderung via Microsoft IIS
Um die Zertifizierungsanforderung unter Windows 2016/2019 Server zu erstellen, gehen Sie wie folgt vor: Öffnen Sie über das Startmenü das Untermenü „Verwaltung" und starten Sie den "Internetinformationsdienste (IIS)-Manager".
Hinweis: Diese Rolle muss zuvor installiert sein. Der einfachste Weg den Webserver auf einem Windows Server zu installieren, ist über den "Server-Manager": (Start → Windows-Verwaltungsprogramme → Server­ Manager)
 
Im IIS Manager wählen Sie den betreffenden Servernamen aus. Starten Sie in der Ansicht "Features" unter "IIS" das Menü "Serverzertifikate".
 
 
 
Wählen Sie hier in der rechten Spalte die Option "Zertifikatsanforderung erstellen ..."
 
 
 
und folgen Sie den Anweisungen im folgenden Dialog wie in den folgenden Abbildungen beschrieben:
 
 
 
Nachdem Sie die Angaben zu Ihrem Unternehmen und dem "Gemeinsamen Namen" (Common Name/CN) gemacht haben, fordert Windows Sie zu Angaben bezüglich des "Kryptografiedienstanbieters" auf.
 
 
Dahinter verbirgt sich der Kryptografie Mechanismus - wählen Sie hier, sofern noch nicht vorausgewählt, RSA. Die Bitlänge des Schlüsselpaares muss mindestens 2048 Bit betragen. Voreingestellt ist ein Wert von 1024 Bit, der inzwischen aber von allen großen Zertifizierungsstellen abgelehnt wird.
 
 
Abschließend wählen Sie den Speicherort für den CSR. Sie sollten hier einen Ort wählen, den Sie leicht wiederfinden können. Der Inhalt des fertigen CSR stellt sich in einem Text Editor wie folgt dar:
 
 
Schritt 2: Einspielen des SSL-Zertifikates
Nach Abschluss der Zertifizierung erhalten Sie von der Zertifizierungsstelle das SSL-Zertifikat in der Regel per E-Mail in Textform zugestellt.
Speichern Sie das Zertifikat mit einem Texteditor beispielsweise auf dem Desktop oder an einem anderen Ort, welchen Sie leicht wieder lokalisieren können.
Nachdem nun das Zertifikat unterzeichnet wurde, müssen Sie dieses noch mit dem privaten Schlüssel zu einem Schlüsselpaar zusammenfügen. Angenommen, Sie haben eine Datei cert.cer erstellt, geben Sie dazu auf dem gleichen Rechner, auf dem Sie auch die Datei request.req generiert haben, den folgenden Befehl ein:
certreq.exe -accept cert.cer
 
Alternative: Zertifizierungsanforderung abschließen via Microsoft IIS
Urn das Zertifikat einspielen zu können, starten Sie wie den IIS Manager über das Startrnenü → Verwaltung.
 
 
Wählen Sie hier den entsprechenden Hostnamen und starten Sie das Menü "Zertifikate".
 
 
 
Spielen Sie nun über den Punkt "Zertifikatsanforderung abschließen" das fertige Zertifikat ein. Folgen Sie dabei den Anweisungen im Dialog.
 
 
 
Ist der Import abgeschlossen, wird das Zertifikat in der Übersicht angezeigt.
 
 
Schritt 3: Einspielen von Zwischenzertifikaten (intermediate certificates)
Kopieren Sie das Zwischenzertifikat vom SSL-Anbieter wieder in eine Textdatei und speichern Sie diese ab.
 
Klicken Sie auf Start → Ausführen, geben Sie "mmc" ein und bestätigen Sie mit Ok.
 
Klicken Sie auf Datei → Snap-ln hinzufügen und anschließend erneut auf hinzufügen.
 
Wählen Sie "Zertifikate" aus der Liste und bestätigen Sie mit "Hinzufügen"
 
 
Wählen Sie nun "Computerkonto" bei "Dieses Snap-ln verwaltet die Zertifikate für". Wählen Sie "Lokalen Computer" im nächsten Fenster und klicken Sie auf "Fertigstellen"
 
 
 
 
Öffnen Sie hier den Zweig "Zwischenzertifizierungsstellen" → "Zertifikate", danach mit einem Rechtsklick das Kontextmenü und hier den Punkt "alle Aufgaben" → "lmportieren".
 
 
Importieren Sie hier nun die intermediaten Zertifikate, die Ihnen die zuständige Zertifizierungsstelle zur Verfügung gestellt hat.
Nachdem das Zwischenzertifikat importiert und der Server neu gestartet wurde, wird Ihr neues Zertifikat von allen Browsern anerkannt.

Wichtig: Das hier zu importierende Zertifikat muss im PFX-Format erstellt werden.
 
Schritt 4: SSL-Zertifikat für Maildienste in MDaemon aktivieren
 
Öffnen Sie das Menü Sicherheit → Sicherheits-Einstellungen → SSL & TLS → MDaemon 
Wählen Sie nun das SSL-Zertifikat in der Liste aus.
 
Aktivieren Sie die Option „SSL, STARTTLS und STLS aktivieren"
Diese Option bewirkt, dass das Protokoll SSL/TLS und die Erweiterungen STARTTLS und STLS unterstützt werden. Nachdem diese Option aktiviert wurde, muss aus der Liste der Zertifikate weiter unten das zu benutzende Zertifikat ausgewählt werden.
 
Aktivieren Sie die Option „Gesonderte SSL-Ports für SMTP-, IMAP- und POP3-Server aktivieren"
Diese Option aktiviert die besonderen SSL-Ports, die im Abschnitt Portnummern in der Konfiguration der Standard-Domäne definiert wurden. Clients, die auf den Standardports die Erweiterungen STARTTLS und STLS verwenden, bleiben davon unberührt. Die Option stellt lediglich zusätzliche Unterstützung für SSL zur Verfügung.
 
Aktivieren Sie die Option „SMTP-Server nutzt STARTTLS, soweit möglich"
Diese Option lässt MDaemon bei jedem Nachrichtenversand über SMTP versuchen, die Erweiterung STARTTLS zu nutzen. Unterstützt ein Server, zu dem MDaemon eine Verbindung herstellt, STARTTLS nicht, so wird die entsprechende Nachricht ohne SSL-Verschlüsselung normal zugestellt. Sie können die Nutzung von STARTTLS für einzelne Domänen durch Nutzung der Weißen Liste unterbinden.
 
Aktivieren Sie die Option „DomainPOP-/MultiPOP-Server nutzen STLS, soweit möglich"
Diese Option bewirkt, dass die DomainPOP- und MultiPOP-Server die Erweiterung STLS nutzen, soweit dies möglich ist.
 
SSL-Zertifikat für die Webdienste in MDaemon aktivieren
 
Öffnen Sie das Menü Sicherheit → Sicherheits-Einstellungen → SSL & TLS → WebMail 
Wählen Sie nun das SSL-Zertifikat in der Liste aus.
Entscheiden Sie sich für die gewünschte Option. Folgende Verbindungsarten annehmen:
 
HTTP und HTTPS
Diese Option bewirkt, dass WebMail -zwar SSL unterstützt, die WebMail -Benutzer jedoch HTTPS nicht zwingend verwenden müssen. WebMail  überwacht den weiter unten konfigurierten HTTPS-Port auf eingehende Verbindungen, lässt jedoch auch normale HTTP-Verbindungen auf dem WebMail -Port zu, der im Konfigurationsdialog Webserver in der Konfiguration von WebMail definiert ist.
 
nur HTTPS
Diese Option bewirkt, dass Verbindungen zu WebMail ausschließlich über HTTPS hergestellt werden können. WebMail reagiert nur noch auf HTTPS-Verbindungen, nicht aber auf HTTP-Verbindungen, so lange diese Option aktiv ist.
 
HTTP mit Umleitung nach HTTPS
Diese Option bewirkt, dass HTTP-Verbindungen auf den HTTPS-Port umgeleitet und dann als HTTPS­ Verbindungen weiter geführt werden.
Identische Einstellungen sind in der Registerkarte WebAdmin notwendig.
 
TLS-Verschlüsselung auf Korrektheit prüfen:
 
Öffnen Sie die Webseite:
 
 
Tragen Sie hier die E-Mail-Adressen eines MDaemon Benutzers ein.
 
 
Eine weitere Webseite zum Testen des SSL-Zertifikats finden Sie hier:
https://www.geocerts.com/ssl_checker