Die automatische Erneuerung von Zertifikaten in Microsoft Exchange
Schnell wird es vergessen und schon ist der Termin für die Erneuerung der Zertifikate interner Zertifizierungsstellen verstrichen. Seit Window Server 2008 R2 gibt es dafür aber eine automatisierte Lösung. Markus Hengstler zeigt, ob die Lösung auch für Exchange Server empfehlenswert ist.
Vergesslichkeit liegt in der Natur des Menschen. In der IT manifestiert sich dies oft in abgelaufenen Zertifikaten. Im Falle von öffentlichen Zertifikaten kann man sicher sein, dass der Herausgeber eine Erinnerung schickt – schliesslich lässt er sich für die Erneuerung bezahlen. Anders sieht es bei Zertifikaten von internen Zertifizierungsstellen aus: Hier müsste eine Erinnerung in den Kalender eingetragen werden und der Kalender müsste dann auch noch rechtzeitig konsultiert werden.
In vielen Umgebungen funktioniert dies aus verschiedenen Gründen nicht:
- Zu kleine IT-Abteilung
- Niemand fühlt sich verantwortlich
- Nicht genügend organisiert
- Zu wenig Fachwissen
- etc.
Die Lösung?
Vor Kurzem wurde ich darauf aufmerksam gemacht, dass in den Versionen ab Windows Server 2008 R2 eine Funktion zu Verfügung steht, die ein automatisches Erneuern von Webserver-Zertifikaten erlaubt. Erneuerungen von zum Beispiel Computer-Zertifikaten war schon vorher kein Problem, da bei diesen die Information für das Ausstellen (Subject Name, Subject Alternative Names, Key Length etc.) aus Active Directory entnommen werden. Bei Webservern stimmt der Name im Zertifikat meist nicht mit dem FQDN des Servers überein. Zum Beispiel verwendet der Exchange Server in meinen Screenshots mail.domainA.com und autodiscover.domainA.com. Für diese Fälle ist nun das erwähnte Feature gedacht. Der Client muss dies natürlich unterstützen, weswegen mindestens Windows 7 und 2008 R2 vorausgesetzt werden.
Microsoft Exchange TrainingsFür mehr Informationen zu Exchange 2013 und 2016 besuchen Sie einen der folgenden Kurse. |
Für mehr Informationen zu Exchange 2013 und 2016 besuchen Sie einen der folgenden Kurse.
Die Konfiguration ist einfach. Im Web Server Template muss diese Option ausgewählt werden: Use subject information from existing certificates for autoenrollment renewal requests.
Des Weiteren muss der Computer Account des Servers Enroll- und Autoenroll-Berechtigungen haben:
Die Gruppenrichtlinie sorgt nun dafür, dass das Zertifikat vor Ablauf erneuert wird:
Achtung! Bei sehr kurzer Gültigkeitsdauer kann das Zertifikat ungültig werden, bevor die Gruppenrichtlinie die Erneuerung auslöst. Das gleiche gilt, wenn der Gruppenrichtlinien-Refresh-Intervall verlängert wurde.
Die Probleme
Leider hat die Lösung einen Haken. Zwar wird das Zertifikat im Store des Betriebssystems erneuert, aber Applikationen, die das Zertifikat verwenden, müssen ihren eigenen Mechanismus haben, um dies auch zu erkennen. IIS 8.5 in Windows Server 2012 R2 ist nötig, damit die Bindung des Zertifikats an eine Website ebenfalls angepasst wird. Dies wird durch diese Option erreicht (gelb markiert): Enable Automatic Rebind of Renewed Certificate
Exchange selber weist dem Zertifikat Dienste wie IIS, SMTP, POP und IMAP zu. Diese Zuordnung ändert sich, da auch der Fingerabdruck (Thumbprint) des erneuerten Zertifikats wechselt. Der Effekt ist in der Exchange Management Shell ersichtlich:
Das Zertifikat wurde zwar erneuert und ist auch in IIS ersichtlich, aber die Zuweisung des Diensts IIS (im Screenshot unter Services mit W gekennzeichnet) fehlt. Wohlgemerkt: Alle von mir getesteten Clients funktionieren in diesem Zustand und nach einem Reset von IIS ist der Service wieder zugewiesen. Aber Verhalten und Timing sind nicht voraussehbar. Da erstaunt es wenig, dass das Exchange-Produktteam diese Art von automatischer Erneuerung nicht unterstützt!
Fazit
Die automatische Erneuerung und Rebinding in IIS 8.5 sind tolle Features für einen Webserver oder eine Applikation, die keine eigene Zuweisung von Zertifikaten vornimmt. Für Exchange hingegen sollte davon abgesehen werden, da diese Methoden von Microsoft nicht unterstützt werden.