Citrix Virtual Apps and Desktops

Transport Layer Security (TLS) su Universal Print Server

Il protocollo TLS (Transport Layer Security) è supportato per le connessioni basate su TCP tra Virtual Delivery Agent (VDA) e Universal Print Server.

Avviso:

Per le attività che includono l’utilizzo del Registro di sistema di Windows, la modifica non corretta del Registro di sistema può causare seri problemi che potrebbero richiedere la reinstallazione del sistema operativo. Citrix non può garantire che i problemi derivanti dall’uso non corretto dell’Editor del Registro di sistema possano essere risolti. Utilizzare l’Editor del Registro di sistema a proprio rischio. Assicurarsi di eseguire il backup del Registro di sistema prima di modificarlo.

Tipi di connessioni di stampa tra VDA e Universal Print Server

Connessioni in formato Cleartext

Le seguenti connessioni relative alla stampa provengono dal VDA e si connettono alle porte di Universal Print Server. Queste connessioni vengono effettuate solo quando il criterio SSL enabled (abilitato SSL) è impostato su Disabled (impostazione predefinita).

  • Connessioni del servizio Web di stampa Cleartext (porta TCP 8080)
  • Connessioni (CGP) del flusso di dati di stampa Cleartext (porta TCP 7229)

Nell’articolo del supporto tecnico Microsoft Panoramica del servizio e requisiti delle porte di rete per Windows vengono descritte le porte utilizzate dal servizio spooler di stampa di Microsoft Windows. Le impostazioni SSL/TLS di cui a questo documento non si applicano alle connessioni NETBIOS e RPC effettuate dal servizio Spooler di stampa Windows. Il VDA utilizza il provider di stampa di rete Windows (win32spl.dll) come fallback se il criterio di Universal Print Server enable (Abilitazione di Universal Print Server) è impostato su Enabled with fallback to Windows’ native remote printing (Abilitato con fallback alla stampa remota nativa di Windows).

Universal Print Server sicuro

Connessioni crittografate

Queste connessioni SSL/TLS relative alla stampa provengono dal VDA e si connettono alle porte dell’Universal Print Server. Queste connessioni vengono effettuate solo quando il criterio SSL enabled è impostato su Enabled.

  • Connessioni di servizio Web di stampa crittografate (porta TCP 8443)
  • Connessioni (CGP) del flusso di dati di stampa crittografate (porta TCP 443)

Universal Print Server sicuro 2

Configurazione client SSL/TLS

Il VDA funziona come client SSL/TLS.

Utilizzare Criteri di gruppo Microsoft e il Registro di sistema per configurare Microsoft SCHANNEL SSP per le connessioni crittografate al servizio Web di stampa (porta TCP 8443). Nell’articolo del supporto tecnico Microsoft TLS Registry Settings vengono descritte le impostazioni del Registro di sistema per Microsoft SCHANNEL SSP.

Utilizzando l’Editor Criteri di gruppo su VDA (Windows Server 2016 o Windows 10), andare a Configurazione computer> Modelli amministrativi > Rete > Impostazioni di configurazione SSL > Ordine dei pacchetti di crittografia SSL. Selezionare il seguente ordine:

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

Nota:

Quando è configurata questa impostazione di Criteri di gruppo, il VDA seleziona un pacchetto di crittografia per le connessioni del servizio Web di stampa crittografate (porta predefinita: 8443) solo se le connessioni vengono visualizzate in entrambi gli elenchi dei pacchetti di crittografia SSL:

  • Elenco degli ordini dei pacchetti di crittografia SSL di Criteri di gruppo
  • Elenco corrispondente all’impostazione dei criteri dei pacchetti di crittografia SSL selezionati (COM, GOV o ALL)

Questa configurazione di Criteri di gruppo influisce anche su altre applicazioni e servizi TLS sul VDA. Se le applicazioni richiedono pacchetti di crittografia specifici, potrebbe essere necessario aggiungerle a questo elenco di ordine dei pacchetti di crittografia dei Criteri di gruppo.

Importante:

Le modifiche apportate ai Criteri di gruppo per la configurazione TLS hanno effetto solo dopo il riavvio del sistema operativo.

Utilizzare un criterio Citrix per configurare le impostazioni SSL/TLS per le connessioni (CGP) del flusso di dati di stampa crittografate (porta TCP 443).

Configurazione server SSL/TLS

Universal Print Server funziona come server SSL/TLS.

Utilizzare lo script Enable-UpsSsl.ps1 PowerShell per configurare le impostazioni SSL/TLS.

