Citrix Virtual Apps and Desktops 7 2402 LTSR

Transport Layer Security (TLS)

Citrix Virtual Apps and Desktops unterstützen das Transport Layer Security (TLS)-Protokoll für TCP-basierte Verbindungen zwischen Komponenten. Citrix Virtual Apps and Desktops unterstützen auch das Datagram Transport Layer Security (DTLS)-Protokoll für UDP-basierte ICA/HDX-Verbindungen unter Verwendung von adaptivem Transport.

TLS und DTLS sind ähnlich und unterstützen dieselben digitalen Zertifikate. Wenn Sie eine Citrix Virtual Apps- oder Citrix Virtual Desktops™-Site für die Verwendung von TLS konfigurieren, wird sie auch für die Verwendung von DTLS konfiguriert. Verwenden Sie die folgenden Verfahren; die Schritte sind für TLS und DTLS gleich, sofern nicht anders angegeben:

  • Beschaffen, installieren und registrieren Sie ein Serverzertifikat auf allen Delivery Controllern und konfigurieren Sie einen Port mit dem TLS-Zertifikat. Weitere Informationen finden Sie unter Installieren von TLS-Serverzertifikaten auf Controllern.

    Optional können Sie die Ports ändern, die der Controller für den HTTP- und HTTPS-Datenverkehr verwendet.

  • Aktivieren Sie TLS-Verbindungen zwischen der Citrix Workspace™-App und Virtual Delivery Agents (VDAs), indem Sie die folgenden Aufgaben ausführen:

    • Konfigurieren Sie TLS auf den Maschinen, auf denen die VDAs installiert sind. (Der Einfachheit halber werden weitere Verweise auf Maschinen, auf denen VDAs installiert sind, einfach als „VDAs“ bezeichnet.) Allgemeine Informationen finden Sie unter TLS-Einstellungen auf VDAs. Es wird dringend empfohlen, das von Citrix bereitgestellte PowerShell-Skript zur Konfiguration von TLS/DTLS zu verwenden. Weitere Informationen finden Sie unter Konfigurieren von TLS auf einem VDA mithilfe des PowerShell-Skripts. Wenn Sie TLS/DTLS jedoch manuell konfigurieren möchten, lesen Sie Manuelles Konfigurieren von TLS auf einem VDA.
    • Konfigurieren Sie TLS in den Delivery Groups, die die VDAs enthalten, indem Sie eine Reihe von PowerShell-Cmdlets in Studio ausführen. Weitere Informationen finden Sie unter Konfigurieren von TLS in Delivery Groups.

      Anforderungen und Überlegungen:

      • Die Aktivierung von TLS-Verbindungen zwischen Benutzern und VDAs ist nur für XenApp 7.6- und XenDesktop 7.6-Sites sowie spätere unterstützte Releases gültig.
      • Konfigurieren Sie TLS in den Delivery Groups und auf den VDAs, nachdem Sie Komponenten installiert, eine Site erstellt, Maschinenkataloge erstellt und Delivery Groups erstellt haben.
      • Um TLS in den Delivery Groups zu konfigurieren, müssen Sie die Berechtigung haben, Controller-Zugriffsregeln zu ändern. Ein Volladministrator besitzt diese Berechtigung.
      • Um TLS auf den VDAs zu konfigurieren, müssen Sie Windows-Administrator auf der Maschine sein, auf der der VDA installiert ist.
      • Auf gepoolten VDAs, die von Machine Creation Services™ oder Provisioning Services bereitgestellt werden, wird das VDA-Maschinenimage beim Neustart zurückgesetzt, wodurch frühere TLS-Einstellungen verloren gehen. Führen Sie das PowerShell-Skript bei jedem Neustart des VDAs aus, um die TLS-Einstellungen neu zu konfigurieren.

Warnung:

Bei Aufgaben, die die Arbeit in der Windows-Registrierung umfassen: Eine falsche Bearbeitung der Registrierung kann schwerwiegende Probleme verursachen, die möglicherweise eine Neuinstallation des Betriebssystems erfordern. Citrix® kann nicht garantieren, dass Probleme, die aus der falschen Verwendung des Registrierungs-Editors resultieren, behoben werden können. Verwenden Sie den Registrierungs-Editor auf eigenes Risiko. Sichern Sie die Registrierung, bevor Sie sie bearbeiten.

Informationen zum Aktivieren von TLS für die Site-Datenbank finden Sie unter CTX137556.

Installieren von TLS-Serverzertifikaten auf Controllern

