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.
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.
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.
Für die Webregistrierung wird der IIS benötigt, der mit seinen Verwaltungstools dann zusätzlich installiert wird:
Und dann muss der IIS auch noch passend konfiguriert werden:
Daraufhin wird die Liste der zu installierenden Rollen, Features und Tools doch schon recht lang:
Die Installation wird dann im Hintergrund abgearbeitet und die Rollen müssen anschließend noch konfiguriert werden:
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.
Da dies die erste Zertifizierungsstelle wird, stellt sie den Stamm innerhalb einer (nicht vorhandene) Hierarchie von Zertifizierungsstellen da:
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.
Der Name der Zertifizierungsstelle ist derjenige, der später im Zertifikat erscheinen wird. Hier sollte ein möglichst eindeutiger Name gewählt werden:
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.
Danach wird nach einem Speicherort für die Datenbank und die Log-Datei gefragt, diesen belasse ich auf den Standardwerten.
Danach wird noch eine kurze Zusammenfassung der Konfiguration ausgegeben und die Installation kann dann abgeschlossen werden:
Bei der Konfiguration der Zertifizierungsstellen-Webregistrierung (schönes Wort übrigens) gibt es eigentlich nichts zu konfigurieren:
Anschließend kann die Konsole der Zertifikatsstelle geöffnet werden:
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:
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.
Im IIS wird dann die Site-Bindung der Default Website auf den Alias gesetzt:
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.
Mit Hilfe der Web-Site können dann Zertifikate angefordert werden.
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:
Beide Haken müssen gesetzt werden.
Weiter muss noch eine neue „Automatische Zertifikatanforderung“ konfiguriert werden:
Dabei startet dann ein Wizard, der die benötigten Informationen abfragt:
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:
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.
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.
Ü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:
Jetzt kann es mit der weiteren Konfiguration der XenApp-Umgebung weitergehen.