Configuration de TLS et du mode de conformité
Pris en charge sur : Toutes les plates-formes Citrix Workspace prises en charge
Description
Cette option permet à Citrix Workspace d'identifier les connexions sécurisées et de crypter les communications sur le serveur. Types de connexions sécurisées TLS entre Citrix Workspace et XenApp et XenDesktop prises en charge par Citrix : 1. TLS 1.2 2. TLS 1.3 TLS 1.0 and 1.1 support has been dropped, but the options are still offered via the policy for compatibility purposes. Les valeurs du Mode de conformité aux normes de sécurité sont les suivantes : - FIPS - L'activation du mode FIPS oblige le système d'exploitation Windows et ses sous-systèmes à utiliser des algorithmes cryptographiques homologués FIPS. - Aucun : aucun mode de conformité n'est appliqué. - SP800-52 : la conformité à la norme NIST SP800-52r1 est appliquée. Lorsque vous sélectionnez SP800-52 dans le menu déroulant Mode de conformité aux normes de sécurité, la stratégie de vérification de la liste de révocation de certificats (CRCP) suivante est autorisée : - Exiger vérification avec accès complet et liste de révocation de certificats. Option par défaut. - Exiger vérification avec accès complet et toutes les listes de révocation de certificats Vous pouvez configurer Citrix Workspace de manière à ce qu'il se connecte uniquement à des serveurs spécifiés dans une liste séparée par des virgules dans l'option Serveurs TLS autorisés. Vous pouvez y spécifier des caractères génériques et des numéros de port ; par exemple, *.citrix.com:4433 autorise les connexions à tout serveur dont le nom commun se termine par .citrix.com sur le port 4433. L'exactitude des informations contenues dans un certificat de sécurité est certifiée par l'émetteur du certificat. Si Citrix Workspace ne reconnaît pas et n'approuve pas l'émetteur d'un certificat, la connexion est refusée. La version de TLS peut être limitée à l'une des combinaisons suivantes : - TLS 1.2 or TLS 1.3 (Any supported TLS) - TLS 1.2 only - TLS 1.3 only Le jeu de chiffrement TLS est un groupe de suites de chiffrement autorisées par le client. Le jeu de chiffrement TLS peut être configuré sur l'une des valeurs suivantes : Remarque : les suites de chiffrement TLS_RSA_* peuvent être désactivées à l'aide de la stratégie Suites de chiffrement obsolètes. - Quelconque : lorsque « Quelconque » est sélectionnée, les suites de chiffrement suivantes sont autorisées en mode de conformité AUCUN par défaut : * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA * TLS_EMPTY_RENEGOTIATION_INFO_SCSV - Commerciale : lorsque « Commerciale » est sélectionnée, seules les suites de chiffrement suivantes sont autorisées : * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA * TLS_EMPTY_RENEGOTIATION_INFO_SCSV - Gouvernementale : lorsque « Gouvernementale » est sélectionnée, seules les suites de chiffrement suivantes sont autorisées : * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 * TLS_EMPTY_RENEGOTIATION_INFO_SCSV La vérification de révocation de certificats est utilisée pour améliorer l'authentification cryptographique du serveur Citrix et la sécurité générale des connexions TLS entre un client et un serveur. Remarque : la vérification de révocation de certificats est valide uniquement lorsque le mode de conformité aux normes de sécurité SP800-52 est défini. Lorsque vous activez ce paramètre, le client vérifie si le certificat du serveur est révoqué ou non. Il existe plusieurs niveaux de vérification des listes de révocation de certificats. Par exemple, le client peut être configuré pour vérifier uniquement sa liste de certificats locaux ou pour vérifier les listes de certificats locaux et de réseau. En outre, la vérification des certificats peut être configurée pour autoriser les utilisateurs à se connecter uniquement si toutes les listes de révocation de certificats ont été vérifiées. La vérification de la liste de révocation de certificats est une fonctionnalité avancée prise en charge par certains émetteurs de certificats. Elle permet à un administrateur de révoquer des certificats de sécurité (invalidés avant leur date d'expiration) dans le cas où la clé privée du certificat est corrompue. Valeurs applicables à ce paramètre : - Aucune vérification : la liste de révocation des certificats n'est pas vérifiée. - Vérifier sans accès au réseau : la liste de révocation des certificats est vérifiée. Seuls les magasins répertoriés dans la liste de révocation de certificats locaux sont utilisés. Tous les points de distribution sont ignorés. L'utilisation d'une liste de révocation de certificats n'est pas indispensable à la vérification du certificat serveur présenté par le serveur Relais SSL/Secure Gateway cible. - Vérifier avec accès complet : la liste de révocation de certificats est vérifiée. Les magasins locaux de la liste de révocation de certificats et tous les points de distribution sont utilisés. Si des informations de révocation sont trouvées pour un certificat, la connexion sera refusée. L'utilisation d'une liste de révocation de certificats n'est pas indispensable à la vérification du certificat serveur présenté par le serveur cible. - Exiger vérification avec accès complet et toutes les listes de révocation de certificats : la liste de révocation de certificats est vérifiée, y compris l'autorité de certification racine. Les magasins locaux de la liste de révocation de certificats et tous les points de distribution sont utilisés. Si des informations de révocation sont trouvées pour un certificat, la connexion sera refusée. Si des informations de révocation sont trouvées pour un certificat, la connexion sera refusée. - Exiger vérification avec accès complet et toutes les listes de révocation de certificats : la liste de révocation de certificats est vérifiée, y compris l'autorité de certification racine. Les magasins locaux de la liste de révocation de certificats et tous les points de distribution sont utilisés. Si des informations de révocation sont trouvées pour un certificat, la connexion sera refusée. Si des informations de révocation sont trouvées pour un certificat, la connexion sera refusée. Les organisations qui configurent TLS pour une gamme de produits peuvent choisir d'identifier les serveurs conçus pour Citrix Workspace en spécifiant un identificateur d'objet de stratégie de certificat dans le cadre du certificat de sécurité. Si un identificateur d'objet de stratégie est configuré ici, Citrix Workspace n'accepte que les certificats qui déclarent une stratégie compatible. Lors de la connexion à l'aide de TLS, le serveur peut être configuré pour exiger que Citrix Workspace fournisse un certificat de sécurité d'identification. Utilisez le paramètre « Authentification client » pour configurer si l'identification est fournie automatiquement ou si l'utilisateur est notifié. Options possibles : - Désactivé : l'authentification client est désactivée - Afficher sélecteur de certificats : toujours demander à l'utilisateur de sélectionner un certificat. - Sélectionner automatiquement si possible : demander à l'utilisateur uniquement lorsque plusieurs certificats sont disponibles ne jamais fournir d'identification - Non configuré : indique que l’authentification du client n’est pas configurée. Le comportement par défaut est appliqué. - Utiliser certificat spécifié : utiliser le certificat client spécifié dans le paramètre ci-dessous Utilisez le paramètre « Certificat client » pour spécifier l'empreinte numérique du certificat d'identification et éviter une intervention inutile de l'utilisateur.
Registre
Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL REG Builder
BETAConfigurez l'état et les éléments pour générer les sorties .reg, PowerShell, Intune et SCCM.
Ces exports reproduisent l'effet registre de la stratégie. Modifier le registre directement n'équivaut pas à appliquer la GPO via la console (pas de gpupdate, pas de suivi centralisé). Testez avant la production ; HKLM nécessite des droits administrateur.
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Configuration de TLS et du mode de conformité
; State: Enabled
; Supported on: Toutes les plates-formes Citrix Workspace prises en charge
[HKEY_CURRENT_USER\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL]
"SSLEnable"=dword:00000001
"SSLSecurityComplianceMode"="NONE"
"SSLProxyHost"=""
"SecureChannelProtocol"="TLS13"
"SSLCiphers"="GOV"
"SSLCertificateRevocationCheckPolicy"="NoCheck"
"SSLPolicyExtensionOID"=""
"SSLClientAuthentication"="Off"
"SSLClientCertificate"="" PowerShell
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SSLEnable' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'SSLSecurityComplianceMode' -Value 'NONE' -Type String
Set-ItemProperty -Path $path -Name 'SSLProxyHost' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SecureChannelProtocol' -Value 'TLS13' -Type String
Set-ItemProperty -Path $path -Name 'SSLCiphers' -Value 'GOV' -Type String
Set-ItemProperty -Path $path -Name 'SSLCertificateRevocationCheckPolicy' -Value 'NoCheck' -Type String
Set-ItemProperty -Path $path -Name 'SSLPolicyExtensionOID' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientAuthentication' -Value 'Off' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientCertificate' -Value '' -Type String Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLEnable' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLSecurityComplianceMode' -Expected 'NONE' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLProxyHost' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SecureChannelProtocol' -Expected 'TLS13' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLCiphers' -Expected 'GOV' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLCertificateRevocationCheckPolicy' -Expected 'NoCheck' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLPolicyExtensionOID' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLClientAuthentication' -Expected 'Off' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLClientCertificate' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SSLEnable' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'SSLSecurityComplianceMode' -Value 'NONE' -Type String
Set-ItemProperty -Path $path -Name 'SSLProxyHost' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SecureChannelProtocol' -Value 'TLS13' -Type String
Set-ItemProperty -Path $path -Name 'SSLCiphers' -Value 'GOV' -Type String
Set-ItemProperty -Path $path -Name 'SSLCertificateRevocationCheckPolicy' -Value 'NoCheck' -Type String
Set-ItemProperty -Path $path -Name 'SSLPolicyExtensionOID' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientAuthentication' -Value 'Off' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientCertificate' -Value '' -Type String SCCM CI
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLEnable' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLSecurityComplianceMode' -Expected 'NONE' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLProxyHost' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SecureChannelProtocol' -Expected 'TLS13' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLCiphers' -Expected 'GOV' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLCertificateRevocationCheckPolicy' -Expected 'NoCheck' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLPolicyExtensionOID' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLClientAuthentication' -Expected 'Off' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL' -Name 'SSLClientCertificate' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Configuration de TLS et du mode de conformité
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\SSL'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'SSLEnable' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'SSLSecurityComplianceMode' -Value 'NONE' -Type String
Set-ItemProperty -Path $path -Name 'SSLProxyHost' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SecureChannelProtocol' -Value 'TLS13' -Type String
Set-ItemProperty -Path $path -Name 'SSLCiphers' -Value 'GOV' -Type String
Set-ItemProperty -Path $path -Name 'SSLCertificateRevocationCheckPolicy' -Value 'NoCheck' -Type String
Set-ItemProperty -Path $path -Name 'SSLPolicyExtensionOID' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientAuthentication' -Value 'Off' -Type String
Set-ItemProperty -Path $path -Name 'SSLClientCertificate' -Value '' -Type String