Transport Layer Security (TLS) auf dem universellen Druckserver

TLS (Transport Layer Security) wird für TCP-Verbindungen zwischen dem Virtual Delivery Agent (VDA) und dem universellen Druckserver unterstützt.

Warnung:

Vorsicht beim Bearbeiten der Windows-Registrierung: Eine unsachgemäße Bearbeitung der Registrierung kann schwerwiegende Probleme verursachen und eine Neuinstallation des Betriebssystems erforderlich machen. Citrix übernimmt keine Garantie dafür, dass Probleme, die auf eine unsachgemäße Verwendung des Registrierungs-Editors zurückzuführen sind, behoben werden können. Die Verwendung des Registrierungs-Editors geschieht daher auf eigene Gefahr. Machen Sie auf jeden Fall ein Backup der Registrierung, bevor Sie sie bearbeiten.

Arten von Druckverbindungen zwischen VDA und universellem Druckserver

Klartextverbindungen

Folgende mit dem Drucken zusammenhängende Verbindungen werden vom VDA mit Ports auf dem universellen Druckserver hergestellt. Die Verbindungen werden nur hergestellt, wenn die Richtlinieneinstellung SSL aktiviert auf die Standardeinstellung Deaktiviert festgelegt ist.

  • Klartext-Druckwebdienstverbindungen (TCP-Port 8080)
  • Klartext-Druckdatenstromverbindungen (CGP, TCP-Port 7229)

Im Artikel Dienstübersicht und Netzwerkportanforderungen für Windows des Microsoft-Supports werden die vom Microsoft Windows-Druckspoolerdienst verwendeten Ports beschrieben. Die SSL/TLS -Einstellungen in diesem Dokument gelten nicht für die NETBIOS- und RPC-Verbindungen, die vom Windows-Druckspoolerdienst hergestellt werden. Der VDA verwendet den Windows-Druckanbieter (win32spl.dll) als Fallback, wenn die Richtlinieneinstellung Universellen Druckserver aktivieren auf Aktiviert mit Fallback auf systemeigenen Windows-Remotedruck festgelegt ist.

Universeller Druckserver – Sicherheit

Verschlüsselte Verbindungen

Folgende mit dem Drucken zusammenhängende SSL/TLS-Verbindungen werden vom VDA mit Ports auf dem universellen Druckserver hergestellt. Die Verbindungen werden nur hergestellt, wenn die Richtlinieneinstellung SSL aktiviert auf Aktiviert festgelegt ist.

  • Verschlüsselte Druckwebdienstverbindungen (TCP-Port 8443)
  • Verschlüsselte Druckdatenstromverbindungen (CGP, TCP-Port 443)

Universeller Druckserver – Sicherheit

SSL/TLS-Clientkonfiguration

Der VDA fungiert als SSL/TLS-Client.

Verwenden Sie die Microsoft-Gruppenrichtlinie und die Registrierung, um Microsoft SCHANNEL SSP für verschlüsselte Druckwebdienstverbindungen (TCP-Port 8443) zu konfigurieren. Die Registrierungseinstellungen für Microsoft SCHANNEL SSP werden in dem Artikel TLS-Registrierungseinstellungen des Microsoft-Supports beschrieben.

Rufen Sie auf dem VDA (Windows Server 2016/Windows 10) im Gruppenrichtlinien-Editor Computerkonfiguration > Administrative Vorlagen > Netzwerk > SSL-Konfigurationseinstellungen > Reihenfolge der SSL-Verschlüsselungssammlungen auf. Wählen Sie die folgende Reihenfolge:

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:

Wenn diese Gruppenrichtlinieneinstellung konfiguriert ist, wählt der VDA nur dann eine Verschlüsselungssammlung für verschlüsselte Druckwebdienstverbindungen (Standardport: 8443), wenn die Verbindungen in beiden SSL-Verschlüsselungssammlungslisten aufgeführt werden:

  • Gruppenrichtlinie – Reihenfolge der SSL-Verschlüsselungssammlungen
  • Liste gemäß Einstellung der Richtlinie “SSL-Verschlüsselungssammlung” (COM, GOV oder ALL)