Installare il certificato del server TLS su Universal Print Server

Per HTTPS, Universal Print Server supporta le funzionalità TLS utilizzando certificati server. I certificati client non vengono utilizzati. Utilizzare Servizi certificati Active Directory Microsoft o un’altra autorità di certificazione per richiedere un certificato per Universal Print Server.

Tenere presente le seguenti considerazioni quando si registra/richiede un certificato utilizzando Servizi certificati Active Directory Microsoft:

  1. Inserire il certificato nell’archivio certificati personali del computer locale.
  2. Impostare l’attributo Nome comune del nome distinto del soggetto (DN) del certificato sul nome di dominio completo (FQDN) di Universal Print Server. Specificare questo valore nel modello di certificato.
  3. Impostare il provider di servizi di crittografia (CSP) utilizzato per generare la richiesta di certificato e la chiave privata per Microsoft Enhanced RSA e AES Cryptographic Provider (Encryption). Specificare questo valore nel modello di certificato.
  4. Impostare la dimensione della chiave su almeno 2048 bit. Specificare questo valore nel modello di certificato.

Configurazione di SSL su Universal Print Server

Il servizio XTE su Universal Print Server è in ascolto delle connessioni in ingresso. Funziona come server SSL quando SSL è abilitato. Le connessioni in ingresso sono di due tipi: connessioni al servizio Web di stampa, che contengono comandi di stampa, e connessioni del flusso di dati di stampa, che contengono processi di stampa. SSL può essere abilitato su queste connessioni. SSL protegge la riservatezza e l’integrità di queste connessioni. Per impostazione predefinita, SSL è disabilitato.

Lo script PowerShell utilizzato per configurare SSL si trova sul supporto di installazione e ha il nome di file seguente: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Configurare i numeri di porta di ascolto su Universal Print Server

Queste sono le porte predefinite per il servizio XTE:

  • Porta TCP del servizio Web di stampa Cleartext (HTTP): 8080
  • Porta TCP del flusso di dati di stampa (CGP): 7229
  • Porta TCP del servizio Web di stampa crittografato (HTTPS): 8443
  • Porta TCP del flusso di dati di stampa (CGP) crittografato: 443

Per modificare le porte utilizzate dal servizio XTE su Universal Print Server, eseguire i seguenti comandi in PowerShell come amministratore (vedere la sezione successiva per le note sull’utilizzo dello script PowerShell Enable-UpsSsl.ps1):

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

Impostazioni TLS su Universal Print Server

Se si dispone di più server di stampa universali in una configurazione con bilanciamento del carico, assicurarsi che le impostazioni TLS siano configurate in modo coerente su tutti gli Universal Print Server.

Quando si configura TLS su Universal Print Server, le autorizzazioni per il certificato TLS installato vengono modificate, dando al servizio di stampa universale l’accesso in lettura alla chiave privata del certificato e informando il servizio di stampa universale dei seguenti elementi:

  • Quale certificato presente nell’archivio certificati utilizzare per TLS.
  • Quali numeri di porta TCP utilizzare per le connessioni TLS.

Windows Firewall (se abilitato) deve essere configurato per consentire le connessioni in ingresso su queste porte TCP. Questa configurazione viene eseguita per l’utente quando si utilizza lo script PowerShell Enable-UpsSsl.ps1.

  • Quali versioni del protocollo TLS consentire.

Universal Print Server supporta i protocolli TLS versioni 1.2, 1.1 e 1.0. Specificare la versione minima consentita.

La versione predefinita del protocollo TLS è 1.2.

  • Quali pacchetti di crittografia TLS consentire.

Un pacchetto di crittografia seleziona gli algoritmi crittografici utilizzati per una connessione. I VDA e Universal Print Server possono supportare diversi set di pacchetti di crittografia. Quando un VDA si connette e invia un elenco di pacchetti di crittografia TLS supportati, Universal Print Server fa corrispondere uno dei pacchetti di crittografia del client a uno dei pacchetti di crittografia presenti nel proprio elenco di pacchetti di crittografia configurati e accetta la connessione. Se non esiste un pacchetto di crittografia corrispondente, Universal Print Server rifiuta la connessione.

Universal Print Server supporta i seguenti set di pacchetti di crittografia denominati GOV(erno), COM(merciale) e ALL per le modalità OPEN, FIPS e SP800-52 nativo Crypto Kit. I pacchetti di crittografia accettabili dipendono anche dall’impostazione dei criteri Modalità FIPS SSL e dalla modalità FIPS di Windows. Per informazioni sulla modalità FIPS di Windows, vedere questo articolo del supporto Microsoft.

