Installation einer Zertifizierungsstelle für die XenApp-Installation

Die Installation einer aktuellen XenApp-Umgebung benötigt zwingend eine vorhandene Unternehmens-PKI (Public Key Infrastructure) um korrekt arbeiten zu können. Ist diese vorhanden, kann die interne Kommunikation der einzelnen XenApp- / XenDesktop-Komponenten verschlüsselt durchgeführt werden. Die Nutzung des HTML5-Receivers oder die Autodiscover-Funktion des Receivers setzt ein per SSL erreichbaren Storefront voraus. Dafür werden Zertifikate benötigt, die eine eigene Zertifikatsstelle ausstellen kann.

Die Installation erfolgt über den Servermanager auf dem Domänencontroller. Für die Demo-Umgebung genügt eine Schnellinstallation, in einer Produktivumgebung sollte man auf jeden Fall einen eigenen Server mit dieser Aufgabe betreuen, besser noch eine Kombination aus Offline- und Online-Zertifikatsstelle.

PKI-101

Zusätzlich werden noch die Verwaltungstools der PKI (Public Key Infrastructure) benötigt. Diese sollte man eigentlich immer mitinstallieren, es sei den man nutzt ausschließlich die Remoteverwaltung.

Die Hinweise zur Installation sollte man genau durchlesen und auch befolgen, insbesondere das Umbenennen eines Servers mit installierter Zertifizierungsstelle ist nicht schön.

PKI-103

Bei den Rollendiensten benötigen wir für unsere Zwecke die Zertifikatsdienste und die Webregistrierung, wobei eventuell darauf auch verzichtet werden kann. Dabei handelt es sich um eine Website, über die Zertifikate angefordert und heruntergeladen werden können, zum Beispiel für Linux-Systeme oder andere Geräte, die nicht ins ActiveDirectory integriert sind.

PKI-104

Für die Webregistrierung wird der IIS benötigt, der mit seinen Verwaltungstools dann zusätzlich installiert wird:

PKI-105

Und dann muss der IIS auch noch passend konfiguriert werden:

PKI-106

PKI-107

Daraufhin wird die Liste der zu installierenden Rollen, Features und Tools doch schon recht lang:

PKI-109

Die Installation wird dann im Hintergrund abgearbeitet und die Rollen müssen anschließend noch konfiguriert werden:

PKI-111

Zuerst installieren wir die Unternehmenszertifizierungsstelle, diese ist vollständig im AD integriert. Das Stammstellenzertifikat wird im AD hinterlegt, und alle Computer der Domäne vertrauen dieser Zertifizierungsstelle und damit auch den von ihr ausgestellten Zertifikaten. Zur automatischen Zertifikatsregistrierung der Computer wird später noch ein entsprechendes GPO konfiguriert.

PKI-113

Da dies die erste Zertifizierungsstelle wird, stellt sie den Stamm innerhalb einer (nicht vorhandene) Hierarchie von Zertifizierungsstellen da:

PKI-114

Jedes Zertifikat besitzt einen privaten und einen öffentlichen Schlüssel. Der private Schlüssel dient der Verschlüsselung und darf auf keinen Fall herausgegeben werden. Mit dem öffentlichen Schlüssel kann nur entschlüsselt werden. Da wir eine neue PKI (Public Key Infrastructure) aufbauen, benötigen wir auch zwingend den privaten Schlüssel und lassen diesen nun zusammen mit dem öffentlichen Schlüssel erstellen.

Dabei müssen wird angeben, mit welcher Schüssellänge und welchem Algorithmus wir arbeiten wollen. Der voreingestellte Algorithmus SHA1 sollte nicht mehr verwendet werden, dieser gilt als nicht mehr sicher. Ich habe hier SHA256 gewählt mit einer Schlüssellänge von 2048. Eine Schlüssellänge kleiner als 2048 wird von verschiedenen Geräten (Apple) auch nicht mehr akzeptiert.

PKI-116

Der Name der Zertifizierungsstelle ist derjenige, der später im Zertifikat erscheinen wird. Hier sollte ein möglichst eindeutiger Name gewählt werden:

PKI-117

Nun wird die Laufzeit des Stammstellen-Zertifikats abgefragt, diese sollte möglichst lang sein. Sobald dieses Zertifikat ausläuft, sind nämlich alle von ihm abgeleiteten Zertifikate ungültig und müssen ausgetauscht werden.

Ich habe für meine Testumgebung großzügige 20 Jahre angegeben, ich glaube allerdings nicht, das sie solange aushalten wird. In einer Produktiv-Umgebung würde ich eventuell das Zertifikat noch länger laufen lassen.

PKI-118Danach wird nach einem Speicherort für die Datenbank und die Log-Datei gefragt, diesen belasse ich auf den Standardwerten.

