安全通信

要确保服务器场与 Citrix Receiver for Mac 之间的通信安全,可以将与服务器场建立的连接与一系列的安全技术集成在一起,其中包括 Citrix NetScaler Gateway。有关通过 Citrix StoreFront 配置此连接的信息,请参阅 StoreFront 文档。

注意:

Citrix 推荐使用 NetScaler Gateway 以确保 StoreFront 服务器和用户设备之间的通信安全。

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

关于证书

专用(自签名)证书

如果远程网关上安装了专用证书,用户设备上必须安装组织的证书颁发机构颁发的根证书,才能使用 Citrix Receiver for Mac 成功访问 Citrix 资源。

注意:

如果连接时无法验证远程网关的证书(因为本地密钥库中不包含根证书),系统会显示一条警告,指出该证书不受信任。如果用户选择忽略该警告而继续进行操作,系统将显示应用程序列表,但应用程序无法启动。

在 Receiver for Mac 设备上导入根证书

可以获取证书颁发者的根证书,并通过电子邮件将其发送给设备上已配置的帐户。单击附件时,系统会要求您导入根证书。

通配符证书

通配符证书用于代替同一域内任意服务器的各个服务器证书。Citrix Receiver for Mac 支持通配符证书。

中间证书与 NetScaler Gateway

如果您的证书链中包含中间证书,则必须将该中间证书映射到 NetScaler Gateway 服务器证书。有关此任务的信息,请参阅 NetScaler Gateway 文档。有关在 NetScaler Gateway 设备上安装中间证书并将其与主 CA 链接的详细信息,请参阅 How to Install and Link Intermediate Certificate with Primary CA on NetScaler Gateway(如何在 NetScaler Gateway 上安装中间证书并将其与主 CA 链接)一文。

联合服务器证书验证策略

Citrix Receiver for Mac 引入了更加严格的服务器证书验证策略。

重要提示

安装此版本的 Citrix Receiver for Mac 之前,请确认服务器或网关端的证书已按本文所述正确配置。以下情况下连接可能会失败:

  • 服务器或网关配置包括错误的根证书
  • 服务器或网关配置不包括所有中间证书
  • 服务器或网关配置包括过期或无效的中间证书
  • 服务器或网关配置包括交叉签名的中间证书

验证服务器证书时,Citrix Receiver for Mac 现在使用验证服务器证书时服务器(或网关)提供的所有证书。与在早期版本的 Citrix Receiver for Mac 中相同,也会检查证书是否可信。如果证书不全部可信,连接将失败。

与 Web 浏览器中的证书策略相比,此策略更加严格。许多 Web 浏览器都包括大量信任的根证书。

必须为服务器(或网关)配置一组正确的证书。一组不正确的证书可能会导致 Citrix Receiver for Mac 的连接失败。

假定为网关配置了以下有效的证书。建议需要更加严格的验证的客户使用此配置,方式是准确确定哪个根证书将由 Citrix Receiver for Mac 使用:

  • “示例服务器证书”
  • “示例中间证书”
  • “示例根证书”

然后,Citrix Receiver for Mac 将检查所有这些证书是否都有效。Citrix Receiver for Mac 还将检查其是否已信任“示例根证书”。如果 Citrix Receiver for Mac 不信任“示例根证书”,连接将失败。

重要提示

某些证书颁发机构具有多个根证书。如果您需要使用这一更加严格的验证方法,请确保您的配置使用恰当的根证书。例如,当前存在两个可以验证相同的服务器证书的证书(DigiCert/GTE CyberTrust Global Root 和 DigiCert Baltimore Root/Baltimore CyberTrust Root)。在某些用户设备上,这两个根证书都可用。在其他设备上,只有一个可用 (DigiCert Baltimore Root/Baltimore CyberTrust Root)。如果您在网关上配置了 GTE CyberTrust Global Root,这些用户设备上的 Citrix Receiver for Mac 连接将失败。请参阅证书颁发机构的文档以确定应使用的根证书。另请注意,根证书最终会过期,所有证书也是如此。

注意

某些服务器和网关从不发送根证书,即使已配置也是如此。更加严格的验证因而不可行。

现在假定为网关配置了以下有效的证书。通常推荐使用此配置(忽略根证书):

  • “示例服务器证书”
  • “示例中间证书”

之后,Citrix Receiver for Mac 将使用这两个证书。随后将搜索用户设备上的根证书。如果发现一个正确验证的根证书,并且也可信(例如“示例根证书”),连接将成功。否则,连接将失败。请注意,此配置提供 Citrix Receiver for Mac 所需的中间证书,但是还允许 Citrix Receiver for Mac 选择任何有效的可信根证书。

