Citrix Virtual Apps and Desktops 7 2402 LTSR

TLS auf Delivery Controllern aktivieren

Standardmäßig sind sowohl HTTP als auch HTTPS aktiviert. HTTPS verwendet ein selbstsigniertes Zertifikat, das den FQDN des Servers als allgemeinen Namen verwendet und von StoreFront™ oder Webbrowsern nicht als vertrauenswürdig eingestuft wird.

Um TLS auf einem Delivery Controller™ zu aktivieren, müssen Sie:

Anfordern und Installieren eines Zertifikats

Um TLS zu verwenden, müssen Sie ein Zertifikat installieren, dessen allgemeiner Name oder alternativer Antragstellername mit dem FQDN des Servers übereinstimmt. Wenn Sie einen Lastenausgleich vor den Delivery Controllern verwenden, fügen Sie sowohl den FQDN des Servers als auch den des Lastenausgleichs als alternative Antragstellernamen hinzu. Weitere Informationen finden Sie unter Zertifikate. Damit StoreFront eine Verbindung zum Delivery Controller herstellen kann, müssen Sie einen RSA-Algorithmus für digitale Signaturen verwenden. StoreFront unterstützt keine Zertifikate, die den ECDSA-Algorithmus verwenden.

Konfigurieren des SSL/TLS-Listener-Ports

