In diesem HowTo beschreibe ich, wie eine Interne Zertifizierungsstelle installiert wird und wie man ein SAN-Zertifikat für Exchange 2013 ausstellen lassen kann. Dieses HowTo ist nicht für eine produktive Umgebung gedacht. Die Implementierung einer Zertifizierungsstelle muss sorgfältig geplant werden.
In meiner Testumgebung habe ich dazu 2 Windows Server 2012 Datacenter installiert, 1 DC + CA und ein Exchange Server 2013.
Es gibt zu beachten das nicht alle Funktionen der Zertifizierungsstelle zur Verfügung stehen, wenn die CA auf Server 2012 Standard installiert wird. Dieses HowTo gilt also nur für Zertifizierungsstellen die auf Windows Server 2012 Datacenter laufen.
Für Exchange 2010 und Server 2008 R2 findet sich das Howto hier: https://www.frankysweb.de/?p=456
Installation der Zertifizierungsstelle
Zuerst installieren wir die Zertifizierungsstelle auf einem geeigneten Server, für eine Active Directory integrierte Zertifizierungsstelle (CA) muss der Server Mitglied des Active Directorys sein. Über den “Server Manager” können über den Punkt “Verwalten” Rollen und Features hinzugefügt werden
Im folgenden Dialog wird die “Rollenbasierte oder Featurebasierte Installation” ausgewählt
Wenn mehrere Server zum Servermanager hinzugefügt wurden, lässt sich der Server auswählen, auf dem die Rolle installiert werden soll. In diesem Fall ist es der lokale Server “DC02”
Jetzt wird die Rolle “Active Directory Zertifikatsdienste” ausgewählt
Als Rollendienst wird in diesem Fall nur die Zertifizierungsstelle benötigt
Nach der Bestätigung zur Installation wird die Rolle installiert
Sobald die Rolle fertig installiert wurde, erscheint ein Hinweis zur Konfiguration der Rolle “Active Directory Zertifikatsdienste” im Servermanager
Nun wird die Rolle konfiguriert, sofern man als Domain Administrator angemeldet ist, müssen die Anmeldeinformationen nicht verändert werden
Im nächsten Dialog wird abgefragt welche Rolle konfiguriert werden soll, da nur die Zertifizierungsstelle installiert wurde, werden hier keine anderen Rollen angeboten
Jetzt kann ausgewählt werden, welche Art von CA installiert werden soll. Ich wähle Unternehmenszertifizierungsstelle damit die CA in das Active Diretory integriert wird
Da es sich in diesem Beispiel um die erste CA in der Hierarchie, also die Stammzertifizierungsstelle handelt, wird “Stammzertifizierungsstelle” als Typ ausgewählt
Sofern die CA nicht migriert wurde, kann ein neuer privater Schlüssel erstellt werden
Die Einstellungen zur Kryptographie belasse ich auf den Standardwerten. SHA-1 ist nicht unbedingt der beste Hashalgorithmus, aber am kompatibelsten, siehe hier: https://www.frankysweb.de/?p=363
Update: SHA1 wird ab dem 01.01.16 nicht mehr als Signaturhashalgorithmus unterstützt. Hier sollte besser gleich SHA256 gewählt werden.
Jetzt kann der Name der CA vergeben werden. Ich wähle “FrankysWeb-CA”. In der Standardeinstellung wird hier auch der Servername angegeben, allerdings könnte das für Verwirrung sorgen, wenn die CA auf einen anderen Server migriert wird. Daher empfiehlt sich hier ein allgemeiner Name.
Jetzt kann die Gültigkeitsdauer der CA festgelegt werden. Die Gültigkeitsdauer der CA sollte die Gültigkeitsdauer der auszustellenden Zertifikate übersteigen. Ich wähle hier 20 Jahre, alternativ könnte man auch den Wert “JahrebiszurRente” nehmen.
Im nächsten Dialog kann der Speicherort der Datenbank und der Logs angegeben werden. Die Pfade können nach belieben angepasst werden. Ich belasse sie in der Standardeinstellung
Als nächstes wird eine Zusammenfassung der Einstellungen angezeigt, die mit “Konfigurieren” bestätigt werden kann
Sobald die Konfiguration der CA abgeschlossen ist, findet sich im Startmenü der Eintrag “Zertifizierungsstelle”
Anpassen der Zertifikatsvorlage für Exchange SAN Zertifikate
Zunächst erstellen wir eine neue Vorlage, dazu in der MMC per Zertifizierungsstelle auf Zertifikatsvorlagen rechtsklicken, dann auf “Verwalten”
Jetzt die Vorlage Webserver suchen und auf “Vorlage duplizieren” klicken
Als Name der neuen Vorlage wähle ich “Exchange Server Zertifikate” mit einer Gültigkeit von 2 Jahren
Um später alle DNS-Aliase der Exchange Server einzutragen muss der Haken bei “Vom Antragssteller zugelassene symmetrische Algorithmen einbeziehen” auf dem Reiter “Anforderungsverarbeitung” aktiviert werden. Wer das Zertifikat später exportieren möchte sollte außerdem den Haken bei “Exportieren von privaten Schlüssel zulassen” setzen.
Auf dem Reiter Sicherheit bekommt die Gruppe “Exchange Servers” Vollzugriff auf die Vorlage, auch der Gruppe Domänen Admins erteile ich Vollzugriff. Danach kann mit einem Klick auf “Übernehmen” die Vorlage gespeichert werden
Zurück in der MMC Zertifizierungsstelle kann jetzt die neue Vorlage hinzugefügt werden, dazu Rechtsklick auf “Zertifikatsvorlagen” –> “Neu” –> “Auszustellende Zertifikatsvorlage”. Im nächsten Dialog wird die Vorlage “Exchange Server Zertifikate” ausgewählt und hinzugefügt.
Beantragen eines SAN-Zertifikats für Exchange
Wer direkt im Anschluss ein neues Zertifikat beantragen möchte, sollte vorher die Gruppenrichtlinien aktualisieren, damit das Stammzertifizierungsstellenzertifikat installiert wird. Auch Certutil /pulse kann nicht schaden, damit die Registrierungsrichtlinie angezeigt wird.
gpupdate /force
certutil /pulse
Jetzt kann eine leere MMC geöffnet werden, zu der das Snap-In “Zertifikate” für den lokalen Computer hinzugefügt wird. Unter dem Punkt “Eigene Zertifikate” –> “Zertifikate”, kann über den Menüpunkt “Alle Aufgaben” –> “Neues Zertifikat anfordern” das neue Zertifikat für Exchange beantragt werden.
Im darauffolgenden Dialog sollte jetzt die Active Directory-Registrierungsrichtlinie angezeigt werden.
Nach einem Klick auf “Weiter” wird die eben erstellte Vorlage angezeigt, Haken setzen und auf “Es werden zusätzliche Informationen…” klicken
Im Abschnitt Antragsteller müssen die grundlegenden Informationen angegeben werden:
- Organisation (Firmenname)
- Land
- Organisationeinheit (IT,EDV…)
- Allgemeiner Name (aus Kombatibilitätsgründen am der externe Zugriffsname, also owa.frankysweb.de)
Achtung:
Im Abschnitt “Alternativer Name” können/müssen nun DNS-Namen hinzugefügt werden unter denen auf Exchange zugegriffen wird, diese Einstellungen sind abhängig von der Exchange Konfiguration. Die DNS Namen müssen je nach Umgebung die internen Zugriffsnamen „(owa.frankysweb.local) und die externen Namen, also die Namen unter den Exchange über das Internet erreichbar ist (owa.frankysweb.de) enthalten. In dem Screenshot weiter unten sieht man das ich die jeweiligen Exchange Dienste, alle unter separaten DNS-Namen veröffentliche (EAS, OWA, EWS…) Man kann die Dienste auch unter einem Namen zusammenfassen, wie zum Beispiel mail.frankysweb.de/local. Wer es sich ganz einfach machen will, kann an dieser Stelle auch *.frankysweb.local und *.frankysweb.de eintragen. Dabei handelt es sich um ein Wildcard Zertifikat welches alle Hosts die auf frankysweb.local oder frankysweb.de hören akzeptiert. Man sollte sich also VORHER Gedanken machen unter welchen Namen die Exchange Dienste veröffentlicht werden. Ebenfalls sollte der Eintrag autodiscover.frankysweb.de/local nicht fehlen.
Auf dem Reiter “Allgemein” kann noch ein Anzeigename für das Zertifikat vergeben werden, dieser dient nur zur leichteren Identifikation.
Nachdem alle Informationen eingegeben wurden, kann das Zertifikat beantragt werden.
Wie oben erwähnt habe ich für jeden Dienst einen eigenen DNS Eintrag, in meiner Testumgebung leite ich Port 443 direkt von der Firewall auf den Exchange Server weiter. Ich habe also keinen Reverse Proxy der nur unter dem externen Namen erreichbar ist. Ich kann dieses Verfahren nur in Testumgebungen empfehlen, in produktiven Umgebungen sollte ein Reverse Proxy/Application Firewall dem Exchange Server vorgeschaltet sein.
Exchange Dienste an das neue Zertifikat binden
Damit auch die UM DIenste von Exchange 2013 das Zertifikat akzeptieren, muss vor dem Zuweisen der Dienste der Startmodus geändert werden. Der Startmodus kann über die Exchange Management Shell geändert werden
Get-UMservice | Set-UMService -UMStartupMode dual
Set-UMCallRouterSettings -UMStartupMode dual
In der Exchange Verwaltungskonsole sollten wir jetzt bereits ein gültiges neues Zertifikat angezeigt bekommen, diesem Zertifikat müssen noch die Exchange Dienste zugeordnet werden. Das Zuordennen der Dienste, kann auch über die Konsole erledigt werden
Das erstellte Zertifikat ist gültig für alle Exchange Dienste
Der Warnhinweis weist darauf hin, dass das Zertifikat getauscht wird, er kann mit “Ja” bestätigt werden
Wenn alles geklappt hat, sollte die Konsole nun so aussehen:
Zum Schluss noch die Dienste “Microsoft Exchange Unified Messaging” und “Microsoft Exchange Unified Messaging Call Router” neustarten, damit auch dort die Änderungen wirksam werden.
Das Zertifikat der Stammzertifizierungsstelle wird automatisch an alle AD-Mitglieder verteilt. Sobald die
GPOs aktualisiert wurden, sollten alle Clients dem Zertifikat vertrauen und sofern die DNS-Namen richtig konfiguriert wurden, auch keine Warnungen mehr angezeigt werden. Damit auch Smartphone und Clients außerhalb des Active Directorys dem Zertifikat vertrauen, muss das Stammzertifizierungsstellenzertifikat installiert werden. Das Zertifikat findet sich auf dem Server der die CA-Rolle innehat im Verzeichnis c:\Windows\System32\CertSrv\CertEnroll.