Für HTTPS unterstützt der XML-Dienst TLS-Funktionen mithilfe von Serverzertifikaten, nicht Clientzertifikaten. Dieser Abschnitt beschreibt den Erwerb und die Installation von TLS-Zertifikaten in Delivery Controllern. Dieselben Schritte können auf Cloud Connectors angewendet werden, um STA- und XML-Datenverkehr zu verschlüsseln.

Obwohl es verschiedene Arten von Zertifizierungsstellen und Methoden zur Anforderung von Zertifikaten gibt, beschreibt dieser Artikel die Microsoft-Zertifizierungsstelle. Die Microsoft-Zertifizierungsstelle muss eine Zertifikatvorlage mit dem Zweck der Serverauthentifizierung veröffentlicht haben.

Wenn die Microsoft-Zertifizierungsstelle in eine Active Directory-Domäne oder in die vertrauenswürdige Gesamtstruktur integriert ist, der die Delivery Controller beigetreten sind, können Sie ein Zertifikat über den Zertifikatsregistrierungs-Assistenten des MMC-Snap-Ins „Zertifikate“ erwerben.

Anfordern und Installieren eines Zertifikats

  1. Öffnen Sie auf dem Delivery Controller™ die MMC-Konsole und fügen Sie das Snap-In „Zertifikate“ hinzu. Wählen Sie bei Aufforderung „Computerkonto“ aus.
  2. Erweitern Sie Persönlich > Zertifikate, und verwenden Sie dann den Kontextmenübefehl Alle Aufgaben > Neues Zertifikat anfordern.

    MMC-Snap-In „Zertifikate“

  3. Klicken Sie auf Weiter, um zu beginnen, und erneut auf Weiter, um zu bestätigen, dass Sie das Zertifikat von der Active Directory-Registrierung beziehen.
  4. Wählen Sie die Vorlage für das Serverauthentifizierungszertifikat aus. Wenn die Vorlage so eingerichtet wurde, dass die Werte für den Betreff automatisch bereitgestellt werden, können Sie auf Registrieren klicken, ohne weitere Details anzugeben.

    Dialogfeld „Zertifikate anfordern“

  5. Um weitere Details für die Zertifikatvorlage anzugeben, klicken Sie auf die Pfeilschaltfläche Details und konfigurieren Sie Folgendes:

    Antragstellername: Wählen Sie „Allgemeiner Name“ und fügen Sie den FQDN des Delivery Controllers hinzu.

    Alternativer Name: Wählen Sie DNS aus und fügen Sie den FQDN des Delivery Controllers hinzu.

    Zertifikateigenschaften

Konfigurieren des SSL/TLS-Listener-Ports

  1. Öffnen Sie ein PowerShell-Befehlsfenster als Administrator des Computers.
  2. Führen Sie die folgenden Befehle aus, um die GUID der Broker Service-Anwendung abzurufen:

    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
    
    $Service_Guid = Get-ChildItem HKCR:\Installer\Products -Recurse -Ea 0 | Where-Object { $key = $_; $_.GetValueNames() | ForEach-Object { $key.GetValue($_) } | Where-Object { $_ -like 'Citrix Broker Service' } } | Select-Object Name
    
    $Service_Guid.Name -match "[A-Z0-9]*$"
    
    $Guid = $Matches[0]
    
    [GUID]$Formatted_Guid = $Guid
    
    Remove-PSDrive -Name HKCR
    
    Write-Host "Broker Service Application GUID: $($Formatted_Guid)" -ForegroundColor Yellow
    <!--NeedCopy-->
    
  3. Führen Sie die folgenden Befehle im selben PowerShell-Fenster aus, um den Fingerabdruck des zuvor installierten Zertifikats abzurufen:

    $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-->
    
  4. Führen Sie die folgenden Befehle im selben PowerShell-Fenster aus, um den SSL/TLS-Port des Broker Service zu konfigurieren und das Zertifikat für die Verschlüsselung zu verwenden:

    $IPV4_Address = Test-Connection -ComputerName $HostName -Count 1  | Select-Object -ExpandProperty IPV4Address
    
    $IPPort = "$($IPV4_Address):443"
    
    $SSLxml = "http add sslcert ipport=$IPPort certhash=$Thumbprint appid={$Formatted_Guid}"
    
    $SSLxml | netsh
    
    . netsh http show sslcert
    <!--NeedCopy-->
    

Bei korrekter Konfiguration zeigt die Ausgabe des letzten Befehls .netsh http show sslcert, dass der Listener den richtigen IP:port verwendet und dass Application ID mit der GUID der Broker Service-Anwendung übereinstimmt.