Wenn die IIS-Windows-Komponente auf demselben Server installiert ist, was als Teil von Web Studio und Director geschieht, können Sie TLS mit IIS konfigurieren. Weitere Informationen finden Sie unter TLS in Web Studio und Director aktivieren. Andernfalls konfigurieren Sie das Zertifikat mit PowerShell wie folgt:

  1. Um zu überprüfen, ob ein vorhandenes Zertifikat gebunden ist, öffnen Sie eine Eingabeaufforderung und führen Sie netsh http show sslcert aus:

    netsh http show sslcert
    <!--NeedCopy-->
    
  2. Wenn eine vorhandene Bindung vorhanden ist, löschen Sie diese.

    netsh http delete sslcert ipport=0.0.0.0:443
    <!--NeedCopy-->
    

    Ersetzen Sie 0.0.0.0:443 durch eine bestimmte IP-Adresse und einen Port, falls in der vorhandenen Bindung eine solche angegeben war.

  3. Suchen Sie den Fingerabdruck des zuvor installierten Zertifikats. Um den Fingerabdruck anzuzeigen, öffnen Sie Computerzertifikate verwalten, navigieren Sie zum Zertifikat und öffnen Sie es und wechseln Sie zur Registerkarte Details.

    Screenshot der Zertifikateigenschaften mit Fingerabdruck(/de-de/citrix-virtual-apps-desktops/2402-ltsr/media/certificate-thumbprint.png)

    Alternativ können Sie PowerShell verwenden. Zum Beispiel sucht das folgende Skript nach einem Zertifikat, dessen allgemeiner Name (Common Name) mit dem Hostnamen des Servers übereinstimmt, und gibt den Fingerabdruck aus:

    $HostName = ([System.Net.Dns]::GetHostByName(($env:computerName))).Hostname
    $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match ("CN=" + $HostName)}).Thumbprint -join ';'
    Write-Host -Object "Certificate Thumbprint for $($HostName): $($Thumbprint)" -Foreground Yellow
    <!--NeedCopy-->
    

    Wenn der allgemeine Name (Common Name) des Zertifikats nicht mit den Hostnamen übereinstimmt, schlägt dies fehl. Wenn es mehrere Zertifikate für den Hostnamen gibt, werden mehrere Fingerabdrücke zusammenhängend zurückgegeben, und Sie müssen den entsprechenden Fingerabdruck auswählen.

    Das folgende Beispiel sucht nach einem Zertifikat anhand des Anzeigenamens (Friendly Name):

    $friendlyName = "My certificate name"
    $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.FriendlyName -eq $friendlyNam}).Thumbprint -join ';'
    Write-Host -Object "Certificate Thumbprint for $friendlyName: $($Thumbprint)" -Foreground Yellow
    <!--NeedCopy-->
    

    Wenn es mehrere Zertifikate mit dem angegebenen Anzeigenamen (Friendly Name) gibt, werden mehrere Fingerabdrücke zusammenhängend zurückgegeben, und Sie müssen den entsprechenden Fingerabdruck auswählen.

  4. Um das Zertifikat an den Port zu binden, verwenden Sie den Befehl netsh http add sslcert:

    netsh http add sslcert ipport=[IP address]:443 certhash=[certificate hash] appid=[application GUID] disablelegacytls=enable
    <!--NeedCopy-->
    
    • ipport: Die IP-Adresse und der Port. Die Verwendung von 0.0.0.0:443 wendet dies auf alle IP-Adressen an. Sie können stattdessen eine bestimmte IP-Adresse angeben.

    • certhash: Der Fingerabdruck des Zertifikats, das Sie im vorherigen Schritt identifiziert haben.
    • appid: Die GUID des Citrix Broker Service.

      Hinweis:

      Beim Erneuern eines Zertifikats oder erneuten Binden verwenden Sie die spezifische appid, die dem Broker Service zugeordnet ist, anstatt einer beliebigen GUID.

      So finden Sie die korrekte appid für den Citrix Broker Service:

      1. Öffnen Sie ein PowerShell-Befehlsfenster als Administrator und führen Sie den folgenden Befehl aus:

         Get-WmiObject -Class Win32_Product | Select-String -Pattern "broker"
         <!--NeedCopy-->
        
      2. Suchen Sie die IdentifyingNumber (GUID) für den Citrix Broker Service in der Ausgabe (zum Beispiel {D333C884-187F-447C-8C67-463F33989C8F}). Verwenden Sie diese GUID für den appid-Parameter.

    • disablelegacytls=enable: Deaktiviert ältere TLS-Versionen. Dieser Parameter ist unter Windows 2022 und höher verfügbar. Unter Windows 2022 deaktiviert er TLS 1.0 und 1.1. Unter Windows 2025 ist dies unnötig, da TLS 1.0 und 1.1 standardmäßig deaktiviert sind.

    Führen Sie beispielsweise den folgenden Befehl aus, um das Zertifikat mit dem Fingerabdruck bc96f958848639fd101a793b87915d5f2829b0b6 an Port 443 auf allen IP-Adressen zu binden:

    netsh http add sslcert ipport=0.0.0.0:443 certhash=bc96f958848639fd101a793b87915d5f2829b0b6 appid={91fe7386-e0c2-471b-a252-1e0a805febac} disablelegacytls=enable
    <!--NeedCopy-->
    

Sobald HTTPS aktiviert ist, sollten Sie alle StoreFront-Bereitstellungen und Netscaler Gateways so konfigurieren, dass sie HTTPS anstelle von HTTP verwenden, um eine Verbindung zum Delivery Controller herzustellen.

Monitor Service OData API für HTTPS konfigurieren

Der Überwachungsdienst stellt OData v3- und v4-APIs bereit, damit Citrix®- und Drittanbieteranwendungen Daten abfragen können. Director stellt über die OData API V3 eine Verbindung zum Überwachungsdienst her. Führen Sie die folgenden Schritte aus, um die Monitor OData APIs für HTTPS zu konfigurieren:

  1. Führen Sie das folgende PowerShell-Skript aus:

    $serviceGroup = Get-ConfigRegisteredServiceInstance -ServiceType Monitor | Select -First 1 ServiceGroupUid
    Remove-ConfigServiceGroup -ServiceGroupUid $serviceGroup.ServiceGroupUid
    & 'C:\Program Files\Citrix\Monitor\Service\citrix.monitor.exe' -ConfigureFirewall -RequireODataTls OdataPort 443 -RequireODataSdkTls OdataSdkPort 443
    get-MonitorServiceInstance | register-ConfigServiceInstance
    Get-ConfigRegisteredServiceInstance -ServiceType Config | Reset-MonitorServiceGroupMembership
    <!--NeedCopy-->
    
  2. Öffnen Sie die Datei C:\Program Files\Citrix\Monitor\Service\Citrix.Monitor.exe.Config mit einem Texteditor. Suchen Sie das Element <add key="owin:baseAddress" value="http://localhost/citrix/monitor/odata/v4" /> und ändern Sie es in <add key="owin:baseAddress" value="https://localhost/citrix/monitor/odata/v4" />.

