Exchange Zertifikat durch interne CA austauschen

In diesem Blogeintrag geht es darum, Zertifikate für einen bzw. mehrere Exchange Server über eine interne Zertifizierungsstelle anzufragen und auszutauschen.

Ablauf:

  • Zertifikatsvorlage erstellen

  • Zertifikatsvorlage genehmigen

  • Zertifikatsanfrage erstellen

  • Zertifikat exportieren/importieren

  • Dienste zuweisen

Zertifikatsvorlage erstellen

Zertifikatsvorlagen können über Certificate Template Console erstellt werden.

Die Konsole befindet sich auf der CA unter Certificate Templates Rechtsklick Manage.

Eine bereits passende Vorlage ist das Web Server Template. Dieses wird dupliziert und an unsere Bedürfnisse angepasst über Rechtsklick Duplicate Template.

Es öffnet sich das duplizierte Template. Änderungen, die getätigt werden sollten:

General

Im Reiter General passen wir den Template Namen an und lassen die Veröffentlichung des Zertifikats im Active Directory zu.

Request Handling

Die Exchange Server benötigen zwingend den privaten Schlüssel. Da das Zertifikat auch auf anderen Exchange Servern zur Verfügung gestellt werden soll, muss die Einstellung „allow private key to be exported“ gesetzt werden. Des Weiteren wird hier die Einstellung „Include symmetric algorithms allowed by the subject“ aktiviert.

Cryptography

Cryptography Einstellungen müssen nicht zwingend angepasst werden, erhöhen jedoch die Sicherheit. Exchange Server kann nicht mit den Algorithmen ECDH arbeiten, daher kann als Key Storage Provider RSA verwendet werden. Als Request Hash sollte mindestens SHA256 ausgewählt werden.

Security

Im Bereich Security wird definiert, welche Computer und Nutzer diese Zertifikatsvorlage anfordern dürfen. Diese muss durch jeden Exchange Server angefordert werden dürfen. Standardmäßig sind alle Exchange Server in der Gruppe der Exchange Trusted Subsystem enthalten. Denkbar wären aber auch andere Gruppen oder das manuelle hinzufügen der Exchange Server. Benötigt wird die Berechtigung Read und Enroll.

Zertifikatsvorlage genehmigen

Anschließend muss die Zertifikatsvorlage genehmigt werden.

Dies kann über die CA durchgeführt werden über:

  • Certificate Template

  • Rechtsklick New > Certificate Template to Issue

  •  Zertifikatsvorlage auswählen und bestätigen

Zertifikatsanfrage stellen

Die Zertifikatsanfrage kann von einem beliebigen Exchange Server in der Umgebung angefragt werden. Dabei muss die Anfrage lediglich von einem der Exchange Server erfolgen. Es ist nicht notwendig, dass jeder Exchange Server ein eigenes Zertifikat anfragt, da das Zertifikat im darauffolgenden Schritt exportiert und importiert wird.

Der Ablauf ist wie folgt:

  • Öffnen der MMC über Windows + R > MMC

  • File > Add/Remove Snapin…

  • Certificates > Add

  • Certificates für Computer auswählen

  • In den persönlichen Zertifikatsspeicher navigieren über Certificates > Personal

  • Über Rechtsklick All Tasks > Request new Certificate wählen

  • Es öffnet sich ein Wizard. Die Enrollment Policy wird belassen > Next

  • Als Zertifikatsvorlage wählen wir das Exchange Server Certificate aus. Wir werden bereits darauf hingewiesen, dass der Certificate Request mehr Informationen benötigt.

  • Auswahl „More information is required to enroll for this certificate. Click here to configure settings”

  • Im Reiter Subject sollte zum Subject name folgendes hinzugefügt werden:

    • Country > z.B. DE für Detuschland

    • State > z.B. BW für Baden Württemberg

    • OU > z.B. IT für die das Zertifikat ausgestellt wird

    • Common name: Name über den die Exchange Server erreichbar sind, z.B. mail.iglab.local

  • Im Reiter Subject sollte zum Alternative name DNS-Einträge gesetzt werden. Diese enthalten alle internen und externen Namen der virtuellen Verzeichnisse und den autodiscover-Eintrag. Sind interne und externe Domänennamen identisch und wird für jedes Verzeichnis derselbe Name verwendet, sind dies typischerweise zwei Einträge für autodiscover und den Exchange Alias Name. Ggf. müssen für weitere Domänen zusätzliche DNS-Einträge gesetzt werden.

  • Im nächsten Schritt wird das Zertifikat Enrolled.

  • Im persönlichen Zertifikatsspeicher sollte nun das Zertifikat einsehbar sein.

Zertifikat exportieren/importieren

Das zuvor ausgestellte Zertifikat wurde auf die Namen aller virtuellen Verzeichnisse der Exchange Server ausgestellt. Daher können wir das Zertifikat für andere Exchange Server verwenden. Damit dieses verwendet werden kann, muss das Zertifikat mit privatem Schlüssel auf den anderen Exchange Servern exportiert/importiert werden.

Das Zertifikat befindet sich im persönlichen Zertifikatsspeicher (MMC > Certificates des Computers > Personal).

Über Rechtsklick > Export öffnet sich ein Wizard zum Exportieren des Zertifikats.

Wichtig ist, dass hierbei der private Schlüssel mit exportiert wird, da ein Exchange Server das Zertifikat ohne privaten Schlüssel nicht nutzen kann. Das Dateiformat ist standardmäßig eine .pfx.

Anschließend wird das Zertifikat auf den Exchange Servern zur Verfügung gestellt, z.B. über einen Share und über Doppelklick > Install PFX installiert. Es öffnet sich ein Installationsassistent, welcher einen durch den Vorgang leitet. Besondere Einstellungen müssen nicht getätigt werden.

Standardmäßig wird das Zertifikat in den persönlichen Zertifikatsspeicher des Computers installiert werden.

 

Dienste zuweisen

Das zuvor erstellte Zertifikat sollte nun in der ECP einsehbar sein. Die ECP erreichen wir z.B. über einen der Exchange Server über die URL https://localhost/ecp. In der Navigationsleiste wählen wir Server aus. Im Reiter Certificates finden wir pro Exchange Server eine Übersicht der installierten Zertifikate und zugewiesenen Dienste. Über Doppelklick auf das Zertifikat weisen wir die Dienste wie SMTP, IIS, POP, IMAP, etc. zu.

Der Vorgang muss für jeden Exchange Server durchgeführt werden. Sollte der SMTP Dienst zugewiesen werden, erscheint typischerweise beim Bestätigen der Einstellung eine Warnung, ob das aktuelle SMTP Zertifikat am Transportdienst durch das aktuelle ersetzt werden soll. Dies ist typischerweise gewünscht, daher bestätigen wir hier mit Yes.

 

Wenn das Zertifikat am IIS ersetzt wurde, sollte im Anschluss das Zertifikat über die im Zertifikat angegebene URL wie in meinem Fall https://mail.iglab.local/ecp einzusehen sein.