Wenn die Server dem auf den Delivery Controllern installierten Zertifikat vertrauen, können Sie jetzt die StoreFront™ Delivery Controller und Citrix Gateway STA-Bindungen so konfigurieren, dass sie HTTPS anstelle von HTTP verwenden.

Hinweis:

Wenn der Controller unter Windows Server 2016 installiert ist und StoreFront unter Windows Server 2012 R2, ist eine Konfigurationsänderung am Controller erforderlich, um die Reihenfolge der TLS-Cipher Suites zu ändern. Diese Konfigurationsänderung ist für Controller und StoreFront mit anderen Kombinationen von Windows Server-Versionen nicht erforderlich.

Die Liste der Cipher Suite-Reihenfolge muss die TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384- oder TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256-Cipher Suites (oder beide) enthalten; und diese Cipher Suites müssen allen TLS_DHE_-Cipher Suites vorangehen.

  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 auf Microsoft MSDN: Priorisieren von Schannel-Cipher-Suites.

Ändern von HTTP- oder HTTPS-Ports

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 entstehen, wenn ein Controller nicht vertrauenswürdigen Netzwerken ausgesetzt wird. 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 -WIPORT \<http-port> -WISSLPORT \<https-port>

wobei <http-port> die Portnummer für HTTP-Datenverkehr ist 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 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-->

Nur HTTPS-Datenverkehr erzwingen

Wenn der XML-Dienst HTTP-Datenverkehr ignorieren soll, erstellen Sie die folgende Registrierungseinstellung unter HKLM\Software\Citrix\DesktopServer\ auf dem Controller und starten Sie anschließend den Broker-Dienst neu.

Um HTTP-Datenverkehr zu ignorieren, erstellen Sie den DWORD-Wert XmlServicesEnableNonSsl und setzen Sie ihn auf 0.

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

TLS-Einstellungen auf VDAs

Eine Bereitstellungsgruppe kann keine Mischung aus VDAs mit und ohne TLS-Konfiguration enthalten. Bevor Sie TLS für eine Bereitstellungsgruppe konfigurieren, stellen Sie sicher, dass Sie TLS bereits für alle VDAs in dieser Bereitstellungsgruppe konfiguriert haben.

Wenn Sie TLS auf VDAs konfigurieren, werden die Berechtigungen für das installierte TLS-Zertifikat geändert, wodurch der ICA®-Dienst Lesezugriff auf den privaten Schlüssel des Zertifikats erhält und der ICA-Dienst über Folgendes informiert wird:

  • Welches Zertifikat im Zertifikatspeicher für TLS verwendet werden soll.
  • Welche TCP-Portnummer für TLS-Verbindungen verwendet werden soll.

    Die Windows-Firewall (sofern aktiviert) muss so konfiguriert werden, dass eingehende Verbindungen über diesen TCP-Port zugelassen werden. Diese Konfiguration wird für Sie vorgenommen, wenn Sie das PowerShell-Skript verwenden.

  • Welche Versionen des TLS-Protokolls zugelassen werden sollen.

    Wichtig:

    Citrix empfiehlt, die Verwendung von SSLv3 zu überprüfen und die entsprechenden Bereitstellungen neu zu konfigurieren, um die Unterstützung für SSLv3 gegebenenfalls zu entfernen. Siehe CTX200238.

    Die unterstützten TLS-Protokollversionen folgen einer Hierarchie (von der niedrigsten zur höchsten): SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2 und TLS 1.3. Geben Sie die mindestens zulässige Version an; alle Protokollverbindungen, die diese Version oder eine höhere Version verwenden, sind zulässig.

    Wenn Sie beispielsweise TLS 1.1 als Mindestversion angeben, sind TLS 1.1- und TLS 1.3-Protokollverbindungen zulässig. Wenn Sie SSL 3.0 als Mindestversion angeben, sind Verbindungen für alle unterstützten Versionen zulässig. Wenn Sie TLS 1.3 als Mindestversion angeben, sind nur TLS 1.3-Verbindungen zulässig.

    DTLS 1.0 entspricht TLS 1.1 und DTLS 1.3 entspricht TLS 1.3.

  • Welche TLS-Cipher-Suites zugelassen werden sollen.

    Eine Cipher-Suite wählt die Verschlüsselung aus, die für eine Verbindung verwendet wird. Clients und VDAs können unterschiedliche Sätze von Cipher-Suites unterstützen. Wenn ein Client (Citrix Workspace-App oder StoreFront) eine Verbindung herstellt und eine Liste der unterstützten TLS-Cipher-Suites sendet, gleicht der VDA eine der Cipher-Suites des Clients mit einer der Cipher-Suites in seiner eigenen Liste der konfigurierten Cipher-Suites ab und akzeptiert die Verbindung. Wenn keine passende Cipher-Suite vorhanden ist, lehnt der VDA die Verbindung ab.

    Der VDA unterstützt drei Sätze von Cipher-Suites (auch als Kompatibilitätsmodi bezeichnet): GOV(ernment), COM(mercial) und ALL. Die zulässigen Cipher-Suites hängen auch vom Windows FIPS-Modus ab; siehe http://support.microsoft.com/kb/811833 für Informationen zum Windows FIPS-Modus. Die folgende Tabelle listet die Cipher-Suites in jedem Satz auf:

