Linux Virtual Delivery Agent

使用 TLS 保护用户会话安全

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

启用 TLS 加密

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

在 Linux VDA 上安装证书

获取 PEM 格式的服务器证书和 CRT 格式的根证书。服务器证书包含以下部分:

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

服务器证书示例:

服务器证书示例

启用 TLS 加密

在 Linux VDA 上启用 TLS 加密

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

用于启用 SSL 的脚本

提示: 必须在每台 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 相关的项目(例如 SSLProxyHostUDPDTLSPort)提供 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 文件添加一个条目,类似于:

<IP address of the Linux VDA>      <FQDN of the Linux VDA>

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

使用 TLS 保护用户会话安全