Diese Gruppenrichtlinienkonfiguration wirkt sich auch auf andere TLS- Anwendungen und -Dienste auf dem VDA aus. Wenn Ihre Anwendungen bestimmte Verschlüsselungssammlungen erfordern, müssen Sie diese möglicherweise der Gruppenrichtlinienliste für die Reihenfolge der Verschlüsselungssammlungen hinzufügen.

Wichtig:

Gruppenrichtlinienänderungen für die TLS-Konfiguration werden erst nach einem Neustart des Betriebssystems wirksam.

Verwenden Sie eine Citrix Richtlinie zum Konfigurieren der SSL/TLS-Einstellungen für verschlüsselte Druckdatenstromverbindungen (CGP, TCP-Port 443).

SSL/TLS-Serverkonfiguration

Der universelle Druckserver fungiert als SSL/TLS-Server.

Verwenden Sie das PowerShell-Skript Enable-UpsSsl.ps1, um SSL/TLS-Einstellungen zu konfigurieren.

Installieren des TLS-Serverzertifikats auf dem universellen Druckserver

Für HTTPS unterstützt der universelle Druckserver TLS-Features über Serverzertifikate. Clientzertifikate werden nicht verwendet. Verwenden Sie Microsoft Active Directory-Zertifikatdienste oder eine andere Zertifizierungsstelle, um ein Zertifikat für den universellen Druckserver anzufordern.

Beachten Sie beim Registrieren/Anfordern eines Zertifikats über Active Directory-Zertifikatdienste Folgendes:

  1. Speichern Sie das TLS-Zertifikat auf dem lokalen Computer im Zertifikatspeicher Eigene Zertifikate.
  2. Legen Sie für das Attribut CN des Distinguished Name (DN) des Antragstellers den vollqualifizierten des universellen Druckservers fest. Geben Sie dies in der Zertifikatvorlage an.
  3. Legen Sie den Kryptografiedienstanbieter zum Generieren der Zertifikatanforderung und des privaten Schlüssels auf Microsoft Enhanced RSA and AES Cryptographic Provider fest. Geben Sie dies in der Zertifikatvorlage an.
  4. Legen Sie die Schlüsselgröße auf mindestens 2048 Bit fest. Geben Sie dies in der Zertifikatvorlage an.

Konfigurieren von SSL auf dem universellen Druckserver

Der XTE-Dienst auf dem universellen Druckserver überwacht auf eingehende Verbindungen. Er fungiert als SSL-Server, wenn SSL aktiviert ist. Es gibt eingehende Verbindungen zweierlei Art: Druckwebdienstverbindungen mit Druckbefehlen und Druckdatenstromverbindungen mit Druckaufträgen. SSL kann für diese Verbindungen aktiviert werden. SSL schützt die Vertraulichkeit und Integrität dieser Verbindungen. Standardmäßig ist SSL deaktiviert.

Das zum Konfigurieren von SSL verwendete PowerShell-Skript befindet sich auf dem Installationsmedium unter folgendem Dateinamen: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Konfigurieren von Überwachungsportnummern auf dem universellen Druckserver

Standardports für den XTE-Dienst:

  • TCP-Port für Klartext-Druckwebdienst (HTTP): 8080
  • TCP-Port für Klartext-Druckdatenströme (CGP): 7229
  • TCP-Port für verschlüsselten Druckwebdienst (HTTPS): 8443
  • TCP-Port für verschlüsselte Druckdatenströme (CGP): 443

Zum Ändern der vom XTE-Dienst auf dem universellen Druckserver verwendeten Ports führen Sie die folgenden PowerShell-Befehle als Administrator aus (zur Verwendung des PowerShell-Skripts Enable-upsssl.ps1 siehe weiter unten):

  1. Stop-Service CitrixXTEServer, UpSvc
  2. Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port> oder Enable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port>
  3. Start-Service CitrixXTEServer

TLS-Einstellungen auf dem universellen Druckserver

Wenn Sie mehrere universelle Druckserver in einer Konfiguration mit Lastausgleich ausführen, müssen die TLS-Einstellungen bei allen gleich konfiguriert sein.