TLS/DTLS-Cipher-Suite ALLE COM GOV ALLE COM GOV
FIPS-Modus Aus Aus Aus Ein Ein Ein
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384* X   X X   X
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 X   X X   X
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA X X   X X  

* Nicht unterstützt in Windows Server 2012 R2.

Hinweis:

Der VDA unterstützt keine DHE-Cipher-Suites (zum Beispiel TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 und TLS_DHE_RSA_WITH_AES_128_CBC_SHA). Wenn sie von Windows ausgewählt werden, werden sie möglicherweise nicht von Receiver verwendet.

Wenn Sie ein Citrix Gateway verwenden, lesen Sie die Citrix ADC-Dokumentation für Informationen zur Unterstützung von Cipher Suites für die Back-End-Kommunikation. Informationen zur Unterstützung von TLS-Cipher Suites finden Sie unter Auf den Citrix ADC Appliances verfügbare Cipher. Informationen zur Unterstützung von DTLS-Cipher Suites finden Sie unter DTLS-Cipher-Unterstützung.

Anfordern und Installieren eines Zertifikats

  1. Öffnen Sie auf dem VDA die MMC-Konsole und fügen Sie das Zertifikate-Snap-In hinzu. Wählen Sie bei Aufforderung das Computerkonto aus.
  2. Erweitern Sie Persönlich > Zertifikate und verwenden Sie dann den Kontextmenübefehl Alle Aufgaben > Neues Zertifikat anfordern.
  3. Klicken Sie auf Weiter, um zu beginnen, und erneut auf Weiter, um zu bestätigen, dass Sie das Zertifikat über die Active Directory-Registrierung beziehen.
  4. Wählen Sie die Vorlage für das Serverauthentifizierungszertifikat aus. Sowohl die Standard-Windows-Vorlage Computer als auch Webserver exportierbar sind akzeptabel. Wenn die Vorlage so eingerichtet wurde, dass sie die Werte für den Betreff automatisch bereitstellt, können Sie auf Registrieren klicken, ohne weitere Details anzugeben.

    Dialogfeld „Zertifikate anfordern“

  5. Um weitere Details für die Zertifikatvorlage anzugeben, klicken Sie auf Details und konfigurieren Sie Folgendes:

    Antragstellername — wählen Sie den Typ Allgemeiner Name und fügen Sie den FQDN des VDA hinzu

    Alternativer Name — wählen Sie den Typ DNS und fügen Sie den FQDN des VDA hinzu

    Zertifikateigenschaften

    Hinweis:

    Verwenden Sie die automatische Zertifikatregistrierung der Active Directory-Zertifikatdienste, um die Ausstellung und Bereitstellung von Zertifikaten für die VDAs zu automatisieren. Dies wird in https://support.citrix.com/article/CTX205473 beschrieben.

    Sie können Wildcard-Zertifikate verwenden, um mehrere VDAs mit einem einzigen Zertifikat zu sichern:

    Antragstellername — wählen Sie den Typ Allgemeiner Name und geben Sie die *.primary.domain der VDAs ein

    Alternativer Name – wählen Sie den Typ DNS und fügen Sie die *.primary.domain der VDAs hinzu

    Dialogfeld „Zertifikate anfordern (Platzhalter)“

    Sie können SAN-Zertifikate verwenden, um ein einzelnes Zertifikat zum Sichern mehrerer spezifischer VDAs zu ermöglichen:

    Antragsstellername – wählen Sie den Typ Common name und geben Sie eine Zeichenfolge ein, um die Zertifikatnutzung zu identifizieren

    Alternativer Name – wählen Sie den Typ DNS und fügen Sie einen Eintrag für den FQDN jedes VDAs hinzu. Halten Sie die Anzahl der alternativen Namen auf ein Minimum, um eine optimale TLS-Aushandlung zu gewährleisten.

    Dialogfeld „Zertifikate anfordern“

    Hinweis:

    Sowohl Platzhalter- als auch SAN-Zertifikate erfordern, dass auf der Registerkarte „Privater Schlüssel“ die Option Privaten Schlüssel exportierbar machen ausgewählt ist:

    Dialogfeld „Zertifikate anfordern“

