安全

要确保站点与 Citrix Workspace 应用程序之间的通信安全,可将 Citrix Workspace 应用程序与站点之间的连接与一系列的安全技术集成在一起,这些安全技术包括:

  • SOCKS 代理服务器或安全代理服务器(又称为安全性代理服务器、HTTPS 代理服务器或 TLS 通道代理服务器)。可以使用代理服务器来限制网络的入站和出站访问,并处理 Citrix Workspace 应用程序与服务器之间的连接。Citrix Workspace 应用程序支持 SOCKS 和安全代理协议。
  • 使用传输层安全性 (TLS) 协议的 Citrix Secure Web Gateway 或 SSL Relay 解决方案。支持 TLS 1.0 到 1.2。
  • 防火墙。网络防火墙可以根据目标地址和端口允许或阻止数据包通过。在使用 Citrix Workspace 应用程序时,如果要经过将服务器内部网络 IP 地址映射到外部 Internet 地址(即网络地址转换,或 NAT)的网络防火墙,则应配置外部地址。

通过代理服务器进行连接

代理服务器用于限制网络的入站和出站访问,并处理 Citrix Workspace 应用程序与 Citrix Virtual Apps 或 Citrix Virtual Desktops 部署之间的连接。Citrix Workspace 应用程序支持 SOCKS 协议(随附于 Citrix Secure Web Gateway 和 Citrix SSL Relay)、安全代理协议和 Windows NT 质询/响应 (NTLM) 身份验证。

支持的代理类型列表被 Trusted_Regions.ini 和 Untrusted_Regions.ini 限制为“Auto”(自动)、“None”(无)和“Wpad”类型。如果使用“SOCKS”、“Secure”(安全)或“Script”(脚本)类型,请编辑这些文件以向允许列表中添加其他类型。

注意:

要确保实现安全连接,请启用 TLS。

通过安全代理服务器进行连接

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

重要:

NTLM 支持要求在用户设备上安装 OpenSSL 库 libcrypto.so。Linux 发行版本中通常附带该库,但如有需要,也可以在新窗口中从 http://www.openssl.org/ 下载。

与 Citrix Secure Web Gateway 或 Citrix 安全套接字层中继连接

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

通过 Citrix Secure Web Gateway 进行连接

可以在普通模式或中继模式下使用 Citrix Secure Web Gateway,来为 Citrix Workspace 应用程序与服务器之间的通信提供安全通道。如果在普通模式下使用 Citrix Secure Web Gateway,并且用户通过 Web Interface 进行连接,则不需要配置 Citrix Workspace 应用程序。

Citrix Workspace 应用程序使用在运行 Web Interface 的服务器上远程配置的设置连接到运行 Citrix Secure Web Gateway 的服务器。有关为 Citrix Workspace 应用程序配置代理服务器设置的信息,请参阅 Web Interface 文档。

如果安全网络中的服务器上安装了 Citrix Secure Web Gateway 代理,则可以在中继模式下使用 Citrix Secure Web Gateway 代理。有关详细信息,请参阅 Citrix Virtual Apps (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) 称为域名。

通过 Citrix SSL Relay 进行连接

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

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

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

  • 在启用了 TLS 的用户设备与服务器之间
  • 在 Citrix Virtual Apps 服务器与 Web 服务器之间(通过 Web Interface)

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

配置并启用 TLS

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

  • MinimumTLS=1.0
  • MaximumTLS=1.2

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

备注 1:

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

备注 2:

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