Pacchetto di crittografia (in ordine di priorità decrescente) OPEN ALL OPEN COM OPEN GOV FIPS ALL FIPS COM FIPS GOV SP800-52 ALL SP800-52 COM SP800-52 GOV
TLS_ECDHE_RSA_ AES256_GCM_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA X X   X X   X X  

Configurare TLS su un Universal Print Server utilizzando lo script PowerShell

Installare il certificato TLS nell’area Local Computer > Personal > Certificates (Computer locale > Personale > Certificati) dello store dei certificati. Se in tale posizione risiedono più certificati, fornire l’identificazione personale del certificato allo script Enable-UpsSsl.ps1 PowerShell.

Nota:

Lo script PowerShell trova il certificato corretto in base al nome di dominio completo di Universal Print Server. Non è necessario fornire l’identificazione personale del certificato quando è presente un solo certificato per il nome di dominio completo di Universal Print Server.

Lo script Enable-UpsSsl.ps1 abilita o disabilita le connessioni TLS provenienti dal VDA verso Universal Print Server. Questo script è disponibile nella cartella Supporto > Strumenti > SslSupport del supporto di installazione.

Quando si attiva TLS, lo script disabilita tutte le regole di Windows Firewall esistenti per le porte TCP dello Universal Print Server. Aggiunge quindi nuove regole che consentono al servizio XTE di accettare le connessioni in ingresso solo sulle porte TLS TCP e UDP. Disabilita inoltre le regole di Windows Firewall per:

  • Connessioni del servizio Web di stampa in formato Cleartext (impostazione predefinita: 8080)
  • Connessioni (CGP) del flusso di dati di stampa in formato Cleartext (impostazione predefinita: 7229)

L’effetto è che il VDA può effettuare queste connessioni solo quando si utilizza TLS.

Nota:

L’attivazione di TLS non influisce sulle connessioni RPC/SMB dello spooler di stampa Windows originate dal VDA e che vanno a Universal Print Server.

Importante:

Specificare Enable o Disable come primo parametro. Il parametro CertificateThumbprint è facoltativo se solo un certificato contenuto nell’archivio certificati del Personal Computer locale dispone del nome di dominio completo dello Universal Print Server. Gli altri parametri sono facoltativi.

Sintassi

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>]
Parametro Descrizione
Abilita Abilita SSL/TLS sul server XTE. Questo parametro o il parametro Disable è obbligatorio.
Disable Disattiva SSL/TLS sul server XTE. Questo parametro o il parametro Enable è obbligatorio.
CertificateThumbprint "<thumbprint>" Identificazione personale del certificato TLS nell’archivio certificati personali del computer locale, racchiuso tra virgolette. Lo script utilizza l’identificazione personale specificata per selezionare il certificato che si desidera utilizzare.
HTTPPort <port> Porta del servizio Web di stampa Cleartext (HTTP/SOAP). Predefinito: 8080
CGPPort <port> Porta (CGP) del flusso di dati di stampa Cleartext. Predefinito: 7229
HTTPSPort <port> Porta del servizio Web di stampa crittografato (HTTPS/SOAP). Predefinito: 8443
CGPSSLPort <port> Porta (CGP) del flusso di dati di stampa crittografato. Predefinito: 443
SSLMinVersion "<version>" Versione minima del protocollo TLS, racchiusa tra virgolette. Valori validi: “TLS_1.0”, “TLS_1.1” e “TLS_1.2”. Impostazione predefinita: TLS_1.2.
SSLCipherSuite “<name>” Nome del pacchetto di crittografia TLS, racchiuso tra virgolette. Valori validi: “GOV”, “COM” e “ALL” (impostazione predefinita).
FIPSMode <Boolean> Attiva o disabilita la modalità FIPS 140 nel server XTE. Valori validi: $true per abilitare la modalità FIPS 140, $false per disabilitare la modalità FIPS 140.

Esempi

Lo script seguente abilita TLS. L’identificazione personale (rappresentata come “12345678987654321” in questo esempio) viene utilizzata per selezionare il certificato da utilizzare.

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

Lo script seguente disabilita TLS.

Enable-UpsSsl.ps1 –Disable

Configurazione della modalità FIPS

L’abilitazione della modalità FIPS (Federal Information Processing Standards) degli Stati Uniti garantisce che venga utilizzata solo la crittografia compatibile con FIPS 140 per le connessioni crittografate di Universal Print Server.