Konfigurieren von TLS auf einem VDA mithilfe des PowerShell-Skripts

Installieren Sie das TLS-Zertifikat im Bereich „Lokaler Computer > Persönlich > Zertifikate“ des Zertifikatspeichers. Wenn sich mehr als ein Zertifikat an diesem Speicherort befindet, geben Sie den Fingerabdruck des Zertifikats an das PowerShell-Skript weiter.

Hinweis:

Ab XenApp und XenDesktop 7.16 LTSR findet das PowerShell-Skript das richtige Zertifikat basierend auf dem FQDN des VDAs. Sie müssen den Fingerabdruck nicht angeben, wenn nur ein einzelnes Zertifikat für den VDA-FQDN vorhanden ist.

Das Skript Enable-VdaSSL.ps1 aktiviert oder deaktiviert den TLS-Listener auf einem VDA. Dieses Skript ist im Ordner Support > Tools > SslSupport auf dem Installationsmedium verfügbar.

Wenn Sie TLS aktivieren, werden DHE-Cipher-Suites deaktiviert. ECDHE-Cipher-Suites sind davon nicht betroffen.

Wenn Sie TLS aktivieren, deaktiviert das Skript alle vorhandenen Windows-Firewall-Regeln für den angegebenen TCP-Port. Anschließend wird eine neue Regel hinzugefügt, die es dem ICA-Dienst erlaubt, eingehende Verbindungen nur über die TLS-TCP- und UDP-Ports zu akzeptieren. Es deaktiviert auch die Windows-Firewall-Regeln für:

  • Citrix ICA (Standard: 1494)
  • Citrix CGP (Standard: 2598)
  • Citrix WebSocket (Standard: 8008)

Dies hat zur Folge, dass Benutzer nur über TLS oder DTLS eine Verbindung herstellen können. Sie können ICA/HDX, ICA/HDX mit Sitzungszuverlässigkeit oder HDX über WebSocket nicht ohne TLS oder DTLS verwenden.

Hinweis:

DTLS wird nicht mit ICA/HDX Audio über UDP Real-time Transport oder mit ICA/HDX Framehawk unterstützt.

Siehe Netzwerkports.

Das Skript enthält die folgenden Syntaxbeschreibungen sowie zusätzliche Beispiele; Sie können ein Tool wie Notepad++ verwenden, um diese Informationen zu überprüfen.

Wichtig:

Geben Sie entweder den Parameter Enable oder Disable und den Parameter CertificateThumbPrint an. Die anderen Parameter sind optional.

Syntax

Enable-VdaSSL {-Enable | -Disable} -CertificateThumbPrint "<thumbprint>" [-SSLPort <port>] [-SSLMinVersion "<min-ssl-version>"] [-SSLCipherSuite"\<suite>"]

Parameter Beschreibung
Aktivieren Installiert und aktiviert den TLS-Listener auf dem VDA. Entweder dieser Parameter oder der Parameter „Disable“ ist erforderlich.
Deaktivieren Deaktiviert den TLS-Listener auf dem VDA. Entweder dieser Parameter oder der Parameter „Enable“ ist erforderlich. Wenn Sie diesen Parameter angeben, sind keine anderen Parameter gültig.
Zertifikat-Fingerabdruck “" Fingerabdruck des TLS-Zertifikats im Zertifikatspeicher, in Anführungszeichen eingeschlossen. Das Skript verwendet den angegebenen Fingerabdruck, um das gewünschte Zertifikat auszuwählen. Wird dieser Parameter weggelassen, wird ein falsches Zertifikat ausgewählt.
SSL-Port TLS-Port. Standard: 443
SSL-Mindestversion “" Mindestversion des TLS-Protokolls, in Anführungszeichen eingeschlossen. Gültige Werte: „TLS_1.0“ (Standard), „TLS_1.1“ und „TLS_1.3“.
SSL-Chiffre-Suite “" TLS-Cipher-Suite, in Anführungszeichen eingeschlossen. Gültige Werte: „GOV“, „COM“ und „ALL“ (Standard).

Beispiele

