TLS (Transport Layer Security)
Citrix Virtual Apps and Desktops supporta il protocollo TLS (Transport Layer Security) per le connessioni basate su TCP tra i componenti. Citrix Virtual Apps and Desktops supporta anche il protocollo DTLS (Datagram Transport Layer Security) per connessioni ICA/HDX basate su UDP, mediante trasporto adattivo.
TLS e DTLS sono simili e supportano gli stessi certificati digitali. La configurazione di un sito Citrix Virtual Apps o Citrix Virtual Desktops per l’utilizzo di TLS lo configura anche per l’utilizzo di DTLS. Utilizzare le procedure descritte di seguito. I passaggi sono comuni sia a TLS che a DTLS, tranne dove indicato:
-
Ottenere, installare e registrare un certificato server in tutti i Delivery Controller e configurare una porta con il certificato TLS. Per i dettagli, vedere Installare i certificati del server TLS nei controller.
Facoltativamente, è possibile modificare le porte utilizzate dal controller per l’ascolto del traffico HTTP e HTTPS.
-
Abilitare le connessioni TLS tra l’app Citrix Workspace e i Virtual Delivery Agent (VDA) completando le seguenti attività:
- Configurare TLS sui computer in cui sono installati i VDA (per comodità, di seguito le macchine in cui sono installati i VDA saranno semplicemente chiamati “VDA”). Per informazioni generali, vedere Impostazioni TLS sui VDA. Si consiglia vivamente di utilizzare lo script PowerShell fornito da Citrix per configurare TLS/DTLS. Per i dettagli, vedere Configurare TLS su un VDA utilizzando lo script PowerShell. Tuttavia, se si desidera configurare TLS/DTLS manualmente, vedere Configurare manualmente TLS su un VDA.
-
Configurare TLS nei gruppi di consegna contenenti i VDA eseguendo un set di cmdlet PowerShell in Studio. Per i dettagli, vedere Configurare TLS nei gruppi di consegna.
Requisiti e considerazioni:
- L’abilitazione delle connessioni TLS tra utenti e VDA è valida solo per i siti XenApp 7.6 e XenDesktop 7.6, oltre alle versioni successive supportate.
- Configurare TLS nei gruppi di consegna e nelle VDA dopo aver installato i componenti, creato un sito, creato cataloghi di macchine e creato gruppi di consegna.
- Per configurare TLS nei gruppi di consegna, è necessario disporre dell’autorizzazione per modificare le regole di accesso del controller. Un amministratore completo dispone di questa autorizzazione.
- Per configurare TLS sui VDA, è necessario essere un amministratore di Windows nel computer in cui è installato il VDA.
- Sui VDA in pool di cui viene eseguito il provisioning da Machine Creation Services o Provisioning Services, l’immagine della macchina VDA viene reimpostata al riavvio, causando la perdita delle impostazioni TLS precedenti. Eseguire lo script di PowerShell ogni volta che il VDA viene riavviato per riconfigurare le impostazioni TLS.
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.
Per informazioni sull’abilitazione di TLS al database del sito, vedere CTX137556.
Installare i certificati del server TLS nei controller
Per HTTPS, il servizio XML supporta le funzionalità TLS utilizzando i certificati server, non i certificati client. Questa sezione descrive l’acquisizione e l’installazione di certificati TLS nei controller di consegna. Gli stessi passaggi possono essere applicati a Cloud Connectors per crittografare il traffico STA e XML.
Sebbene esistano diversi tipi di autorità di certificazione e metodi per richiedere il certificato da loro, in questo articolo viene descritta l’Autorità di certificazione Microsoft. L’Autorità di certificazione Microsoft deve disporre di un modello di certificato pubblicato con uno scopo di autenticazione server.
Se l’Autorità di certificazione Microsoft è integrata in un dominio Active Directory o nella foresta attendibile a cui si aggiungono i controller di consegna, è possibile acquisire un certificato dalla procedura guidata Registrazione certificati snap-in Certificati di MMC.
Richiesta e installazione di un certificato
- Nel Delivery Controller aprire la console MMC e aggiungere lo snap-in Certificati. Quando richiesto, selezionare Account del computer.
-
Espandere Personale > Certificati, quindi utilizzare il comando di menu contestuale Tutte le attività > Richiedi nuovo certificato .
- Fare clic su Avanti per iniziare e Avanti per confermare che si sta acquisendo il certificato dalla registrazione di Active Directory.
-
Selezionare il modello per il certificato di autenticazione server. Se il modello è stato impostato per fornire automaticamente i valori per Oggetto, è possibile fare clic su Registra senza fornire ulteriori dettagli.
-
Per fornire ulteriori dettagli per il modello di certificato, fare clic sul pulsante freccia Dettagli e configurare quanto segue:
Nome oggetto: selezionare Nome comune e aggiungere il nome di dominio completo del Delivery Controller.
Nome alternativo: selezionare DNS e aggiungere il nome di dominio completo del Delivery Controller.
Configurazione della porta del listener SSL/TLS
- Aprire una finestra di comando di PowerShell come amministratore del computer.
-
Eseguire i seguenti comandi per ottenere il GUID dell’applicazione del servizio Broker:
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-->
-
Eseguire i seguenti comandi nella stessa finestra di PowerShell per ottenere l’identificazione personale del certificato installato in precedenza:
$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-->
-
Eseguire i seguenti comandi nella stessa finestra di PowerShell per configurare la porta SSL/TLS del servizio Broker e utilizzare il certificato per la crittografia:
$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-->
Se configurato correttamente, l’output dell’ultimo comando .netsh http show sslcert
evidenzia che il listener utilizza la IP:port
corretta e che Application ID
corrisponde al GUID dell’applicazione del servizio Broker.
Se i server considerano attendibile il certificato installato nei controller di consegna, è ora possibile configurare i controller di consegna StoreFront e i binding STA Citrix Gateway in modo da utilizzare HTTPS anziché HTTP.
Nota:
Se il controller è installato in Windows Server 2016 e StoreFront è installato in Windows Server 2012 R2, è necessario apportare una modifica alla configurazione del Controller, per modificare l’ordine dei paccheti di crittografia TLS. Questa modifica della configurazione non è necessaria per Controller e StoreFront con altre combinazioni di versioni di Windows Server.
L’elenco dell’ordine dei pacchetti di crittografia deve includere i pacchetti di crittografia TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
o TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
(o entrambi) e questi pacchetti di crittografia devono precedere eventuali pacchetti di crittografia TLS_DHE_
.
- Utilizzando l’Editor Criteri di gruppo Microsoft, andare a Configurazione computer > Modelli amministrativi > Rete > Impostazioni di configurazione SSL.
- Modificare il criterio “Ordine dei pacchetti di crittografia SSL”. Per impostazione predefinita, questo criterio è impostato su “Non configurato”. Impostare questo criterio su Abilitato.
- Disporre i pacchetti nell’ordine corretto; rimuovere eventuali pacchetti di crittografia che non si desidera utilizzare.
Assicurarsi che TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
o TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
preceda eventuali pacchetti di crittografia TLS_DHE_
.
Su Microsoft MSDN, vedere anche Prioritizing Schannel Cipher Suites.
Modificare le porte HTTP o HTTPS
Per impostazione predefinita, il servizio XML del controller è in ascolto sulla porta 80 per il traffico HTTP e la porta 443 per il traffico HTTPS. Sebbene sia possibile utilizzare porte non predefinite, tenere presenti i rischi per la sicurezza derivanti dall’esposizione di un controller a reti non attendibili. La distribuzione di un server StoreFront standalone è preferibile alla modifica delle impostazioni predefinite.
Per modificare le porte HTTP o HTTPS predefinite utilizzate dal controller, eseguire il seguente comando da Studio:
BrokerService.exe -WIPORT \<http-port> -WISSLPORT \<https-port>
dove <http-port>
è il numero di porta per il traffico HTTP e <https-port>
è il numero di porta per il traffico HTTPS.
Nota:
Dopo aver modificato una porta, Studio potrebbe visualizzare un messaggio relativo alla compatibilità delle licenze e all’aggiornamento. Per risolvere il problema, registrare nuovamente le istanze del servizio utilizzando la seguente sequenza di cmdlet PowerShell:
Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding XML_HTTPS |
Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance
<!--NeedCopy-->
Applicare solo il traffico HTTPS
Se si desidera che il servizio XML ignori il traffico HTTP, creare la seguente impostazione del Registro di sistema in HKLM\Software\Citrix\DesktopServer\ sul controller e quindi riavviare il servizio Broker.
Per ignorare il traffico HTTP, creare DWORD XmlServicesEnableNonSsl e impostarlo su 0.
È possibile creare un valore DWORD del Registro di sistema corrispondente per ignorare il traffico HTTPS: DWORD XmlServicesEnableSsl. Assicurarsi che non sia impostato su 0.
Impostazioni TLS sui VDA
Un gruppo di consegna non può avere una combinazione di alcuni VDA con TLS configurato e altri VDA senza TLS configurato. Prima di configurare TLS per un gruppo di consegna, assicurarsi di aver già configurato TLS per tutti i VDA in tale gruppo di consegna
Quando si configura TLS sui VDA, le autorizzazioni per il certificato TLS installato vengono modificate, dando al servizio ICA l’accesso in lettura alla chiave privata del certificato e informando il servizio ICA dei seguenti elementi:
- Quale certificato presente nell’archivio certificati utilizzare per TLS.
-
Quale numero di porta TCP utilizzare per le connessioni TLS.
Windows Firewall (se abilitato) deve essere configurato per consentire la connessione in ingresso su questa porta TCP. Questa configurazione viene eseguita automaticamente quando si utilizza lo script PowerShell.
-
Quali versioni del protocollo TLS consentire.
Importante:
Citrix consiglia di esaminare il proprio utilizzo di SSLv3 e riconfigurare tali distribuzioni per rimuovere il supporto per SSLv3, ove appropriato. Vedere CTX200238.
Le versioni del protocollo TLS supportate seguono una gerarchia (da inferiore a superiore): SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2 e TLS 1.3. Specificare la versione minima consentita. Sono consentite tutte le connessioni di protocollo che utilizzano tale versione o una versione superiore.
Ad esempio, se si specifica TLS 1.1 come versione minima, sono consentite connessioni di protocollo TLS 1.1 e TLS 1.3. Se si specifica SSL 3.0 come versione minima, sono consentite le connessioni di tutte le versioni supportate. Se si specifica TLS 1.3 come versione minima, sono consentite solo le connessioni TLS 1.3.
DTLS 1.0 corrisponde a TLS 1.1 e DTLS 1.3 corrisponde a TLS 1.3.
-
Quali pacchetti di crittografia TLS consentire.
Un pacchetto di crittografia seleziona la crittografia utilizzata per una connessione. I client e i VDA possono supportare diverse serie di pacchetti di crittografia. Quando un client (l’app Citrix Workspace o StoreFront) si connette e invia un elenco di pacchetti di crittografia TLS supportati, il VDA fa corrispondere uno dei pacchetti di crittografia del client a uno dei pacchetti di crittografia presenti nel suo elenco di pacchetti di crittografia configurati e accetta la connessione. Se non esiste un pacchetto di crittografia corrispondente, il VDA rifiuta la connessione.
Il VDA supporta tre serie di pacchetti di crittografia (noti anche come modalità di conformità): GOV(erno), COM(merciale) e ALL. I pacchetti di crittografia accettabili dipendono anche dalla modalità FIPS di Windows; vedere http://support.microsoft.com/kb/811833 per informazioni sulla modalità FIPS di Windows. La tabella seguente elenca i pacchetti di crittografia di ciascuna serie:
Pacchetto di crittografia TLS/DTLS | ALL | COM | GOV | ALL | COM | GOV |
---|---|---|---|---|---|---|
Modalità FIPS | Disattivata | Disattivata | Disattivata | Attiva | Attiva | Attiva |
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 |
*Non supportata in Windows Server 2012 R2.
Nota:
Il VDA non supporta i pacchetti di crittografia DHE (ad esempio, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_DHE_RSA_WITH_AES_128_CBC_SHA). Se selezionati da Windows, potrebbero non essere utilizzati da Receiver.
Se si utilizza un Citrix Gateway, vedere la documentazione di Citrix ADC per informazioni sul supporto dei pacchetti di crittografia per la comunicazione back-end. Per informazioni sul supporto della suite di cifratura TLS, vedere Crittografie disponibili sugli apparecchi Citrix ADC. Per informazioni sul supporto della suite di cifratura DTLS, vedere Supporto della crittografia DTLS.
Richiesta e installazione di un certificato
- Nel VDA, aprire la console MMC e aggiungere lo snap-in Certificati. Quando richiesto, selezionare Account del computer.
- Espandere Personal > Certificates, quindi utilizzare il comando di menu contestuale All Tasks > Request New Certificate (Tutte le attività > Richiedi nuovo certificato).
- Fare clic su Avanti per iniziare e Avanti per confermare che si sta acquisendo il certificato dalla registrazione di Active Directory.
-
Selezionare il modello per il certificato di autenticazione server. Sia il computer Windows predefinito che il server Web esportabile sono accettabili. Se il modello è stato impostato per fornire automaticamente i valori del Subject (Oggetto), è possibile fare clic su Enroll (Registra) senza fornire ulteriori dettagli.
-
Per fornire ulteriori dettagli per il modello di certificato, fare clic su Details e configurare quanto segue:
Subject name (Nome oggetto): selezionare il tipo Common name (Nome comune) e aggiungere il nome di dominio completo del VDA
Alternative name (Nome alternativo): selezionare il tipo DNS e aggiungere il nome di dominio completo del VDA
Nota:
Utilizzare la registrazione automatica dei certificati di Active Directory Certificate Services per automatizzare l’emissione e la distribuzione di certificati nei VDA. Questo è descritto in https://support.citrix.com/article/CTX205473.
È possibile utilizzare certificati con caratteri jolly per consentire a un singolo certificato di proteggere più VDA:
Subject name (Nome oggetto): selezionare il tipo Common name (Nome comune) e immettere il *.primary.domain dei VDA
Alternative name (Nome alternativo): selezionare il tipo DNS e aggiungere il *.primary.domain dei VDA
È possibile utilizzare i certificati SAN per consentire a un singolo certificato di proteggere più VDA specifici:
Subject name (Nome oggetto): selezionare il tipo Common name (Nome comune) e immettere una stringa per aiutare a identificare l’utilizzo del certificato
Alternative name (Nome alternativo): selezionare il tipo DNS e aggiungere una voce per il nome di dominio completo di ogni VDA. Ridurre al minimo il numero di nomi alternativi per garantire una negoziazione TLS ottimale.
Nota:
Sia i certificati jolly che i certificati SAN richiedono che sia selezionata l’opzione Make private key exportable (Rendi esportabile la chiave privata) nella scheda Private Key:
Configurare TLS su un VDA utilizzando lo script PowerShell
Installare il certificato TLS nell’area Computer locale > Personale > Certificati dell’archivio certificati. Se in tale posizione risiedono più certificati, fornire l’identificazione personale del certificato allo script PowerShell.
Nota:
A partire da XenApp e XenDesktop 7.16 LTSR, lo script PowerShell trova il certificato corretto in base al nome di dominio completo del VDA. Non è necessario fornire l’identificazione personale quando è presente un solo certificato per il nome di dominio completo del VDA.
Lo script Enable-VdaSSL.ps1 abilita o disabilita il listener TLS su un VDA. Questo script è disponibile nella cartella Supporto > Strumenti > SslSupport del supporto di installazione.
Quando si abilita TLS, i pacchetti di crittografia DHE sono disattivati. I pacchetti di crittografia ECDHE non sono interessati.
Quando si attiva TLS, lo script disabilita tutte le regole di Windows Firewall esistenti per la porta TCP specificata. Aggiunge quindi una nuova regola che consente al servizio ICA di accettare connessioni in ingresso solo sulle porte TLS TCP e UDP. Disabilita inoltre le regole di Windows Firewall per:
- Citrix ICA (impostazione predefinita: 1494)
- Citrix CGP (impostazione predefinita: 2598)
- Citrix WebSocket (impostazione predefinita: 8008)
L’effetto è che gli utenti possono connettersi solo utilizzando TLS o DTLS. Non possono utilizzare ICA/HDX, ICA/HDX con affidabilità di sessione o HDX su WebSocket, senza TLS o DTLS.
Nota:
DTLS non è supportato con ICA/HDX Audio su UDP Real-Time Transport o con ICA/HDX Framehawk.
Vedere Porte di rete.
Lo script contiene le seguenti descrizioni della sintassi, oltre ad esempi aggiuntivi; è possibile utilizzare uno strumento come Notepad ++ per rivedere queste informazioni.
Importante:
Specificare il parametro Enable o Disable e il parametro CertificateThumbPrint. Gli altri parametri sono facoltativi.
Sintassi
Enable-VdaSSL {-Enable | -Disable} -CertificateThumbPrint "<thumbprint>" [-SSLPort <port>] [-SSLMinVersion "<min-ssl-version>"] [-SSLCipherSuite"\<suite>"]
Parametro | Descrizione |
---|---|
Abilita | Installa e abilita il listener TLS sul VDA. Questo parametro o il parametro Disable è obbligatorio. |
Disable | Disattiva il listener TLS sul VDA. Questo parametro o il parametro Enable è obbligatorio. Se si specifica questo parametro, non sarà valido nessun altro parametro. |
CertificateThumbPrint “ |
Identificazione personale del certificato TLS nell’archivio certificati, racchiuso tra virgolette. Lo script utilizza l’identificazione personale specificata per selezionare il certificato che si desidera utilizzare. Se questo parametro viene omesso, viene selezionato un certificato non corretto. |
SSLPort |
Porta TLS. Predefinito: 443 |
SSLMinVersion “ |
Versione minima del protocollo TLS, racchiusa tra virgolette. Valori validi: “TLS_1.0” (impostazione predefinita), “TLS_1.1” e “TLS_1.3”. |
SSLCipherSuite “ |
Pacchetto di crittografia TLS, racchiuso tra virgolette. Valori validi: “GOV”, “COM” e “ALL” (impostazione predefinita). |
Esempi
Lo script seguente installa e abilita il valore di versione del protocollo TLS. L’identificazione personale (rappresentata da “12345678987654321” in questo esempio) viene utilizzata per selezionare il certificato da utilizzare.
Enable-VdaSSL -Enable -CertificateThumbPrint "12345678987654321"
Lo script seguente installa e abilita il listener TLS e specifica la porta TLS 400, il pacchetto di crittografia GOV e un valore minimo del protocollo TLS 1.2. L’identificazione personale (rappresentata da “12345678987654321” in questo esempio) viene utilizzata per selezionare il certificato da utilizzare.
Enable-VdaSSL -Enable
-CertificateThumbPrint "12345678987654321"
-SSLPort 400 -SSLMinVersion "TLS_1.3"
-SSLCipherSuite "All"
Lo script seguente disabilita il listener TLS sul VDA.
Enable-VdaSSL -Disable
Configurare manualmente TLS su un VDA
Quando si configura manualmente TLS su un VDA, si concede l’accesso in lettura generico alla chiave privata del certificato TLS per il servizio appropriato su ogni VDA: NT SERVICE\PorticaService per un VDA per il sistema operativo Windows a sessione singola o NT SERVICE\TermService per un VDA per sistema operativo multisessione Windows. Sulla macchina in cui è installato il VDA:
PASSAGGIO 1. Avviare Microsoft Management Console (MMC): Start > Esegui > mmc.exe.
PASSAGGIO 2. Aggiungere lo snap-in Certificati a MMC:
- Selezionare File > Aggiungi/Rimuovi snap-in.
- Selezionare Certificati, quindi fare clic su Aggiungi.
- Quando viene visualizzata la richiesta “Lo snap-in gestirà sempre certificati per:” scegliere “Account del computer” e quindi fare clic su Avanti.
- Quando viene visualizzata la richiesta “Selezionare il computer da gestire con lo snap-in” scegliere “Computer locale”, quindi fare clic su Fine.
PASSAGGIO 3. In Certificati (computer locale) > Personale > Certificati fare clic con il pulsante destro del mouse sul certificato e quindi selezionare Tutte le attività > Gestisci chiavi private.
PASSAGGIO 4. Nell’Editor dell’elenco di controllo di accesso è visualizzato “Permissions for (FriendlyName) private keys” (Autorizzazioni per chiavi private di (FriendlyName)) dove (FriendlyName) è il nome del certificato TLS. Aggiungere uno dei seguenti servizi e assegnargli l’accesso in lettura:
- Per un VDA per sistema operativo Windows a sessione singola, “PORTICASERVICE”
- Per un VDA per sistema operativo Windows multisessione, “TERMSERVICE”
PASSAGGIO 5. Fare doppio clic sul certificato TLS installato. Nella finestra di dialogo del certificato, selezionare la scheda Dettagli e quindi scorrere verso il basso. Fare clic su Identificazione personale.
PASSAGGIO 6. Eseguire regedit e passare a HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.
- Modificare la chiave di identificazione personale SSL e copiare il valore dell’identificazione personale del certificato TLS in questo valore binario. È possibile ignorare senza problemi gli elementi sconosciuti presenti nella finestra di dialogo Modifica valore binario (ad esempio “0000” e caratteri speciali).
- Modificare la chiave SSLEnabled e impostare il valore DWORD su 1. Per disabilitare SSL in un secondo momento, impostare il valore DWORD su 0.
-
Se si desidera modificare le impostazioni predefinite (facoltativo), utilizzare quanto segue nello stesso percorso del Registro di sistema:
SSLPort DWORD — numero di porta SSL. Predefinito: 443.
SSLMinVersion DWORD – 1 = SSL 3.0, 2 = TLS 1.0, 3 = TLS 1.1, 4 = TLS 1.3. Predefinito: 2 (TLS 1.0).
SSLCipherSuite DWORD — 1 = GOV, 2 = COM, 3 = ALL. Predefinito: 3 (ALL).
PASSAGGIO 7. Assicurarsi che le porte TLS TCP e UDP siano aperte in Windows Firewall se non sono la 443 predefinita. Quando si crea la regola in ingresso in Windows Firewall, assicurarsi che le relative proprietà abbiano le voci “Consenti connessione” e “Abilitato” selezionate.
PASSAGGIO 8. Verificare che nessun’altra applicazione o servizio (ad esempio IIS) stia utilizzando la porta TLS TCP.
PASSAGGIO 9. Per i VDA per il sistema operativo Windows multisessione, riavviare il computer affinché le modifiche abbiano effetto. Non è necessario riavviare i computer contenenti VDA per il sistema operativo Windows a sessione singola.
Importante:
È necessario un passaggio aggiuntivo quando il VDA è in Windows Server 2012 R2, Windows Server 2016 o Windows 10 Anniversary Edition o versione successiva supportata. Ciò influisce sulle connessioni da Citrix Receiver per Windows (versioni da 4.6 a 4.9), dall’app Citrix Workspace per HTML5 e dall’app Citrix Workspace per Chrome. Sono incluse anche le connessioni che utilizzano Citrix Gateway.
Questo passaggio è necessario anche per tutte le connessioni che utilizzano Citrix Gateway, per tutte le versioni di VDA, se è configurato TLS tra Citrix Gateway e il VDA. Ciò influisce su tutte le versioni di Citrix Receiver.
Nel VDA (Windows Server 2012 R2, Windows Server 2016 o Windows 10 Anniversary Edition o versione successiva), utilizzando l’Editor Criteri di gruppo, accedere a Configurazione computer> Criteri > 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:
I primi sei elementi specificano anche la curva ellittica, P384 o P256. Assicurarsi che “curve25519” non sia selezionato. La modalità FIPS non impedisce l’uso di “curve25519”.
Quando questa impostazione di Criteri di gruppo è configurata, il VDA seleziona un pacchetto di crittografia solo se viene visualizzato in entrambi gli elenchi: l’elenco Criteri di gruppo e l’elenco per la modalità di conformità selezionata (COM, GOV o ALL). Il pacchetto di crittografia deve essere visualizzato anche nell’elenco inviato dal client (app Citrix Workspace o StoreFront).
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 Criteri di gruppo.
Importante:
Anche se le modifiche ai Criteri di gruppo vengono visualizzate quando vengono applicate, le modifiche apportate ai Criteri di gruppo per la configurazione TLS hanno effetto solo dopo il riavvio del sistema operativo. Pertanto, nel caso dei desktop in pool, applicare le modifiche ai Criteri di gruppo per la configurazione TLS all’immagine di base.
Configurare TLS nei gruppi di consegna
Completare questa procedura per ogni gruppo di consegna contenente VDA configurati per le connessioni TLS.
- Da Studio aprire la console PowerShell.
- Eseguire asnp Citrix.* per caricare i cmdlet del prodotto Citrix.
- Eseguire Get-BrokerAccessPolicyRule -DesktopGroupName ‘<nome-gruppo di consegna>’ | Set-BrokerAccessPolicyRule -HdxSslEnabled $true.
- Eseguire Set-BrokerSite -DnsResolutionEnabled $true.
Risoluzione dei problemi
Se si verifica un errore di connessione, controllare il registro eventi di sistema sul VDA.
Quando si utilizza l’app Citrix Workspace per Windows, se viene visualizzato un errore di connessione che indica un errore TLS, disabilitare Desktop Viewer e quindi riprovare a connettersi. Sebbene la connessione non riesca ancora, potrebbe essere fornita una spiegazione del problema TLS sottostante. Ad esempio, è stato specificato un modello non corretto al momento di richiedere un certificato all’autorità di certificazione.
La maggior parte delle configurazioni che utilizzano HDX Adaptive Transport funziona correttamente con DTLS, incluse quelle che utilizzano le versioni più recenti dell’app Citrix Workspace, di Citrix Gateway e del VDA. Alcune configurazioni che utilizzano DTLS tra l’app Citrix Workspace e Citrix Gateway e che utilizzano DTLS tra Citrix Gateway e il VDA richiedono ulteriori azioni.
È necessaria un’azione aggiuntiva se:
- La versione Citrix Receiver supporta HDX Adaptive Transport e DTLS: Receiver per Windows (4.7, 4.8, 4.9), Receiver per Mac (12.5, 12.6, 12.7), Receiver per iOS (7.2, 7.3.x) o Receiver per Linux (13.7)
e si applica anche una delle seguenti condizioni:
-
la versione Citrix Gateway supporta DTLS nel VDA, ma la versione VDA non supporta DTLS (versione 7.15 o precedente),
-
la versione VDA supporta DTLS (versione 7.16 o successiva), ma la versione Citrix Gateway non supporta DTLS per VDA.
Per evitare che le connessioni che partono da Citrix Receiver non funzionino, effettuare una delle seguenti operazioni:
- aggiornare Citrix Receiver a Receiver per Windows versione 4.10 o successiva, Receiver per Mac 12.8 o versioni successive o Receiver per iOS versione 7.5 o successiva; oppure
- aggiornare Citrix Gateway a una versione che supporti DTLS nel VDA; oppure
- aggiornare il VDA alla versione 7.16 o successiva; oppure
- disabilitare DTLS al VDA; oppure
- disabilitare HDX Adaptive Transport.
Nota:
Un aggiornamento adatto per Receiver per Linux non è ancora disponibile. Receiver per Android (versione 3.12.3) non supporta HDX Adaptive Transport e DTLS tramite Citrix Gateway e pertanto non è interessato.
Per disattivare DTLS sul VDA, modificare la configurazione del firewall del VDA in modo da disabilitare la porta UDP 443. Vedere Porte di rete.
Comunicazione tra Controller e VDA
La protezione a livello di messaggio Windows Communication Framework (WCF) protegge la comunicazione tra il controller e il VDA. Non è richiesta una protezione supplementare a livello di trasporto tramite TLS. La configurazione WCF utilizza Kerberos per l’autenticazione reciproca tra il controller e il VDA. La crittografia utilizza AES in modalità CBC con una chiave a 256 bit. L’integrità dei messaggi utilizza SHA-1.
Secondo Microsoft, i protocolli di sicurezza utilizzati da WCF sono conformi agli standard di OASIS (Organization for the Advancement of Structured Information Standards), tra cui WS-SecurityPolicy 1.2. Inoltre, Microsoft afferma che WCF supporta tutti i pacchetti di algoritmi elencati in Security Policy 1.2.
La comunicazione tra il Controller e il VDA utilizza il pacchetto di algoritmi basic256, i cui algoritmi sono come indicato sopra.
Reindirizzamento video TLS e HTML5 e reindirizzamento dei contenuti del browser
È possibile utilizzare il reindirizzamento video HTML5 e il reindirizzamento dei contenuti del browser per reindirizzare i siti Web HTTPS. Il JavaScript inserito in tali siti Web deve stabilire una connessione TLS al servizio di reindirizzamento video HTML5 Citrix HDX in esecuzione sul VDA. A tale scopo, il servizio di reindirizzamento video HTML5 genera due certificati personalizzati nell’archivio certificati presente sul VDA. L’arresto del servizio rimuove i certificati.
Il criterio di reindirizzamento video HTML5 è disabilitato per impostazione predefinita.
Il reindirizzamento del contenuto del browser è abilitato per impostazione predefinita.
Per ulteriori informazioni sul reindirizzamento video HTML5, vedere Impostazioni dei criteri multimediali.