Cipher Suites konfigurieren

Die Reihenfolgeliste der Cipher Suites muss die Cipher Suites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 oder TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (oder beide) enthalten; und diese Cipher Suites müssen allen TLS_DHE_ Cipher Suites vorangestellt sein.

  1. Navigieren Sie im Microsoft Gruppenrichtlinien-Editor zu Computerkonfiguration > Administrative Vorlagen > Netzwerk > SSL-Konfigurationseinstellungen.
  2. Bearbeiten Sie die Richtlinie „SSL-Cipher-Suite-Reihenfolge“. Standardmäßig ist diese Richtlinie auf „Nicht konfiguriert“ eingestellt. Setzen Sie diese Richtlinie auf „Aktiviert“.
  3. Ordnen Sie die Suites in der richtigen Reihenfolge an; entfernen Sie alle Cipher Suites, die Sie nicht verwenden möchten.

Stellen Sie sicher, dass entweder TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 oder TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 allen TLS_DHE_ Cipher Suites vorangestellt ist.

Siehe auch Konfigurieren der TLS-Cipher-Suite-Reihenfolge auf Microsoft Learn.

Nur HTTPS-Datenverkehr erzwingen

Es wird empfohlen, den XML-Dienst so zu konfigurieren, dass er HTTP-Datenverkehr ignoriert.

  1. Führen Sie regedit aus.
  2. Öffnen Sie HKLM\Software\Citrix\DesktopServer\.
  3. Erstellen Sie einen neuen DWORD-Wert mit dem Namen XmlServicesEnableNonSsl und setzen Sie ihn auf 0.
  4. Starten Sie den Broker-Dienst neu.

Es gibt einen entsprechenden Registrierungs-DWORD-Wert XmlServicesEnableSsl, den Sie erstellen können, um HTTPS-Datenverkehr zu ignorieren. Stellen Sie sicher, dass er nicht auf 0 gesetzt ist.

HTTP- oder HTTPS-Ports ändern

Standardmäßig lauscht der XML-Dienst auf dem Controller an Port 80 für HTTP-Datenverkehr und an Port 443 für HTTPS-Datenverkehr. Obwohl Sie nicht standardmäßige Ports verwenden können, sollten Sie sich der Sicherheitsrisiken bewusst sein, die mit der Offenlegung eines Controllers gegenüber nicht vertrauenswürdigen Netzwerken verbunden sind. Die Bereitstellung eines eigenständigen StoreFront-Servers ist dem Ändern der Standardeinstellungen vorzuziehen.

Um die vom Controller verwendeten Standard-HTTP- oder HTTPS-Ports zu ändern, führen Sie den folgenden Befehl in Studio aus:

BrokerService.exe -StoreFrontPort <http-port> -StoreFrontTlsPort <https-port>
<!--NeedCopy-->

wobei <http-port> die Portnummer für HTTP-Datenverkehr und <https-port> die Portnummer für HTTPS-Datenverkehr ist.

Hinweis:

Nach dem Ändern eines Ports zeigt Studio möglicherweise eine Meldung zur Lizenzkompatibilität und zum Upgrade an. Um das Problem zu beheben, registrieren Sie die Dienstinstanzen mithilfe der folgenden PowerShell-Cmdlet-Sequenz neu:

Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding XML_HTTPS |
Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance
<!--NeedCopy-->
TLS auf Delivery Controllern aktivieren