Sichere Kommunikation zwischen StoreFront und Delivery Controller

Die Einhaltung der strengen Sicherheitsrichtlinien in einem Unternehmen kann dazu führen, dass die Kommunikation zwischen den unterschiedlichen Komponenten der Citrix Infrastruktur TSL-verschlüsselt stattfinden muss.

Die folgende Anleitung kann Ihnen helfen die entsprechenden Verschlüsselungsanforderungen zu erfüllen.

Ein StoreFront Server erfüllt in einer Citrix Infrastruktur eine Art vermittelnde Aufgabe. Der StoreFront steht einerseits den Benutzern zwecks Anmeldung zur Verfügung,  andererseits kommuniziert er gleichzeitig mit den Delivery Controllern, um die Liste der Published Applikation / Desktop den angemeldeten Benutzern bereitzustellen.

 

Secure Communication DC SF

 

Die Konfiguration von StoreFront setzt eine gesicherte Kommunikation sowohl zwischen den Clients des End Users (Citrix Receiver) und der Storefront-Infrastruktur, als auch zwischen den Delivery Controllern und den Storefront-Servern voraus.

Bei der Kommunikation zwischen einem StoreFront Server und einem Delivery Controller handelt sich um den XML-Datenverkehr.

Sicherer XML Traffic zwischen SF und DC

Standardmäßig ist die Kommunikation zwischen den StoreFront Servern und den Delivery Controllern nicht gesichert und läuft über den Port 80.

Konfigurationsschritte

Die Konfiguration lässt sich grob in folgende Schritte unterteilen:

  1. Verifizieren (Get-BrokerSite) Sie, ob die folgende Option   TrustRequestsSentToTheXmlServicePort aktiviert (True) ist. Wenn das nicht der Fall ist, können Sie dies mit dem Befehl Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true korrigieren.
  2. das Zertifikat auf dem StoreFront Server installieren
  3. den Kommunikationsweg auf dem StoreFront Server von HTTP auf HTTPS umstellen
  4. das Zertifikat auf dem Delivery Controller installieren
  5. die Befehlskette Netsh http add sslcert auf dem Delivery Controller ausführen
  6. Wenn ein NetScaler im Einsatz ist, sollen auch die STA-Pfade auf HTTPS umgestellt werden
  7. die Kommunikation über den Port 80 auf dem DC per Registry unterbinden

Wichtig: wenn das Zertifikat innerhalb der IIS-Konsole angebunden wird, dann sollen Sie keinen Befehl Netsh http add sslcert mehr ausführen. 

Zu beachten:

  • die Zertifikate haben immer ein Ablaufdatum (meistens alle zwei Jahre) und müssen vor dem Ablauf ausgetauscht werden.
  • die Schritte 4 und 5 sollen auf jedem Delivery Controller wiederholt werden.

 

Zertifikat auf dem StoreFront installieren

Auf dem StoreFront Server wird ein Zertifikat benötigt, dessen Name mit der Adresse des Base URLs übereinstimmt. Ob Sie an dieser Stelle ein Wildcard- oder SAN-Zertifikat verwenden ist Ihnen überlassen. Da auf dem StoreFront Server ein IIS installiert ist, verwenden wir die Konsole um ein Zertifikat abzurufen.

1. IIS Manger > Home > Open Feature

002 SF Secure

2. Die Schaltfläche Create Domain Certificate anklicken

003 SF Secure

3. Führen Sie die Felder aus. Beachten Sie die korrekte Eingabe im „Common name“

004 SF Secure

4. Klicken auf Select um die CA zu wählen.

005 SF Secure

006 SF Secure

5. Benennen Sie das Zertifikat und schließen Sie den Wizard.

007 SF Secure

 

008 SF Secure

6. Binden Sie das Zertifikat an der Default Seite an. 

009 SF Secure

7. Add

010 SF Secure

8. Wählen Sie das installierte Zertifikat. 

011 SF Secure

9. Starten Sie die IIS Seite neu

10. Starten Sie die StoreFront Management Konsole > Servergruppe > Basis-URL ändern > 

Passen Sie Adresse an http > https

001 SF Secure

11. Wählen den Store > weiter Action > Doppelklick auf dem Button Manage Delivery Controllers

013 SF Secure

12. Editieren Sie die Einstellungen > Edit

014 SF Secure

13. Stellen Sie die Transport Type um

015 SF Secure

von HTTP auf HTTPS

016 SF Secure

Die Konfiguration auf dem StoreFront Server ist abgeschlossen.

Zertifikat auf dem Delivery Controller installieren

Analog zu StoreFront wird auf jedem Delivery Controller ebenfalls ein Serverzertifikat installiert. Wichtig, dass der Common Name im Zertifikat korrekt eingegeben wurde und dem FQDN Namen des Servers entspricht.