Das folgende Skript installiert und aktiviert den Wert der TLS-Protokollversion. Der Fingerabdruck (in diesem Beispiel dargestellt als „12345678987654321“) wird verwendet, um das zu verwendende Zertifikat auszuwählen.

Enable-VdaSSL -Enable -CertificateThumbPrint "12345678987654321"

Das folgende Skript installiert und aktiviert den TLS-Listener und gibt TLS-Port 400, die GOV-Cipher-Suite und einen minimalen TLS 1.2-Protokollwert an. Der Fingerabdruck (in diesem Beispiel dargestellt als „12345678987654321“) wird verwendet, um das zu verwendende Zertifikat auszuwählen.

Enable-VdaSSL -Enable
-CertificateThumbPrint "12345678987654321"
-SSLPort 400 -SSLMinVersion "TLS_1.3"
-SSLCipherSuite "All"

Das folgende Skript deaktiviert den TLS-Listener auf dem VDA.

Enable-VdaSSL -Disable

TLS auf einem VDA manuell konfigurieren

Wenn Sie TLS auf einem VDA manuell konfigurieren, gewähren Sie dem privaten Schlüssel des TLS-Zertifikats für den entsprechenden Dienst auf jedem VDA generischen Lesezugriff: NT SERVICE\PorticaService für einen VDA für Windows Single-Session OS oder NT SERVICE\TermService für einen VDA für Windows Multi-Session OS. Auf dem Computer, auf dem der VDA installiert ist:

SCHRITT 1. Starten Sie die Microsoft Management Console (MMC): Start > Ausführen > mmc.exe.

SCHRITT 2. Fügen Sie das Zertifikate-Snap-In zur MMC hinzu:

  1. Wählen Sie Datei > Snap-In hinzufügen/entfernen.
  2. Wählen Sie Zertifikate und klicken Sie dann auf Hinzufügen.
  3. Wenn Sie mit „Dieses Snap-In verwaltet immer Zertifikate für:“ aufgefordert werden, wählen Sie „Computerkonto“ und klicken Sie dann auf Weiter.
  4. Wenn Sie mit „Wählen Sie den Computer aus, den dieses Snap-In verwalten soll“ aufgefordert werden, wählen Sie „Lokaler Computer“ und klicken Sie dann auf Fertig stellen.

SCHRITT 3. Klicken Sie unter Zertifikate (Lokaler Computer) > Persönlich > Zertifikate mit der rechten Maustaste auf das Zertifikat und wählen Sie dann Alle Aufgaben > Private Schlüssel verwalten.

SCHRITT 4. Der Editor für Zugriffssteuerungslisten zeigt „Berechtigungen für private Schlüssel von (FriendlyName)“ an, wobei (FriendlyName) der Name Ihres TLS-Zertifikats ist. Fügen Sie einen der folgenden Dienste hinzu und erteilen Sie ihm Lesezugriff:

  • Für einen VDA für Windows Single-Session OS: „PORTICASERVICE“
  • Für einen VDA für Windows Multi-Session OS: „TERMSERVICE“

SCHRITT 5. Doppelklicken Sie auf das installierte TLS-Zertifikat. Wählen Sie im Zertifikatdialog die Registerkarte Details und scrollen Sie dann nach unten. Klicken Sie auf Fingerabdruck.

SCHRITT 6. Führen Sie regedit aus und navigieren Sie zu HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.

  1. Bearbeiten Sie den Schlüssel SSL Thumbprint und kopieren Sie den Wert des TLS-Zertifikat-Fingerabdrucks in diesen Binärwert. Sie können unbekannte Elemente im Dialogfeld „Binärwert bearbeiten“ (z. B. ‘0000’ und Sonderzeichen) sicher ignorieren.
  2. Bearbeiten Sie den Schlüssel SSLEnabled und ändern Sie den DWORD-Wert in 1. (Um SSL später zu deaktivieren, ändern Sie den DWORD-Wert in 0.)
  3. Wenn Sie die Standardeinstellungen ändern möchten (optional), verwenden Sie Folgendes im selben Registrierungspfad:

    SSLPort DWORD – SSL-Portnummer. Standard: 443.

    SSLMinVersion DWORD – 1 = SSL 3.0, 2 = TLS 1.0, 3 = TLS 1.1, 4 = TLS 1.3. Standard: 2 (TLS 1.0).

    SSLCipherSuite DWORD – 1 = GOV, 2 = COM, 3 = ALL. Standard: 3 (ALLE).