适用于 Linux 的 Citrix Workspace 应用程序支持 DTLS 1.0 和 TLS 1.0、1.1、1.2 以及以下密码套件:

  • RSA+AES256-SHA(RSA 表示密钥交换算法,AES 256 表示加密算法,SHA-1 表示摘要算法)
  • RSA+AES256-SHA256(RSA 表示密钥交换算法,AES 256 表示加密算法,SHA-256 表示摘要算法)
  • RSA+AES128-SHA(RSA 表示密钥交换算法,AES 128 表示加密算法,SHA-1 表示摘要算法)
  • RSA+DES-CBC3-SHA(RSA 表示密钥交换算法,Triple-DES 表示加密算法,SHA-1 表示摘要算法)
  • RSA+RC4128-MD5(RSA 表示密钥交换算法,RC4 128 表示加密算法,MD5 表示摘要算法)
  • RSA+RC4128-SHA(RSA 表示密钥交换算法,RC4 128 表示加密算法,SHA-1 表示摘要算法)
  • RSA+AES128_GCM+SHA256(RSA 表示密钥交换算法,AES 128 表示加密算法,SHA-256 表示摘要算法)
  • RSA+AES256_GCM+SHA384(RSA 表示密钥交换算法,AES 256 表示加密算法,SHA-384 表示摘要算法)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(Elliptic curve Diffie–Hellman 表示密钥交换算法,RSA 表示身份验证算法,AES 256 和 GCM SHA 384 表示摘要算法)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(Elliptic curve Diffie–Hellman 表示密钥交换算法,RSA 表示身份验证算法,AES 256 和 CBC SHA 384 表示摘要算法)
  • TLS_RSA_AES256_CBC_SHA256(RSA 表示身份验证算法,AES 256 和 CBC SHA 256 表示摘要算法)

有效的加密密钥大小与为上述标准 SSL/TLS 密码套件定义的大小相同:

  • RC4 算法:128 位(流密码)
  • Triple DES 算法:3x64 位(有效大小为 3x56=168 位)(块大小为 64 位)
  • AES 算法:128 位或 256 位(块大小为 128)
  • 对于 RSA 密钥交换和身份验证,受支持的密钥长度(取模)范围为 1024 位到 4096 位。
  • 对于 ECDH 密钥交换,受支持的椭圆曲线为 NIST P-256 和 NIST P-384(256 位和 384 位密钥长度)。

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

  • SSLCiphers=GOV

此值为默认值。其他可识别的值为 COM 和 ALL。 注意: 与 TLS 版本配置一样,如果您在启动 selfservice 或 storebrowse 后更改了此值,则必须键入: killall AuthManagerDaemon ServiceRecord selfservice storebrowse

在用户设备上安装根证书

要使用 TLS,用户设备上需要安装根证书,才能验证服务器证书上的证书颁发机构签名。默认情况下,Citrix Workspace 应用程序支持以下证书。

证书 颁发机构
Class4PCA_G2_v2.pem VeriSign Trust Network
Class3PCA_G2_v2.pem VeriSign Trust Network
BTCTRoot.pem Baltimore Cyber Trust Root
GTECTGlobalRoot.pem GTE Cyber Trust Global Root
Pcs3ss_v4.pem 第 3 类公共主证书颁发机构
GeoTrust_Global_CA.pem GeoTrust
DigiCertGlobalRootCA.pem DigiCert 全局根 CA

您无需获取并在用户设备上安装根证书,即可使用这些证书颁发机构颁发的证书。但是,如果选择使用其他证书颁发机构,则必须从证书颁发机构获取根证书,并将其安装在每个用户设备上。

适用于 Linux 的 Citrix Workspace 应用程序支持 1024、2048 和 3072 位长度的 RSA 密钥。此外,还支持 RSA 密钥长度为 4096 位的根证书。

注意:

适用于 Linux 的 Citrix Workspace 应用程序 1808 及更高版本将使用 ctx_rehash 工具,如以下步骤中所述。

使用根证书

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

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

    2. 运行以下命令:

      $ICAROOT/util/ctx_rehash

使用中间证书

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

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

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

      $ICAROOT/util/ctx_rehash

启用智能卡支持

适用于 Linux 的 Citrix Workspace 应用程序支持多种智能卡读卡器。如果同时为服务器和 Citrix Workspace 应用程序启用了智能卡支持,智能卡可以实现以下用途:

  • 智能卡登录身份验证。使用智能卡向 Citrix Virtual Apps 服务器验证用户身份。
  • 智能卡应用程序支持。允许支持智能卡的已发布应用程序访问本地智能卡设备。

智能卡数据对安全性非常敏感,应通过采用安全身份验证的通道(例如 TLS)进行传输。

要实现智能卡支持,必须具备以下条件:

  • 智能卡读卡器和已发布的应用程序必须符合 PC/SC 工业标准。
  • 安装适用于您的智能卡的驱动程序。
  • 安装 PC/SC Lite 软件包。
  • 安装并运行 pcscd 守护程序,该程序提供使用 PC/SC 访问智能卡的中间件。
  • 在 64 位系统中,64 位和 32 位版本的 libpscslite1 软件包必须存在。

重要:如果要使用装有 SunRay 2.0 或更高版本服务器软件的 SunRay 终端,请安装 PC/SC SRCOM bypass 包,该软件包可从 http://www.sun.com/ 下载。

有关在服务器上配置智能卡支持的详细信息,请参阅 Citrix Virtual Apps and Desktops 文档。

通过 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 文档。

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

加密更新

此功能是安全通信协议的重要变更。前缀为 TLS_RSA_ 的密码套件不提供向前保密,并且被视为弱密码套件。这些密码套件在 Citrix Receiver 13.10 中已弃用,并带有向后兼容的选项。

在本版本中,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)

配置密码套件

要启用不同的密码套件,请将参数 SSLCiphers 的值更改为 ALL、COM 或 GOV。默认情况下,该选项在 $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)

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

配置已弃用的密码套件

重要:

自版本 1903 起,Citrix 将仅支持以下三个密码套件:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 – GOV/ALL
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 – GOV/ALL
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA – COM/ALL

本主题配置已弃用的密码套件仅适用于版本 1901 及更早版本。自版本 1903 起,仅支持高级 TLS_ECDHE_RSA_ 密码套件。有关详细信息,请参阅加密更新。本部分仅供参考,并且仅面向使用版本 1901 及更早版本的客户。下面提及的密码套件在没有向后兼容的情况下被弃用。

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

已创建标志以允许使用已弃用的密码套件。在适用于 Linux 的 Citrix Workspace 应用程序 1808 中,这些标志默认处于启用状态,但默认情况下不强制弃用这些使用 AES 或 3DES 算法的密码套件。但是,可以修改和使用这些标志以更加严格地强制执行弃用。

为获得更高的安全性,请将标志 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 的信息,请参阅自适应传输

必备条件

要在客户端上配置此功能,请执行以下步骤:

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

  • 删除 All_Regions.ini 文件

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

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

配置已弃用的密码套件

  1. 打开 $ICAROOT/config/All_Regions.ini 文件。
  2. Network\SSL 部分中,使用以下三个标志启用或禁用已弃用的密码套件:

    • Enable_TLS_RSA_: 默认情况下,标志 Enable_TLS_RSA_ 设置为 True。 将标志 Enable_TLS_RSA_ 设置为 true 以查看以下密码套件:

      • 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

    重要:

    将标志 Enable_TLS_RSA_ 设置为 true 以使用另外两个密码套件 Enable_RC4-MD5 和 Enable_RC4_128_SHA。

    • Enable_RC4 MD5: 默认情况下,标志 Enable_RC4-MD5 设置为 False。 将此标志设置为 true 以启用 RC4-MD5 密码套件。
    • Enable_RC4_128_SHA: 默认情况下,标志 Enable_RC4_128_SHA 设置为 False。 将此标志设置为 true 以启用 RC4_128_SHA 密码套件。
  3. 保存 文件。

下表列出了每组中的密码套件:

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

表 1 – 密码套件支持列表

注意:

上文中的所有密码套件都遵从 FIPS- 和 SP800-52- 规则。前两个密码套件仅允许用于 (D)TLS1.2 连接。请参阅表 1 – 密码套件支持列表,了解密码套件可支持性的综合表征。