Wenn Sie TLS auf einem universellen Druckserver konfigurieren, werden Berechtigungen für das installierte TLS-Zertifikat geändert. Der universelle Druckdienst erhält Lesezugriff auf den privaten Schlüssel des Zertifikats und wird über Folgendes informiert:

  • Das für TLS zu verwendende Zertifikat im Zertifikatspeicher
  • Die für TLS-Verbindungen zu verwendenden TCP-Portnummern.

Die Windows-Firewall (wenn sie aktiviert ist) muss so konfiguriert sein, dass eingehende Verbindungen für diese TCP-Ports zugelassen sind. Diese Konfiguration wird für Sie ausgeführt, wenn Sie das PowerShell-Skript Enable-UpsSsl.ps1 verwenden.

  • Die zulässigen Versionen des TLS-Protokolls

Der universelle Druckserver unterstützt die TLS-Protokollversionen 1.2, 1.1 und 1.0. Geben Sie die niedrigste zulässige Version an.

Die Standardversion des TLS-Protokolls ist 1.2.

  • Die zulässigen TLS-Verschlüsselungssammlungen

Über eine Verschlüsselungssammlung werden die Kryptografiealgorithmen für eine Verbindung gewählt. VDAs und universeller Druckserver können verschiedene Gruppen von Verschlüsselungssammlungen unterstützen. Wenn ein VDA eine Verbindung herstellt und eine Liste unterstützter TLS-Verschlüsselungssammlungen übermittelt, ordnet der universelle Druckserver eine Verschlüsselungssammlung des Clients einer Sammlung in seiner eigenen Liste konfigurierter Verschlüsselungssammlungen zu und akzeptiert die Verbindung. Gibt es keine übereinstimmende Verschlüsselungssammlung, lehnt der universelle Druckserver die Verbindung ab.

Der universelle Druckserver unterstützt drei Verschlüsselungssammlungsgruppen: GOV (für Behörden), COM (für kommerzielle Zwecke) und ALL. Welche Verschlüsselungssammlungen akzeptiert werden, hängt von der Richtlinieneinstellung SSL FIPS-Modus und vom Windows-FIPS-Modus ab. Weitere Informationen zum Windows-FIPS-Modus finden Sie in diesem Artikel des Microsoft-Supports.

Konfigurieren von TLS auf einem universellen Druckserver mit dem PowerShell-Skript

Installieren Sie das TLS-Zertifikat im Bereich Lokaler Computer > Eigene Zertifikate > Zertifikate des Zertifikatspeichers. Sind mehrere Zertifikate an diesem Speicherort, geben Sie den Fingerabdruck des Zertifikats im PowerShell-Skript Enable-UpsSsl.ps1 an.

Hinweis:

Das PowerShell-Skript findet das richtige Zertifikat basierend auf dem FQDN des universellen Druckservers. Sie brauchen den Zertifikatfingerabdruck nicht angeben, wenn nur ein Zertifikat für den FQDN des universellen Druckservers vorhanden ist.

Das Skript Enable-UpsSsl.ps1 aktiviert bzw. deaktiviert TLS-Verbindungen vom VDA zum universellen Druckserver. Dieses Skript ist im Ordner Support > Tools > SslSupport auf dem Installationsmedium.

Wenn Sie TLS aktivieren, deaktiviert das Skript alle vorhandenen Windows-Firewallregeln für die angegebenen TCP-Ports des universellen Druckservers. Anschließend werden neue Regeln hinzugefügt, durch die der XTE-Dienst eingehende Verbindungen nur am TLS-, TCP- und UDP-Port annehmen kann. Außerdem werden die Windows-Firewallregeln für Folgendes deaktiviert:

  • Klartext-Druckwebdienstverbindungen (Standard: 8080)
  • Klartext-Druckdatenstromverbindungen (CGP, Standard: 7229)

Der VDA kann diese Verbindungen nur bei Verwendung von TLS herstellen.

Hinweis:

Das Aktivieren von TLS wirkt sich nicht auf Windows-Druckspooler-RPC- bzw. SMB-Verbindungen vom VDA zum universellen Druckserver aus.

Wichtig:

Geben Sie als ersten Parameter Enable oder Disable an. Der Parameter “CertificateThumbPrint” ist optional, wenn nur ein Zertifikat im Zertifikatspeicher “Eigene Zertifikate” des lokalen Computers den FQDN des universellen Druckservers hat. Die übrigen Parameter sind optional.

Syntax

Enable-UpsSSL.ps1 -Enable [-HTTPPort <port>] [-CGPPort <port>] [–HTTPSPort <port>] [-CGPSSLPort <port>] [-SSLMinVersion <version>] [-SSLCipherSuite <name>] [-CertificateThumbprint <thumbprint>] [-FIPSMode <Boolean>] [-ComplianceMode <mode>] Enable-UpsSSL.ps1 -Disable [-HTTPPort <portnum>] [-CGPPort <portnum>]

Parameter Beschreibung
Smartcard Aktiviert SSL/TLS auf dem XTE-Server. Es ist dieser Parameter oder der Parameter “Disable” erforderlich.
Deaktivieren Deaktiviert SSL/TLS auf dem XTE-Server. Es ist dieser Parameter oder der Parameter “Enable” erforderlich.
CertificateThumbprint "<thumbprint>" Fingerabdruck des TLS-Zertifikats im Zertifikatspeicher “Eigene Zertifikate” des lokalen Computers in Anführungszeichen. Das Skript verwendet den angegebenen Fingerabdruck zur Auswahl des gewünschten Zertifikats.
HTTPPort <port> Port für den Klartext-Druckwebdienst (HTTP/SOAP). Standard: 8080
CGPPort <port> Port für Klartext-Druckdatenströme (CGP). Standard: 7229
HTTPSPort <port> Port für verschlüsselten Druckwebdienst (HTTPS/SOAP). Standard: 8443
CGPSSLPort <port> Port für verschlüsselte Druckdatenströme (CGP). Standard: 443.
SSLMinVersion "<version>" Mindestversion des TLS-Protokolls zwischen Anführungszeichen. Gültige Werte: “TLS_1.0”, “TLS_1.1” und “TLS_1.2”. Standard: TLS_1.2.
SSLCipherSuite “<name>” Name des TLS-Verschlüsselungssammlungspakets in Anführungszeichen. Gültige Werte: “GOV”, “COM” und “ALL” (Standardwert).
FIPSMode <Boolean> Aktiviert oder deaktiviert den FIPS 140-Modus im XTE-Server. Gültige Werte: $true zum Aktivieren des FIPS 140-Modus, $false zum Deaktivieren.

Beispiele

Das folgende Skript aktiviert TLS. Der Fingerabdruck (im Beispiel dargestellt als “12345678987654321”) dient zur Auswahl des Zertifikats, das verwendet werden soll.

Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"

Das folgende Skript deaktiviert TLS.

Enable-UpsSsl.ps1 –Disable

Konfigurieren des FIPS-Modus

Durch Aktivieren des FIPS-Modus (US Federal Information Processing Standards) wird sichergestellt, dass nur FIPS 140-konforme Kryptografie für verschlüsselte Verbindungen mit dem universellen Druckserver verwendet wird.

Konfigurieren Sie den FIPS-Modus auf dem Server, bevor Sie ihn auf dem Client konfigurieren.

Informationen zum Aktivieren und Deaktivieren des Windows-FIPS-Modus finden Sie online in der Microsoft-Dokumentation.

Aktivieren des FIPS-Modus auf dem Client

Führen Sie auf dem Delivery Controller Citrix Studio aus und legen Sie die Citrix Richtlinieneinstellung SSL FIPS-Modus auf Aktiviert fest. Aktivieren Sie die Citrix Richtlinie.

Gehen Sie auf jedem VDA folgendermaßen vor:

  1. Aktivieren Sie den Windows-FIPS-Modus.
  2. Starten Sie den VDA neu.

Aktivieren des FIPS-Modus auf dem Server

Gehen Sie für jeden universellen Druckserver folgendermaßen vor:

  1. Aktivieren Sie den Windows-FIPS-Modus.
  2. Führen Sie folgenden PowerShell-Befehl als Administrator aus: stop-service CitrixXTEServer, UpSvc
  3. Führen Sie das Skript Enable-UpsSsl.ps1 für jedes Paket mit den Parametern -Enable -FIPSMode $true aus:
  4. Starten Sie den universellen Druckserver neu.