现在假定为网关配置了以下证书:

  • “示例服务器证书”
  • “示例中间证书”
  • “错误的根证书”

Web 浏览器可能会忽略错误的根证书。但是,Citrix Receiver for Mac 将不忽略错误的根证书,并且连接将失败。

某些证书颁发机构使用多个中间证书。在这种情况下,通常为网关配置所有中间证书(但不配置根证书),例如:

  • “示例服务器证书”
  • “示例中间证书 1”
  • “示例中间证书 2”

重要提示

某些证书颁发机构使用交叉签名的中间证书。这专用于存在多个根证书,并且同时仍在使用早期版本的根证书作为较高版本的根证书的情形。在这种情况下,将至少存在两个中间证书。例如,早期版本的根证书“Class 3 Public Primary Certification Authority”具有相应的交叉签名的中间证书“VeriSign Class 3 Public Primary Certification Authority - G5”。但是,相应的较高版本的根证书“VeriSign Class 3 Public Primary Certification Authority - G5”也可用,该版本将替换“Class 3 Public Primary Certification Authority”。更高版本的根证书不使用交叉签名的中间证书。

注意

交叉签名的中间证书和根证书具有相同的使用者名称(颁发对象),但交叉签名的中间证书具有不同的颁发者名称(颁发者)。这一差别将交叉签名的中间证书与普通的中间证书(例如“示例中间证书 2”)区分开来。

通常推荐使用此配置(忽略根证书和交叉签名的中间证书):

  • “示例服务器证书”
  • “示例中间证书”

请避免将网关配置为使用交叉签名的中间证书,因为网关将选择更早版本的根证书:

  • “示例服务器证书”
  • “示例中间证书”
  • “示例交叉签名中间证书”[不推荐]

不建议仅为网关配置服务器证书:

  • “示例服务器证书”

在这种情况下,如果 Citrix Receiver for Mac 找不到所有中间证书,连接将失败。

通过 NetScaler Gateway 进行连接

要使远程用户能够通过 NetScaler Gateway 连接到您的 XenMobile 部署,可以将其配置为与 StoreFront 配合使用。启用访问权限的方法取决于部署中使用的 XenMobile 版本。

如果在网络中部署 XenMobile,应通过将 NetScaler Gateway 与 StoreFront 相集成的方式来允许内部用户或远程用户通过 NetScaler Gateway 与 StoreFront 建立连接。这种部署方法允许用户连接 StoreFront,从而通过 XenApp 访问已发布的应用程序,通过 XenDesktop 访问虚拟桌面。用户通过 Citrix Receiver 进行连接。

与 Secure Gateway 连接

本主题仅适用于使用 Web Interface 的部署。

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

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

如果安全网络中的服务器上安装了 Secure Gateway 代理,则可以在中继模式下使用 Secure Gateway 代理。有关中继模式的详细信息,请参阅 XenApp 和 Secure Gateway文档。

如果使用中继模式,Secure Gateway 服务器将相当于一个代理,必须对 Citrix Receiver for Mac 进行配置才能使用:

  • Secure Gateway 服务器的完全限定的域名 (FQDN)。
  • Secure Gateway 服务器的端口号。请注意,Secure Gateway 2.0 版本不支持中继模式。

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

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

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

通过代理服务器进行连接

代理服务器用于限制网络的入站和出站访问,并处理 Citrix Receiver for Mac 与服务器之间的连接。Citrix Receiver for Mac 同时支持 SOCKS 和安全代理协议。

与 XenApp 或 XenDesktop 服务器通信时,Citrix Receiver for Mac 使用在 Web Interface 服务器上远程配置的代理服务器设置。有关为 Receiver 配置代理服务器设置的信息,请参阅 Web Interface 文档。

在与 Web 服务器进行通信时,Citrix Receiver for Mac 使用在用户设备上为默认 Web 浏览器配置的代理服务器设置。您必须相应地在用户设备上配置默认 Web 浏览器的代理服务器设置。

通过防火墙进行连接

网络防火墙可以根据目标地址和端口允许或阻止数据包通过。如果在部署中使用防火墙,Citrix Receiver for Mac 必须能够经由防火墙与 Web 服务器和 Citrix 服务器通信。对于用户设备到 Web 服务器的通信,防火墙必须允许 HTTP 流量(如果正在使用安全 Web 服务器,则通常通过标准 HTTP 端口 80 或 443 传输流量)。对于 Receiver 到 Citrix 服务器的通信,防火墙必须允许在端口 1494 和 2598 上进行入站 ICA 通信。