Configurare la modalità FIPS sul server prima di configurare la modalità FIPS sul client.

Vedere il sito della documentazione di Microsoft per l’attivazione/disattivazione della modalità FIPS di Windows.

Attivazione della modalità FIPS sul client

Sul Delivery Controller, eseguire Citrix Studio e impostare l’impostazione del criterio SSL FIPS Mode Citrix su Enabled. Abilitare il criterio Citrix.

Eseguire questa operazione su ciascun VDA:

  1. Attivare la modalità FIPS di Windows.
  2. Riavviare il VDA.

Attivazione della modalità FIPS sul server

Eseguire questa operazione su ciascun Universal Print Server:

  1. Attivare la modalità FIPS di Windows.
  2. Eseguire questo comando PowerShell come amministratore: stop-service CitrixXTEServer, UpSvc
  3. Eseguire lo script Enable-UpsSsl.ps1 con i parametri -Enable -FIPSMode $true.
  4. Riavviare Universal Print Server.

Disabilitazione della modalità FIPS sul client

Sul Delivery Controller, eseguire Citrix Studio e impostare l’impostazione del criterio SSL FIPS Mode Citrix su Disabled. Abilitare il criterio Citrix. È inoltre possibile eliminare l’impostazione del criterio Citrix SSL FIPS Mode.

Eseguire questa operazione su ciascun VDA:

  1. Disattivare la modalità FIPS di Windows.
  2. Riavviare il VDA.

Disattivare la modalità FIPS sul server

Eseguire questa operazione su ciascun Universal Print Server:

  1. Disattivare la modalità FIPS di Windows.
  2. Eseguire questo comando PowerShell come amministratore: stop-service CitrixXTEServer, UpSvc
  3. Eseguire lo script Enable-UpsSsl.ps1 con i parametri -Enable -FIPSMode $false.
  4. Riavviare Universal Print Server.

Configurare la versione del protocollo SSL/TLS

La versione predefinita del protocollo SSL/TLS è TLS 1.2. TLS 1.2 è l’unica versione del protocollo SSL/TLS consigliata per l’uso in produzione. Per la risoluzione dei problemi, potrebbe essere necessario modificare temporaneamente la versione del protocollo SSL/TLS in un ambiente non di produzione.

SSL 2.0 e SSL 3.0 non sono supportati su Universal Print Server.

Impostare la versione del protocollo SSL/TLS sul server

Eseguire questa operazione su ciascun Universal Print Server:

  1. Eseguire questo comando PowerShell come amministratore: stop-service CitrixXTEServer, UpSvc
  2. Eseguire lo script Enable-UpsSsl.ps1 con i parametri di versione -Enable -SSLMinVersion. Ricordare di reimpostarlo su TLS 1.2 al termine del test.
  3. Riavviare Universal Print Server.

Impostare la versione del protocollo SSL/TLS sul client

Eseguire questa operazione su ciascun VDA:

  1. Nel Delivery Controller, impostare il criterio SSL Protocol Version (Versione protocollo SSL) sulla versione di protocollo desiderata e abilitare il criterio.

  2. Nell’articolo del supporto tecnico Microsoft TLS Registry Settings vengono descritte le impostazioni del Registro di sistema per Microsoft SCHANNEL SSP. Abilitare il lato client TLS 1.0, TLS 1.1 o TLS 1.2 utilizzando le impostazioni del Registro di sistema.

    Importante:

    Ricordare di ripristinare le impostazioni del Registro di sistema ai valori originali al termine del test.

  3. Riavviare il VDA.

Risoluzione dei problemi

Se si verifica un errore di connessione, controllare il file di registro C:\Programmi (x86)\Citrix\XTE\logs\error.log sullo Universal Print Server.

Il messaggio di errore SSL handshake from client failed (Handshake SSL dal client non riuscito) viene visualizzato in questo file di registro se l’handshake SSL/TLS non riesce. Tali errori possono verificarsi se la versione del protocollo SSL/TLS sul VDA e quella sull’Universal Print Server non corrispondono.

Utilizzare il nome di dominio completo di Universal Print Server nelle seguenti impostazioni dei criteri che contengono nomi host di Universal Print Server:

  • Session printers (Stampanti di sessione)
  • Printer assignments (Assegnazioni stampante)
  • Universal Print Servers for load balancing (Universal Print Server per il bilanciamento del carico)

Verificare che il clock di sistema (data, ora e fuso orario) sia corretto sugli Universal Print Server e sui VDA.

Transport Layer Security (TLS) su Universal Print Server