SCHRITT 7. Stellen Sie sicher, dass die TLS-TCP- und UDP-Ports in der Windows-Firewall geöffnet sind, wenn sie nicht dem Standard 443 entsprechen. (Wenn Sie die eingehende Regel in der Windows-Firewall erstellen, stellen Sie sicher, dass in ihren Eigenschaften die Einträge „Verbindung zulassen“ und „Aktiviert“ ausgewählt sind.)

SCHRITT 8. Stellen Sie sicher, dass keine anderen Anwendungen oder Dienste (wie IIS) den TLS-TCP-Port verwenden.

SCHRITT 9. Starten Sie bei VDAs für Windows Multi-Session OS den Computer neu, damit die Änderungen wirksam werden. (Sie müssen keine Computer neu starten, die VDAs für Windows Single-Session OS enthalten.)

Wichtig:

Ein zusätzlicher Schritt ist erforderlich, wenn der VDA unter Windows Server 2012 R2, Windows Server 2016 oder Windows 10 Anniversary Edition oder einer später unterstützten Version ausgeführt wird. Dies betrifft Verbindungen von Citrix Receiver für Windows (Version 4.6 bis 4.9), Citrix Workspace-App für HTML5 und Citrix Workspace-App für Chrome. Dies umfasst auch Verbindungen über Citrix Gateway.

Dieser Schritt ist auch für alle Verbindungen über Citrix Gateway und für alle VDA-Versionen erforderlich, wenn TLS zwischen dem Citrix Gateway und dem VDA konfiguriert ist. Dies betrifft alle Citrix Receiver™-Versionen.

Auf dem VDA (Windows Server 2012 R2, Windows Server 2016 oder Windows 10 Anniversary Edition oder höher) navigieren Sie mit dem Gruppenrichtlinien-Editor zu Computerkonfiguration > Richtlinien > Administrative Vorlagen > Netzwerk > SSL-Konfigurationseinstellungen > SSL-Chiffre-Suite-Reihenfolge. Wählen Sie die folgende Reihenfolge aus:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256

Hinweis:

Die ersten sechs Elemente geben auch die elliptische Kurve P384 oder P256 an. Stellen Sie sicher, dass „curve25519“ nicht ausgewählt ist. Der FIPS-Modus verhindert die Verwendung von „curve25519“ nicht.

Wenn diese Gruppenrichtlinieneinstellung konfiguriert ist, wählt der VDA eine Cipher Suite nur aus, wenn sie in beiden Listen vorkommt: in der Gruppenrichtlinienliste und in der Liste für den ausgewählten Kompatibilitätsmodus (COM, GOV oder ALL). Die Cipher Suite muss auch in der vom Client (Citrix Workspace-App oder StoreFront) gesendeten Liste enthalten sein.

Diese Gruppenrichtlinienkonfiguration wirkt sich auch auf andere TLS-Anwendungen und -Dienste auf dem VDA aus. Wenn Ihre Anwendungen bestimmte Cipher Suites erfordern, müssen Sie diese möglicherweise zu dieser Gruppenrichtlinienliste hinzufügen.

Wichtig:

Obwohl Gruppenrichtlinienänderungen bei ihrer Anwendung angezeigt werden, werden Gruppenrichtlinienänderungen für die TLS-Konfiguration erst nach einem Neustart des Betriebssystems wirksam. Wenden Sie daher bei gepoolten Desktops die Gruppenrichtlinienänderungen für die TLS-Konfiguration auf das Basisimage an.

TLS auf Delivery Groups konfigurieren

Führen Sie dieses Verfahren für jede Delivery Group aus, die VDAs enthält, die Sie für TLS-Verbindungen konfiguriert haben.

  1. Öffnen Sie in Studio die PowerShell-Konsole.
  2. Führen Sie asnp Citrix.* aus, um die Citrix-Produkt-Cmdlets zu laden.
  3. Führen Sie Get-BrokerAccessPolicyRule -DesktopGroupName ‘<delivery-group-name>’ | Set-BrokerAccessPolicyRule -HdxSslEnabled $true aus.
  4. Führen Sie Set-BrokerSite -DnsResolutionEnabled $true aus.

Problembehandlung

Wenn ein Verbindungsfehler auftritt, überprüfen Sie das Systemereignisprotokoll auf dem VDA.

Wenn Sie die Citrix Workspace-App für Windows verwenden und einen Verbindungsfehler erhalten, der auf einen TLS-Fehler hinweist, deaktivieren Sie den Desktop Viewer und versuchen Sie dann erneut, eine Verbindung herzustellen. Obwohl die Verbindung weiterhin fehlschlägt, wird möglicherweise eine Erklärung des zugrunde liegenden TLS-Problems bereitgestellt. (Sie haben beispielsweise eine falsche Vorlage angegeben, als Sie ein Zertifikat bei der Zertifizierungsstelle angefordert haben.)