Sie können ein bestehendes Zertifikat exportieren, oder selbst ein neues Zertifikat anfordern. Das letztere können Sie entweder innerhalb der IIS-Konsole tun, oder mit Hilfe der Zertifikat Management Konsole umsetzen.

Wenn in Ihrer Umgebung der Director auf einem separaten Server installiert wurde, existiert auf dem Controller auch kein Internet Information Server. In diesem Fall müssen Sie die Zertifikat Management Konsole (mmc Snap-In) einsetzen.

Hier ist ein Beispiel der Zertifikat-Erstellung innerhalb der Zertifikat Management Konsole.

1. Microsoft Management Konsole starten > Datei > Snap-In hinzufügen/entfernen > Zertifikate > Hinzufügen

101 Secure SF

2. Computerkonto auswählen

102 Secure SF

3. Weiter

103 Secure SF

4. Eigene Zertifikate > Rechte Maustaste > Alle Aufgaben > Neues Zertifikat anfordern

104 Secure SF

5. Weiter

105 Secure SF

6. Weiter

106 Secure SF

7. Registrieren

107 Secure SF

8. Fertigstellen

108 Secure SF

 

Das erstellte Zertifikat erscheint in einem Unterordner Zertifikate

109 Secure SF

Öffnen Sie das erstellte Zertifikat > Details:

Scrollen Sie zu dem Feld Fingerdruck (thumbprint) und notieren bzw. kopieren Sie den Wert zuerst in ein Notepad. Entfernen Sie alle Leerzeichen zwischen den Zahlen.

110 Secure SF

Zertifikat registrieren

Das installierte Zertifikat muss noch registriert werden. Für diesen Schritt werden grundsätzlich zwei unterschiedlichen Werte benötigt:

  1. die Fingerabdruck-Nummer
  2. die GUID (Globally Unique Identifier) des Citrix Broker Services

Den GUID lässt sich schnell aus der Registry auslesen. Starten den Registry-Editor und suchen Sie nach dem Citrix Broker Services in dem Zweig HKEY_CLASSES_ROOT\Installer\Products

111 Secure SF

Eine weitere Möglichkeit die GUID festzustellen wäre mit dem folgenden Befehl: wmic product list

Auch der GUID muss nur noch minimal angepasst werden:

IST:  F33AA694C5A209D46B73DD2176F3

SOLL: F33AA694-C5A2-09D4-6B73DD2176F3 (8 + 4 + 4 + 4 + 12 Zeichen)

Starten Sie als Administrator je nach Wunsch die PowerShell- oder die CMD-Konsole und führen Sie die folgende Befehlskette aus:

netsh http add sslcert ipport=<IP Adresse des Controllers>:<Port Nummer> certhash=<Certificate Hash Number - Fingerdruck> appid={<Citrix Broker Service GUID>}

netsh http add sslcert ipport=192.168.1.11:443 certhash=‎6c8553869ef49c418bc2fafe5e08e27383b8f84e appid={D5E64AFA-43E5-27F4-C9E2-9D02C39B0274}

112 Secure SF

Die Ergebnisse können Sie mit dem Befehl verifizieren:

netsh http show sslcert

Falls die eingegebene Information einen Fehler enthält, können Sie den Eintrag mit dem folgenden Befehl löschen:

http del sslcert ipport=<IP Adresse>:<Port Nummer>

Starten Sie den Dienst Citrix Broker Services neu

113 Secure SF

Hiermit ist die Konfiguration soweit abgeschlossen und die Ergebnisse können getestet werden.

Die Kommunikation zwischen den StoreFront Server und den Delivery Controller wurde mit Wireshark verifiziert und ich kann nun bestätigen, dass die Kommunikation TSLv1.2 verschlüsselt ist.

Daher sind folgende Schritte eher optionaler Natur. Diese werden aber für eine FIPS-konforme Konfiguration vorausgesetzt.

SSL Kommunikation erzwingen

Um auf eine Nummer sicher zugehen, lässt sich die Kommunikation über den Port 443 zusätzlich erzwingen. Da die Kommunikation sowohl über den Port 443, als auch über den Port 80 möglich ist.

Die darauffolgenden Einstellungen sorgen dafür, dass die komplette Kommunikation nur über den Port 443 verläuft.

Öffnen Sie den Registry Editor auf dem Delivery Controller und navigieren Sie zu dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\DesktopServer

Erstellen Sie einen neuen DWORD-Wert (32-Bit) namens XmlServicesEnableNonSsl und geben eine 0 als Data.

XmlServicesEnableNonSsl – 1 aktiviert wieder die Kommunikation per HTTP

Außerdem gibt es einen weiteren Wert, der ebenso die Kommunikation per HTTP/HTTPS aktiveren bwz. deaktivieren kann.

XmlServicesEnableSsl – 1 aktiviert die Kommunikation per HTTPS
0 deaktiviert die Kommunikation per HTTPS

114 Secure SF

 

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok