安全通信

要确保您的站点与 Citrix Workspace 应用程序之间的通信安全,可以使用 Citrix Gateway 等安全技术集成 Citrix Workspace 应用程序连接。

注意:

Citrix 建议在 StoreFront 服务器与用户设备之间使用 Citrix Gateway。

  • 防火墙:网络防火墙可以根据目标地址和端口允许或阻止数据包通过。在使用 Citrix Workspace 应用程序时,如果要经过将服务器内部网络 IP 地址映射到外部 Internet 地址(即网络地址转换,或 NAT)的网络防火墙,则应配置外部地址。

  • 可信的服务器。

  • 仅适用于 Citrix Virtual Apps and Desktops 或 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)部署(不适用于 XenDesktop 7):SOCKS 代理服务器或安全代理服务器(也称为安全性代理服务器、HTTPS 代理服务器或 传输层安全性 (TLS) 通道代理服务器)。可以使用代理服务器来限制网络的入站和出站访问,并处理 Citrix Workspace 应用程序与服务器之间的连接。Citrix Workspace 应用程序支持 SOCKS 和安全代理协议。

  • 仅限 Citrix Virtual Apps and Desktops 或 Citrix DaaS 部署:使用 TLS 协议的 Citrix Secure Web Gateway 或 SSL Relay 解决方案。支持 TLS 1.0 到 1.2。

Citrix Gateway

Citrix Gateway(以前称为 Access Gateway)保护与 StoreFront 应用商店的连接。此外,管理员还可以详细控制用户对桌面和应用程序的访问权限。

要通过 Citrix Gateway 连接桌面和应用程序,请执行以下操作:

  1. 使用以下方法之一指定管理员提供的 Citrix Gateway URL:

    • 首次使用自助服务式用户界面时,系统会提示您在“添加帐户”对话框中输入 URL。
    • 以后使用自助服务式用户界面时,可以通过单击首选项 > 帐户 > 添加来输入 URL。
    • 如果要通过 storebrowse 命令建立连接,请在命令行中输入 URL。

    该 URL 指定网关和特定应用商店(选择性指定):

    • 要连接到 Citrix Workspace 应用程序找到的第一个应用商店,请使用以下格式的 URL,例如:https://gateway.company.com
    • 要连接到特定应用商店,请使用以下格式的 URL,例如: https://gateway.company.com?<storename>。此动态 URL 的格式为非标准格式;请勿在该 URL 中包含 =(等号字符)。如果要通过 storebrowse 连接到特定应用商店,可能需要在 storebrowse 命令中用双引号引起 URL。
  2. 系统提示时,使用您的用户名、密码和安全令牌连接到该应用商店(通过网关)。有关此步骤的详细信息,请参阅 Citrix Gateway 文档。

    身份验证完成后,将显示您的桌面和应用程序。

代理服务器

代理服务器用于限制网络的入站和出站访问,并处理 Citrix Workspace 应用程序与 Citrix Virtual Apps and Desktops 或 Citrix DaaS 部署之间的连接。

Citrix Workspace 应用程序支持 SOCKS 和 HTTPS 协议以及以下内容:

  • Citrix Secure Web Gateway 和安全代理协议 Citrix SSL Relay
  • Windows NT 质询/响应 (NTLM) 身份验证。

要将代理配置为使用 SOCKS 协议启动桌面,请执行以下操作:

  1. 导航到 ~/.ICAClient/All_Regions.ini 配置文件。
  2. 更新以下属性:

    1. 更新 ProxyType。可以将 SocksV5 用作 ProxyType
    2. 更新 ProxyHost。可以按以下格式添加 ProxyHost

      <IP>:<PORT>。例如“10.122.122.122:1080”。

注意:

  • 要使用代理,请禁用 EDT。要禁用 EDT,请在 ~/.ICAClient/All_Regions.ini 配置文件的 [Network\UDT] 部分中将 HDXoverUDP 属性设置为 off
  • 要确保实现安全连接,请启用 TLS。

代理服务器的 HTTPS 协议支持

以前,只能使用 SOCKS 协议连接到代理服务器。自 Citrix Workspace 应用程序 2308 起,您也可以使用 HTTPS 协议连接到代理服务器。

要使用 HTTPS 协议打开桌面,请执行以下操作:

  1. 导航到 ~/.ICAClient/All_Regions.ini 配置文件。
  2. 转至 [Network\UDT] 部分。
  3. 设置以下内容:

    HDXoverUDP=Off
    <!--NeedCopy-->
    
  4. 转到 [Network\Proxy] 部分。
  5. 更新以下属性:

    • 更新 ProxyType。可以使用 Secure 作为 ProxyType。
    • 更新 ProxyHost。可以按以下格式添加 ProxyHost:

    <IP>:<PORT>。例如“192.168.101.37:6153”。

安全代理服务器

将连接配置为使用安全代理协议时,意味着同时启用了对 Windows NT 质询/响应 (NTLM) 身份验证的支持。如果此协议可用,则无需任何其他配置即可在运行时检测和使用此协议。

重要提示:

NTLM 支持需要 OpenSSL 1.1.1d 和 libcrypto.so 库。请在用户设备上安装这些库。这些库通常包含在 Linux 发行版中。也可以从 http://www.openssl.org/ 进行下载。

Secure Web Gateway 和 SSL

可以将 Citrix Workspace 应用程序与 Citrix Secure Web Gateway 或安全套接字层 (SSL) 中继服务集成在一起。Citrix Workspace 应用程序支持 TLS 协议。TLS(传输层安全性)是 SSL 协议的最新标准化版本。互联网工程工作小组 (IETF) 在接管 SSL 开放式标准的开发任务后,将 SSL 更名为 TLS。TLS 通过提供服务器身份验证、数据流加密和消息完整性检查,来保障数据通信的安全。有些组织(包括美国政府组织)要求使用 TLS 来保障数据通信的安全。这些组织可能还要求使用验证的加密,例如 FIPS 140(联邦信息处理标准)。FIPS 140 是一个加密标准。

Secure Web Gateway

可以在普通模式或中继模式下使用 Citrix Secure Web Gateway,来为 Citrix Workspace 应用程序与服务器之间的通信提供安全通道。如果您在普通模式下使用 Secure Web Gateway,则 Citrix Workspace 应用程序不需要任何配置。

如果安全网络中的服务器上安装了 Citrix Secure Web Gateway 代理,则可以在中继模式下使用 Citrix Secure Web Gateway 代理。如果使用中继模式,Citrix Secure Web Gateway 服务器将相当于一个代理,并且必须配置 Citrix Workspace 应用程序才能使用:

  • Citrix Secure Web Gateway 服务器的完全限定的域名 (FQDN)。
  • Citrix Secure Web Gateway 服务器的端口号。

注意:

Citrix Secure Web Gateway 版本 2.0 不支持中继模式。

FQDN 必须按顺序列出以下三个组成部分:

  • 主机名
  • 中间域
  • 顶级域

例如:my_computer.my_company.com 是一个 FQDN,因为它依次列出主机名 (my_computer)、中间域 (my_company) 和顶级域 (.com)。中间域和顶级域的组合 (my_company.com) 称为域名。

SSL Relay

默认情况下,Citrix SSL Relay 使用 Citrix Virtual Apps and Desktops 或 Citrix DaaS 服务器上的 TCP 端口 443 进行 TLS 安全通信。SSL Relay 收到 TLS 连接时,先解密数据再将其重定向到服务器。

如果将 SSL Relay 配置为侦听 443 以外的其他端口,则必须将该非标准侦听端口号指定给 Citrix Workspace 应用程序。

可以使用 Citrix SSL Relay 来保障以下情况下的通信安全:

  • 在启用了 TLS 的用户设备与服务器之间

有关配置和使用 SSL Relay 来确保安装安全的信息,请参阅 Citrix Virtual Apps 文档。

TLS

以前,支持的最低 TLS 版本为 1.0,支持的最高 TLS 版本为 1.2。自版本 2203 起,支持的最高 TLS 版本为 1.3。

可以通过在 [WFClient] 部分中添加以下配置选项来控制能够协商的 TLS 协议的版本:

  • MinimumTLS=1.1
  • MaximumTLS=1.3

这些值是默认值,在代码中实现。请根据需要调整这些值。

备注:

  • 无论何时启动程序,都会读取这些值。如果您在启动自助服务或 storebrowse 后更改了这些值,请键入 killall AuthManagerDaemon ServiceRecord selfservice storebrowse

  • 适用于 Linux 的 Citrix Workspace 应用程序不允许使用 SSLv3 协议。

  • TLS 1.0/1.1 仅适用于支持该版本的旧版 VDI 或 Citrix Gateway。

要选择密码套件集,请在 [WFClient] 部分中添加以下配置选项:

  • SSLCiphers=GOV

此值为默认值。其他可识别的值为 COM 和 ALL。

注意:

与 TLS 版本配置一样,如果您在启动 selfservice 或 storebrowse 后更改了此配置,则必须键入: killall AuthManagerDaemon ServiceRecord selfservice storebrowse

CryptoKit 更新

CryptoKit 版本 14.2 与 OpenSSL 1.1.1d 版集成。

加密更新

此功能是安全通信协议的重要变更。前缀为 TLS_RSA_ 的密码套件不提供向前保密,并且被视为弱密码套件。

TLS_RSA_ 密码套件已被完全删除。相反,本版本支持高级 TLS_ECDHE_RSA_ 密码套件。

如果您的环境未配置 TLS_ECDHE_RSA_ 密码套件,则由于密码较弱,客户端启动将不受支持。对于客户端身份验证,支持 1536 位 RSA 密钥。

支持以下高级密码套件:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)

DTLS v1.0 支持以下密码套件:

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_EMPTY_RENEGOTIATION_INFO_SCSV

DTLS v1.2 支持以下密码套件:

  • 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

TLS v1.3 支持以下密码套件:

  • TLS_AES_128_GCM_SHA256 (0x1301)
  • TLS_AES_256_GCM_SHA384 (0x1302)

注意:

自版本 1903 及更高版本起,Citrix Gateway 12.1 及更高版本支持 DTLS。有关 Citrix Gateway 的 DTLS 支持的密码套件的信息,请参阅支持 DTLS 协议

密码套件

要启用不同的密码套件,请将参数 SSLCiphers 的值更改为 ALLCOMGOV。默认情况下,该选项在 $ICAROOT/config 目录下的 All_Regions.ini 文件中设置为 ALL

下面几组密码套件分别由 ALL、GOV 和 COM 提供:

  • ALL
    • 支持全部 3 个密码。
  • GOV
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
  • COM
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)

有关故障排除信息,请参阅密码套件

前缀为 TLS_RSA_ 的密码套件不提供向前保密。这些密码套件现在已被行业弃用。但是,为支持与早期版本的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 向后兼容,Citrix Workspace 应用程序将包括用于启用这些密码套件的选项。

为获得更高的安全性,请将标志 Enable\_TLS\_RSA\_ 设置为 False

下面是已弃用的密码套件列表:

  • TLS_RSA_AES256_GCM_SHA384
  • TLS_RSA_AES128_GCM_SHA256
  • TLS_RSA_AES256_CBC_SHA256
  • TLS_RSA_AES256_CBC_SHA
  • TLS_RSA_AES128_CBC_SHA
  • TLS_RSA_3DES_CBC_EDE_SHA
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_WITH_RC4_128_SHA

注意:

最后两个密码套件使用 RC4 算法,并且已弃用,因为这两个套件不安全。还可以考虑弃用 TLS_RSA_3DES_CBC_EDE_SHA 密码套件。可以使用标志来强制执行所有这些弃用。

有关配置 DTLS v1.2 的详细信息,请参阅 Citrix Virtual Apps and Desktops 文档中的自适应传输部分。

必备条件:

如果您使用的是版本 1901 及更早版本,请执行以下步骤:

如果 .ICAClient 已存在于当前用户的主目录中:

  • 删除 All\_Regions.ini 文件

  • 要保留 AllRegions.ini 文件,请在 [Network\SSL] 部分的结尾处添加以下行:
    • Enable_RC4-MD5=
    • Enable_RC4_128_SHA=
    • Enable_TLS_RSA_=

如果当前用户的主文件夹中不存在 .ICAClient 文件夹,则指示 Citrix Workspace 应用程序的全新安装。在这种情况下,将保留这些功能的默认设置。

下表列出了每组中的密码套件: 表 1 - 密码套件支持列表

显示密码套件支持列表的表格图片

注意:

前面的所有密码套件均符合 FIPS-SP800-52- 的要求。前两个密码套件仅允许用于 (D)TLS1.2 连接。请参阅表 1 – 密码套件支持列表,了解密码套件可支持性的综合表征。

Certificates(证书)

当您使用具有 SAML 身份验证的应用商店(使用 AUTHv3 协议)时,将显示以下错误消息:“Unacceptable TLS Certificate”(不可接受的 TLS 证书)。

使用 Citrix Workspace 应用程序 1906 及更高版本时会出现此问题。有关故障排除说明,请参阅以下知识中心文章:

如果 StoreFront 服务器无法提供与所使用的证书匹配的中间证书,或者要安装中间证书以支持智能卡用户,请先执行以下步骤,然后再添加 StoreFront 应用商店:

  1. 单独获取一个或多个 PEM 格式的中间证书。

    提示:

    如果找不到 PEM 格式的证书,请使用 openssl 实用程序将 CRT 格式的证书转换为 .pem 文件。

  2. 以用户身份(通常为 root)安装软件包:

    1. 将一个或多个文件复制到 $ICAROOT/keystore/intcerts。

    2. 以安装软件包的用户身份运行以下命令:

      $ICAROOT/util/ctx_rehash

如果要对证书颁发机构颁发的尚不受用户设备信任的服务器证书进行身份验证,请先按以下说明进行操作,然后再添加 StoreFront 应用商店:

  1. 获取 PEM 格式的根证书。 提示:如果找不到此格式的证书,请使用 openssl 实用程序将 CRT 格式的证书转换为 .pem 文件。
  2. 以安装软件包的用户身份(通常为 root)执行以下操作:
    1. 将该文件复制到 $ICAROOT/keystore/cacerts。

    2. 请运行以下命令:

      $ICAROOT/util/ctx_rehash

HDX Enlightened Data Transport 协议 (EDT) 的增强功能

在早期版本中,如果将 HDXoverUDP 设置为 Preferred,则通过 EDT 进行的数据传输将用作主数据传输,并回退到 TCP。

自 Citrix Workspace 应用程序版本 2103 起,启用了会话可靠性时,将在以下过程中并行尝试 EDT 和 TCP:

  • 初始连接
  • 会话可靠性重新连接
  • 客户端自动重新连接

此增强功能可缩短首选项为 EDT 时的连接时间。但是,所需的基础 UDP 传输不可用,并且必须使用 TCP。

默认情况下,回退到 TCP 后,自适应传输将继续每隔 5 分钟搜寻一次 EDT。

Enlightened Data Transport (EDT) MTU 发现

Citrix Workspace 应用程序 2109 支持 Enlightened Data Transport (EDT) 中的最大传输单位 (MTU) 发现。它提高了 EDT 协议的可靠性和兼容性,并提供改进的用户体验。

有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档中的 EDT MTU 发现部分。

支持 EDT IPv6

自 Citrix Workspace 应用程序版本 2203 起,支持 EDT IPv6

注意:

IPv6 受 TCP 和 EDT 支持。但是,基于 TLS 的 TCP 和基于 DTLS 的 EDT 不支持 IPv6

支持使用 DTLS 的 IPv6 UDP

以前,仅通过 IPv4 网络支持适用于 Linux 的 Citrix Workspace 应用程序与 Virtual Delivery Agent (VDA) 之间的 DTLS 连接。

自 2311 版本起,Citrix Workspace 应用程序支持通过 IPv4IPv6 建立的 DTLS 连接。

默认情况下启用此功能。

在适用于 Linux 的 Citrix Workspace 应用程序中使用 IPv6 DTLS 与 VDA 直接连接时,无需设置其他配置。

支持使用 TLS 的 IPv6 TCP

以前,仅通过 IPv4 网络支持适用于 Linux 的 Citrix Workspace 应用程序与 Virtual Delivery Agent (VDA) 之间的 TLS 连接。

自 2311 版本起,Citrix Workspace 应用程序支持通过 IPv4 和 IPv6 建立的 TLS 连接。

默认情况下启用此功能。

在适用于 Linux 的 Citrix Workspace 应用程序中使用 IPv6 TLS 与 VDA 直接连接时,无需设置其他配置。

安全通信