Die meisten Konfigurationen, die HDX™ Adaptive Transport verwenden, funktionieren erfolgreich mit DTLS, einschließlich derjenigen, die die neuesten Versionen der Citrix Workspace-App, von Citrix Gateway und des VDA verwenden. Einige Konfigurationen, die DTLS zwischen der Citrix Workspace-App und Citrix Gateway sowie DTLS zwischen Citrix Gateway und dem VDA verwenden, erfordern zusätzliche Maßnahmen.

Zusätzliche Maßnahmen sind erforderlich, wenn:

  • die Citrix Receiver-Version HDX Adaptive Transport und DTLS unterstützt: Receiver für Windows (4.7, 4.8, 4.9), Receiver für Mac (12.5, 12.6, 12.7), Receiver für iOS (7.2, 7.3.x) oder Receiver für Linux (13.7)

und eine der folgenden Bedingungen ebenfalls zutrifft:

  • die Citrix Gateway-Version DTLS zum VDA unterstützt, die VDA-Version DTLS jedoch nicht unterstützt (Version 7.15 oder früher),

  • die VDA-Version DTLS unterstützt (Version 7.16 oder später), die Citrix Gateway-Version DTLS zum VDA jedoch nicht unterstützt.

Um zu vermeiden, dass Verbindungen von Citrix Receiver fehlschlagen, führen Sie einen der folgenden Schritte aus:

  • Aktualisieren Sie Citrix Receiver auf Receiver für Windows Version 4.10 oder höher, Receiver für Mac 12.8 oder höher oder Receiver für iOS Version 7.5 oder höher; oder
  • Aktualisieren Sie Citrix Gateway auf eine Version, die DTLS zum VDA unterstützt; oder
  • Aktualisieren Sie den VDA auf Version 7.16 oder höher; oder
  • Deaktivieren Sie DTLS am VDA; oder
  • Deaktivieren Sie HDX Adaptive Transport.

Hinweis:

Ein geeignetes Update für Receiver für Linux ist noch nicht verfügbar. Receiver für Android (Version 3.12.3) unterstützt HDX Adaptive Transport und DTLS über Citrix Gateway nicht und ist daher nicht betroffen.

Um DTLS am VDA zu deaktivieren, ändern Sie die VDA-Firewallkonfiguration, um UDP-Port 443 zu deaktivieren. Siehe Netzwerkports.

Kommunikation zwischen Controller und VDA

Die Windows Communication Framework (WCF)-Nachrichtenebenenschutz sichert die Kommunikation zwischen Controller und VDA. Ein zusätzlicher Transportebenen-Schutz mittels TLS ist nicht erforderlich. Die WCF-Konfiguration verwendet Kerberos für die gegenseitige Authentifizierung zwischen Controller und VDA. Die Verschlüsselung verwendet AES im CBC-Modus mit einem 256-Bit-Schlüssel. Die Nachrichtenintegrität verwendet SHA-1.

Laut Microsoft entsprechen die von WCF verwendeten Sicherheitsprotokolle den Standards von OASIS (Organization for the Advancement of Structured Information Standards), einschließlich WS-SecurityPolicy 1.2. Darüber hinaus gibt Microsoft an, dass WCF alle in Security Policy 1.2 aufgeführten Algorithmus-Suites unterstützt.

Die Kommunikation zwischen Controller und VDA verwendet die Algorithmus-Suite basic256, deren Algorithmen wie oben angegeben sind.

TLS und HTML5-Videoumleitung sowie Browserinhaltsumleitung

Sie können die HTML5-Videoumleitung und die Browserinhaltsumleitung verwenden, um HTTPS-Websites umzuleiten. Das in diese Websites injizierte JavaScript muss eine TLS-Verbindung zum Citrix HDX HTML5 Video Redirection Service herstellen, der auf dem VDA ausgeführt wird. Dazu generiert der HTML5 Video Redirection Service zwei benutzerdefinierte Zertifikate im Zertifikatspeicher auf dem VDA. Das Beenden des Dienstes entfernt die Zertifikate.

Die Richtlinie zur HTML5-Videoumleitung ist standardmäßig deaktiviert.

Die Browserinhaltsumleitung ist standardmäßig aktiviert.

Weitere Informationen zur HTML5-Videoumleitung finden Sie unter Multimedia-Richtlinieneinstellungen.

Transport Layer Security (TLS)