如果防火墙进行了网络地址转换 (NAT) 配置,您可以使用 Web Interface 定义从内部地址到外部地址的映射和端口。例如,如果 XenApp 或 XenDesktop 服务器未配置有备选地址,则可以将 Web Interface 配置为向 Citrix Receiver for Mac 提供备选地址。然后,Citrix Receiver for Mac 使用外部地址和端口号连接服务器。有关详细信息,请参阅 Web Interface 文档。

使用 TLS 进行连接

Citrix Receiver for Mac 12.3 支持对与 XenApp/XenDesktop 的 TLS 连接使用以下密码套件的 TLS 1.0、1.1 和 1.2:

TLS:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA

DTLS:

  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA

注意:

Mac OS Sierra 上运行的 Citrix Receiver for Mac 不支持以下 TLS 密码套件:

  • TLS_RSA_WITH_RC4_128_SHA
  • TLS_RSA_WITH_RC4_128_MD5

传输层安全性 (TLS) 是 TLS 协议的最新标准化版本。互联网工程工作小组 (IETF) 在接管 TLS 开放式标准的开发任务后,将其更名为 TLS。

TLS 通过提供服务器身份验证、数据流加密和消息完整性检查,来保障数据通信的安全。有些组织(包括美国政府组织)要求使用 TLS 来保障数据通信的安全。这些组织可能还要求使用验证的加密,例如联邦信息处理标准 (FIPS) 140。FIPS 140 是一个加密标准。

Citrix Receiver for Mac 支持 1024、2048 和 3072 位长度的 RSA 密钥。此外,还支持 RSA 密钥长度为 4096 位的根证书。

注意

Citrix Receiver for Mac 对 Citrix Receiver for Mac 与 StoreFront 之间的连接使用平台 (OS X) 加密。

为 TLS 配置并启用 Citrix Receiver for Mac

TLS 的设置主要涉及两个步骤:

  1. 在 XenApp 或 XenDesktop 服务器和 Web Interface 服务器上设置 SSL Relay,以及获取和安装所需的服务器证书。

  2. 在用户设备上安装等效根证书。

在用户设备上安装根证书

在启用了 TLS 的 Citrix Receiver for Mac 与服务器场之间,如果要使用 TLS 来确保通信安全,用户设备上必须安装可以验证服务器证书上的证书颁发机构签名的根证书。

Mac OS X 附带了约 100 个已安装的商用根证书,如果您要使用其他证书,可以从证书颁发机构获得证书并将其安装在每个用户设备上。

有时候,您可能需要亲自在每个用户设备上安装根证书,而不是让用户进行安装,这要取决于所在组织的策略和规程。最方便和最安全的方法是将根证书添加到 Mac OS X 钥匙串中。

将根证书添加到钥匙串中

  1. 双击包含证书的文件。这会自动启动“钥匙串访问”应用程序。
  2. 在添加证书对话框中,从钥匙串弹出菜单中选择以下各项之一:
    • 登录(证书只应用于当前用户。)
    • 系统(证书应用于设备的所有用户。)
  3. 单击确定。
  4. 在鉴定对话框中键入密码,然后单击好。

根证书安装完毕,可供启用了 TLS 的客户端和使用 TLS 的其他应用程序使用。

关于 TLS 策略

本节介绍与在 Citrix Receiver for Mac 中通过 TLS 为 ICA 会话配置安全策略有关的信息。可以配置在 Citrix Receiver for Mac 中用于 ICA 连接的某些 TLS 设置。这些策略不在用户界面中显示;更改这些策略需要在运行 Citrix Receiver for Mac 的设备上运行命令。

注意

可以通过其他方式管理 TLS 策略,例如当设备由 OS X 服务器或其他移动设备管理解决方案控制时。

TLS 策略包括以下设置:

SecurityComplianceMode。为策略设置安全合规性模式。如果未配置 SecurityComplianceMode,FIPS 将用作默认值。此设置的适用值包括:

  • None。不强制使用合规性模式
  • FIPS。使用 FIPS 加密模块
  • SP800-52。强制使用 NIST SP800-52r1 合规性

defaults write com.citrix.receiver.nomas SecurityComplianceMode SP800-52

SecurityAllowedTLSVersions。此设置指定协议协商期间应接受的 TLS 协议版本。此信息以阵列方式表示,支持可能值的任意组合。如果未配置此设置,值 TLS10、TLS11 和 TLS12 将用作默认值。此设置的适用值包括:

  • TLS10。指定允许使用的 TLS 1.0 协议。
  • TLS11。指定允许使用的 TLS 1.1 协议。
  • TLS12。指定允许使用的 TLS 1.2 协议。