Deaktivieren des FIPS-Modus auf dem Client

Führen Sie auf dem Delivery Controller Citrix Studio aus und legen Sie die Citrix Richtlinieneinstellung SSL FIPS-Modus auf Deaktiviert fest. Aktivieren Sie die Citrix Richtlinie. Sie können die Citrix Richtlinieneinstellung SSL FIPS-Modus auch löschen.

Gehen Sie auf jedem VDA folgendermaßen vor:

  1. Deaktivieren Sie den Windows-FIPS-Modus.
  2. Starten Sie den VDA neu.

Deaktivieren des FIPS-Modus auf dem Server

Gehen Sie für jeden universellen Druckserver folgendermaßen vor:

  1. Deaktivieren Sie den Windows-FIPS-Modus.
  2. Führen Sie folgenden PowerShell-Befehl als Administrator aus: stop-service CitrixXTEServer, UpSvc
  3. Führen Sie das Skript Enable-UpsSsl.ps1 für jedes Paket mit den Parametern -Enable -FIPSMode $false aus:
  4. Starten Sie den universellen Druckserver neu.

Konfigurieren der SSL/TLS-Protokollversion

Die Standardversion des SSL/TLS-Protokolls ist TLS 1.2. TLS 1.2 ist die einzige SSL/TLS-Protokollversion, die für Produktionszwecke empfohlen wird. Zur Problembehandlung muss die SSL/TLS-Protokollversion in einer Umgebung außerhalb der Produktion ggf. vorübergehend geändert werden.

SSL 2.0 und SSL 3.0 werden vom universellen Druckserver nicht unterstützt.

Festlegen der SSL/TLS-Protokollversion auf dem Server

Gehen Sie für jeden universellen Druckserver folgendermaßen vor:

  1. Führen Sie folgenden PowerShell-Befehl als Administrator aus: stop-service CitrixXTEServer, UpSvc
  2. Führen Sie das Skript Enable-UpsSsl.ps1 für jedes Paket mit den Versionsparametern -Enable -SSLMinVersion aus: Vergessen Sie nicht, die Version nach dem Testen wieder auf TLS 1.2 zu setzen.
  3. Starten Sie den universellen Druckserver neu.

Festlegen der SSL/TLS-Protokollversion auf dem Client

Gehen Sie auf jedem VDA folgendermaßen vor:

1. Legen Sieauf dem Delivery Controller die Richtlinieneinstellung SSL-Protokollversion auf die gewünschte Version fest und aktivieren Sie die Richtlinie.

2. Die Registrierungseinstellungen für Microsoft SCHANNEL SSP werden in dem Artikel TLS-Registrierungseinstellungen des Microsoft-Supports beschrieben. Aktivieren Sie clientseitig TLS 1.0, TLS 1.1 oder TLS 1.2 per Registrierungseinstellung.

Wichtig:

Vergessen Sie nicht, die Registrierungseinstellung nach dem Testen wieder auf die ursprüngliche Einstellung zurückzusetzen.

3. Starten Sie den VDA neu.

Problembehandlung

Bei Verbindungsfehlern überprüfen Sie die Protokolldatei (C:\Programme (x86)\Citrix\XTE\logs\error.log) auf dem universellen Druckserver.

Die Fehlermeldung SSL handshake from client failed erscheint in der Protokolldatei, wenn der SSL/TLS-Handshake fehlschlägt. Solche Fehler können auftreten, wenn die SSL/TLS-Protokollversion auf dem VDA nicht mit der auf dem universellen Druckserver übereinstimmt.

Verwenden Sie den FQDN des universellen Druckservers in den folgenden Richtlinieneinstellungen, die Hostnamen des universellen Druckservers enthalten:

  • Sitzungsdrucker
  • Druckerzuordnungen
  • Universelle Druckserver für den Lastausgleich

Stellen Sie sicher, dass auf den universellen Druckservern und den VDAs die Systemuhr (Datum, Uhrzeit und Zeitzone) richtig eingestellt ist.

Bekannte Probleme

Das Festlegen des SSL-Konformitätsmodus auf SP800-52 auf dem VDA und dem universellen Druckserver verhindert das Herstellen von TLS-Verbindungen.