Linux Virtual Delivery Agent

使用 TLS 保护用户会话安全

自版本 7.16 起,Linux VDA 支持用于保护用户会话安全的 TLS 加密。默认情况下,TLS 加密处于禁用状态。

启用 TLS 加密

要启用用于保护用户会话安全的 TLS 加密,请在 Linux VDA 和 Delivery Controller (Controller) 上获取证书并启用 TLS 加密。

获取证书

从可信证书颁发机构 (CA) 获取 PEM 格式的服务器证书和 CRT 格式的根证书。服务器证书包含以下部分:

  • 证书
  • 未加密的私钥
  • 中间证书(可选)

服务器证书示例:

服务器证书示例

启用 TLS 加密

在 Linux VDA 上启用 TLS 加密

在 Linux VDA 上,使用 enable_vdassl.sh 工具启用(或禁用)TLS 加密。该工具位于 /opt/Citrix/VDA/sbin 目录中。有关工具中可用的选项的信息,请运行 /opt/Citrix/VDA/sbin/enable_vdassl.sh -help 命令。

提示: 必须在每台 Linux VDA 服务器上安装服务器证书,以及必须在每台 Linux VDA 服务器和客户机上安装根证书。

在 Controller 上启用 TLS 加密

注意:

只能对整个交付组启用 TLS 加密。不能为特定应用程序启用 TLS 加密。

在 Controller 上的 PowerShell 窗口中,按顺序运行以下命令以对目标交付组启用 TLS 加密。

  1. Add-PSSnapin citrix.*
  2. Get-BrokerAccessPolicyRule –DesktopGroupName 'GROUPNAME' | Set-BrokerAccessPolicyRule –HdxSslEnabled $true

注意:

要确保 ICA 会话文件中仅包含 VDA FQDN,还可以运行 Set-BrokerSite –DnsResolutionEnabled $true 命令。该命令将启用 DNS 解析。如果禁用了 DNS 解析,ICA 会话文件会显示 VDA IP 地址,并仅为与 TLS 相关的项目(例如 SSLProxyHost 和 UDPDTLSPort)提供 FQDN。

要在 Controller 上禁用 TLS 加密,请按顺序运行以下命令:

  1. Add-PSSnapin citrix.*
  2. Get-BrokerAccessPolicyRule –DesktopGroupName 'GROUPNAME' | Set-BrokerAccessPolicyRule –HdxSslEnabled $false
  3. Set-BrokerSite –DnsResolutionEnabled $false

故障排除

尝试访问已发布的桌面会话时,适用于 Windows 的 Citrix Workspace 应用程序中可能会出现下面的“无法分配请求的地址”错误:

无法分配请求的地址

解决方法:向 hosts 文件添加一个条目,类似于:

10.108.13.180      rhvm72work.citrixlab.local

其中

  • 10.108.13.180 是 Linux VDA 的 IP 地址。
  • rhvm72work.citrixlab.local 是 Linux VDA 的 FQDN。

在 Windows 计算机上,hosts 文件通常位于 C:\Windows\System32\drivers\etc\hosts

使用 TLS 保护用户会话安全