defaults write com.citrix.receiver.nomas SecurityAllowedTLSVersions -array TLS11 TLS12

SSLCertificateRevocationCheckPolicy。此功能可以改善 Citrix 服务器的加密身份验证,提高客户端设备与服务器之间的 SSL/TLS 连接的整体安全性。此设置控制使用 OS X 客户端时尝试通过 SSL 打开远程会话期间如何对待指定的可信根证书颁发机构。

启用此设置时,客户端将检查服务器的证书是否已吊销。存在多种级别的证书吊销列表检查。例如,可以将客户端配置为只检查其本地证书列表,也可以配置为同时检查本地和网络证书列表。此外,还可以将证书检查机制配置为只有在验证了所有证书吊销列表之后才允许用户登录。

证书吊销列表 (CRL) 检查是部分证书颁发者支持的高级功能。CRL 检查允许管理员在出现证书私钥的密码泄漏时或者只是 DNS 名称意外变更时吊销安全证书(在过期日期之前已失效)。

此设置的适用值包括:

  • NoCheck。不执行证书吊销列表检查。
  • CheckWithNoNetworkAccess。执行证书吊销列表检查。仅使用本地证书吊销列表存储。所有分发点都被忽略。对于目标 SSL Relay/Secure Gateway 服务器出示的服务器证书验证来说,查找证书吊销列表并不重要。
  • FullAccessCheck。执行证书吊销列表检查。使用本地证书吊销列表存储和所有分发点。对于目标 SSL Relay/Secure Gateway 服务器出示的服务器证书验证来说,查找证书吊销列表并不重要。
  • FullAccessCheckAndCRLRequired。执行证书吊销列表检查,但根 CA 除外。使用本地证书吊销列表存储和所有分发点。查找所有必要的证书吊销列表对验证非常重要。
  • FullAccessCheckAndCRLRequiredAll。执行证书吊销列表检查,包括根 CA。使用本地证书吊销列表存储和所有分发点。查找所有必要的证书吊销列表对验证非常重要。

注意

如果未设置 SSLCertificateRevocationCheckPolicy,FullAccessCheck 将用作默认值。 defaults write com.citrix.receiver.nomas SSLCertificateRevocationCheckPolicy FullAccessCheckAndCRLRequired

配置 TLS 策略

要在非托管计算机上配置 TLS 设置,请在 Terminal.app 中运行 defaults 命令。

defaults 是可用于添加、编辑和删除 OS X 首选项 plist 文件中的应用程序设置的命令行应用程序。

要更改设置,请执行以下操作:

  1. 打开“应用程序”>“实用工具”>“终端”。

  2. 在“终端”中,运行以下命令:

defaults write com.citrix.receiver.nomas \<name\> \<type\> \<value\>

其中:

<name>:上述设置的名称。

<type>:用于标识设置类型的开关,-string 或 -array。如果设置类型为字符串,则可以忽略此开关。

<value>:设置的值。如果值为阵列,并且您指定了多个值,则必须使用空格分隔各个值。

defaults write com.citrix.receiver.nomas SecurityAllowedTLSVersions -array TLS11 TLS12

还原为默认配置

要将设置重置回其默认值,请执行以下操作:

  1. 打开“应用程序”>“实用工具”>“终端”。

  2. 在“终端”中,运行以下命令:

defaults delete com.citrix.receiver.nomas \<name\>

其中:

<name>:上述设置的名称。

defaults delete com.citrix.receiver.nomas SecurityAllowedTLSVersions

使用用户界面配置安全性设置

Citrix Receiver for Mac 12.3 中引入了多项安全性改进功能和增强功能,其中包括:

  • 改进了安全性配置用户界面。在早期版本中,更改与安全性有关的设置的首选方法是使用命令行;与会话安全性有关的配置设置现在非常简单,可从用户界面进行访问,这改进了为采用安全性有关的首选项创建无缝方法时的用户体验。
  • 查看 TLS 连接。Citrix Receiver for Mac 允许您验证与使用特定 TLS 版本的服务器建立的连接,其他信息包括用于连接的加密算法、模式、密钥大小以及是否已启用 SecureICA。此外,还可以查看用于 TLS 连接的服务器证书。

改进后的安全和隐私屏幕包括 TLS 选项卡中的下列几个新选项:

  • 设置合规模式
  • 配置加密模块
  • 选择恰当的 TLS 版本
  • 选择证书吊销列表
  • 对所有 TLS 连接启用设置

下图说明了可从用户界面访问的“安全和隐私”设置:

TLS 设置