PKI-119Danach wird noch eine kurze Zusammenfassung der Konfiguration ausgegeben und die Installation kann dann abgeschlossen werden:

PKI-120

PKI-121Bei der Konfiguration der Zertifizierungsstellen-Webregistrierung (schönes Wort übrigens) gibt es eigentlich nichts zu konfigurieren:

PKI-122

PKI-123

Anschließend kann die Konsole der Zertifikatsstelle geöffnet werden:

PKI-124

Das Stammstellen-Zertifikat findet man in den Eigenschaften der Testlab-Root-CA im Reiter „Allgemein“. Dort kann dann auch sofort die Gültigkeit des Zertifikats geprüft werden:

PKI-125

PKI-126

Damit wären die Zertifikatsdienste installiert und die Zertifizierungsstelle kann Zertifikate ausstellen. Bei allen Systemen, die ins AD integriert sind kann direkt mit der Zertifikatsstelle kommuniziert werden, bei anderen Systemen kann über die Web-Schnittstelle ein Zertifikat angefordert werden.

Für die Web-Site habe ich mir im DNS einen Alias angelegt und im IIS die Website auf einen eigenen Host-Eintrag gesetzt. PKI-127

Im IIS wird dann die Site-Bindung der Default Website auf den Alias gesetzt:

PKI-128

Damit kann dann im Browser die Website über den konfigurierten Alias aufgerufen werden. Diese Einstellungen nutze ich immer, da ich so verschiedene Web-Sites auf dem gleichen Server laufen lassen kann.

Die Webregistrierung kann dann über die URL http://certsrv.testlab.lab aufgerufen werden, für die Anmeldung wird der Account des Domänen-Administrators benötigt.

PKI-129

Mit Hilfe der Web-Site können dann Zertifikate angefordert werden.

PKI-130

Damit wäre die grundlegende Konfiguration abgeschlossen, und für die Citrix XenApp-Umgebung können Zertifikate angefordert und genutzt werden.

Damit die Computer in der Domäne sich automatisch ein Zertifikat holen, muss noch ein entsprechendes GPO konfiguriert werden. Unter „Computereinstellungen – Richtlinien für öffentliche Schlüssel“ muss das GPO „Zertifikatdienstclient – Automatische Registrierung“ konfiguriert werden: 
GPO-002

GPO-003Beide Haken müssen gesetzt werden.

Weiter muss noch eine neue „Automatische Zertifikatanforderung“ konfiguriert werden:

GPO-005

Dabei startet dann ein Wizard, der die benötigten Informationen abfragt:

GPO-006

GPO-007

GPO-008

Mit der üblichen Vorgehensweise (Weiter, Weiter, …, Fertig) wird diese Einstellung konfiguriert. Sobald das GPO übernommen worden ist fordern die Domänen-Computer bei der Zertifikatstelle ein Computerzertifikat an. In der Konsole können die Zertifikate unter „Ausgestellte Zertifikate“ geprüft werden.

Die Laufzeit der ausgestellten Zertifikate beträgt zwei Jahre. Sollen die Zertifikate für einen längeren Zeitraum ausgestellt werden, kann dies mit dem Tool certutil geändert werden:

certutil -getreg ca\ValidityPeriodUnits

liefert die aktuelle Laufzeit der ausgestellten Zertifikate und mit

certutil -getreg ca\ValidityPeriod

bekommt man die Einheit der Laufzeit:

PKI-131

Um die Laufzeit zu ändern kann mit

certutil -setreg ca\ValidityPeriodUnits  "5"

diese auf 5 Jahre für neu ausgestellte Zertifikate verlängert werden. Bereits ausgestellte Zertifikate sind davon natürlich nicht betroffen.

PKI-132

Anschließend muss noch eine Zertifikatsvorlage erstellt werden, die dann auch eine Laufzeit von 5 Jahren nutzen kann.

Bei der automatischen Zertifikatsanforderung über den IIS werden weiter nur Zertifikate für zwei Jahre ausgestellt, da in der verwendeten Vorlage diese Laufzeit definiert ist. Um ein Zertifikat mit einer längeren Laufzeit anzufordern, muss die Anforderung über die MMC mit den Snap-In Zertifikate eingereicht werden.

Benutzerdefinierte Zertifikatsanforderung

Über die Zertifikatregistrierung kann dann auch die erweiterte Vorlage, bei mir Webserver-10-Jahre, ausgewählt und angefordert werden. Wichtig! Dabei unbedingt auf „Details“ gehen und die Eigenschaften des Zertifikats bearbeiten:

Erweiterte Zertifikatregistrierung

Jetzt kann es mit der weiteren Konfiguration der XenApp-Umgebung weitergehen.

Kommentar hinterlassen

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