XenMobile Server

证书和身份验证

在 XenMobile 操作期间,若干组件都会参与身份验证:

  • XenMobile Server: 在 XenMobile Server 中可以定义注册安全性和注册体验。用于加入用户的选项包括:
    • 向所有用户开放注册还是仅对收到邀请的用户开放注册。
    • 要求执行双重身份验证还是三重身份验证。通过 XenMobile 中的客户端属性,您可以启用 Citrix PIN 身份验证以及配置 PIN 复杂性和过期时间。
  • Citrix ADC: Citrix ADC 为 Micro VPN SSL 会话提供终止服务。Citrix ADC 还提供网络在途安全,并允许您定义用户每次访问应用程序时的身份验证体验。
  • Secure Hub: 注册期间,Secure Hub 与 XenMobile Server 协同工作。Secure Hub 是设备上可以与 Citrix ADC 通信的实体:会话过期时,Secure Hub 会从 Citrix ADC 获取身份验证票证,并将该票证传递给 MDX 应用程序。Citrix 建议使用证书固定,以防范中间人攻击。有关详细信息,请参阅 Secure Hub 文章中的证书固定部分。

    Secure Hub 还有助于使用 MDX 安全容器:Secure Hub 会推送策略,在应用程序超时后与 Citrix ADC 建立会话,以及定义 MDX 超时和身份验证体验。Secure Hub 还可执行越狱检测、地理定位检查以及您应用的所有策略。

  • MDX 策略: MDX 策略会在设备上创建数据保管库。MDX 策略会将 Micro VPN 连接引导回 Citrix ADC,强制执行脱机模式限制,以及强制执行超时等客户端策略。

有关配置身份验证的详细信息,包括单重身份验证方法和双重身份验证方法概述,请参阅《部署手册》文章身份验证

使用 XenMobile 中的证书创建安全连接并对用户进行身份验证。本文余下部分将介绍证书。有关其他配置详细信息,请参阅以下文章:

Certificates(证书)

XenMobile 在安装过程中生成自签名安全套接字层 (SSL) 证书,用于确保与服务器之间的通信流安全。必须使用知名 CA 发布的可信 SSL 证书替换此 SSL 证书。

XenMobile 还使用自己的公钥基础结构 (PKI) 服务或从客户端证书的 CA 获取证书。所有 Citrix 产品均支持通配符和使用者备用名称 (SAN) 证书。对于大多数部署,仅需两个通配符或 SAN 证书。

客户端证书身份验证为移动应用程序提供了一个额外的安全层,允许用户无缝访问 HDX 应用程序。配置了客户端证书身份验证时,用户将键入其 Citrix PIN 以对启用了 XenMobile 的应用程序进行单点登录 (SSO) 访问。Citrix PIN 还简化了用户身份验证体验。Citrix PIN 用于确保客户端证书的安全或在设备本地保存 Active Directory 凭据。

要在 XenMobile 中注册并管理 iOS 设备,应设置并创建 Apple 提供的 Apple 推送通知服务 (APNs) 证书。有关步骤,请参阅 APNs 证书

下表显示了每个 XenMobile 组件的证书格式和类型:

XenMobile 组件 证书格式 必需的证书类型
Citrix Gateway PEM (BASE64)、PFX (PKCS #12) SSL、根证书(Citrix Gateway 自动将 PFX 转换为 PEM。)
XenMobile Server .p12(在基于 Windows 的计算机上为 .pfx) SSL、SAML、APNs(XenMobile 还在安装过程中生成完全 PKI。)重要: XenMobile Server 不支持扩展名为 .pem 的证书。要使用 .pem 证书,请将 .pem 文件拆分为证书和密钥,并将各自导入到 XenMobile Server 中。
StoreFront PFX (PKCS #12) SSL、根证书

XenMobile 支持位长度为 4096、2048 和 1024 的 SSL 侦听器证书和客户端证书。1024 位证书很容易被盗用。

对于 Citrix Gateway 和 XenMobile Server,Citrix 建议从公共 CA(如 Verisign、DigiCert 或 Thawte)获取服务器证书。您可以从 Citrix Gateway 或 XenMobile 配置实用程序创建证书签名请求 (CSR)。创建 CSR 后,将其提交到 CA 进行签名。CA 返回已签名证书后,即可在 Citrix Gateway 或 XenMobile 上安装该证书。

重要:iOS、iPadOS 和 macOS 中的可信证书的要求

Apple 对 TLS 服务器证书有新要求。验证所有证书都符合 Apple 的新要求。请参阅 Apple 出版物 https://support.apple.com/en-us/HT210176

Apple 正在缩短 TLS 服务器证书的最长允许生命周期。此更改仅影响 2020 年 9 月之后颁发的服务器证书。请参阅 Apple 出版物 https://support.apple.com/en-us/HT211025

在 XenMobile 中上载证书

您上载的每个证书在证书表中都有一个条目,其中包括其内容摘要。配置需要证书的 PKI 集成组件时,您要选择满足上下文相关条件的服务器证书。例如,您可能希望将 XenMobile 配置为与 Microsoft 证书颁发机构 (CA) 集成。与 Microsoft CA 的连接必须通过使用客户端证书进行身份验证。

本节介绍了上载证书的常规过程。有关创建、上载和配置客户端证书的详细信息,请参阅客户端证书或证书加域身份验证

私钥要求

XenMobile 可能会处理给定证书的私钥,但也可能不会进行此项处理。同样,XenMobile 可能需要也可能不需要所上载证书的私钥。

上载证书

您有两个用于上载证书的选项:

  • 将证书单独上载到控制台。
  • 使用 REST API 将证书批量上载到 iOS 设备。

将证书上载到控制台的主要方式有两种:

  • 单击以导入密钥库。然后,您在密钥库存储库中找出要安装的条目,除非您要上载 PKCS #12 格式。
  • 单击以导入证书。

您可以上载 CA 用于对请求进行签名的 CA 证书(不带私钥)。您还可以上载用于客户端身份验证的 SSL 客户端证书(带私钥)。

在配置 Microsoft CA 实体时,您指定 CA 证书。您从属于 CA 证书的所有服务器证书列表中选择 CA 证书。同样,配置客户端身份验证时,您可以从包含 XenMobile 具有私钥的所有服务器证书的列表中进行选择。

导入密钥库

按照设计,密钥库(安全证书的存储库)可以包含多个条目。因此,从密钥库加载时,系统会提示您指定条目别名,用于识别要加载的条目。如果未指定别名,将加载库中的第一个条目。由于 PKCS #12 文件通常仅包含一个条目,当选择 PKCS #12 作为密钥库类型时,不会显示别名字段。

  1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标。此时将显示设置页面。

  2. 单击证书。此时将显示证书页面。

    “证书”配置页面

  3. 单击导入。此时将显示导入对话框。

  4. 配置以下设置:

    • 导入: 在列表中,单击密钥库导入对话框将更改以反映可用的密钥库选项。

    “证书”配置页面

    • 密钥库类型: 在列表中,单击 PKCS #12
    • 用作: 在列表中,单击您计划使用证书的方式。可用选项如下:
      • 服务器。服务器证书是 XenMobile Server 功能性使用的证书,这些证书上载到 XenMobile Web 控制台中。这些证书包括 CA 证书、RA 证书以及用于您基础结构其他组件的客户端身份验证的证书。此外,您还可以使用服务器证书来存储您要部署到设备的证书。此用法特别适用于在设备上建立信任所使用的 CA。
      • SAML。安全声明标记语言 (SAML) 认证允许您提供对服务器、Web 站点和应用程序的 SSO 访问权限。
      • APNs。利用 Apple 提供的 APNs 证书可通过 Apple 推送网络进行移动设备管理。
      • SSL 侦听器。安全套接字层 (SSL) 侦听器向 XenMobile 通知 SSL 加密活动。
    • 密钥库文件: 浏览查找要导入的文件类型为 .p12 (在基于 Windows 的计算机上为 .pfx)的密钥库。
    • 密码: 键入分配给证书的密码。
    • 说明: (可选)键入密钥库的说明,以帮助您将其与其他密钥库区分开。
  5. 单击导入。密钥库将添加到证书表中。

导入证书

从文件或密钥库条目导入证书时,XenMobile 将尝试基于输入内容构建证书链。XenMobile 将导入该链中的所有证书来为每个证书创建一个服务器证书条目。仅当文件或密钥库条目中的证书形成链时,才可执行此操作。例如,如果链中每个后续证书是前一个证书的颁发者。

您可以为导入的证书添加可选说明。此说明将仅附加到链中的第一个证书上。可在以后更新提醒说明。

  1. 在 XenMobile 控制台中,单击控制台右上角的齿轮图标,然后单击证书

  2. 证书页面上,单击导入。此时将显示导入对话框。

  3. 导入对话框的导入中,如果尚未选择,请单击证书

  4. 导入对话框将更改以反映可用的证书选项。在用作中,选择您计划使用密钥库的方式。可用选项如下:

    • 服务器。服务器证书是 XenMobile Server 功能性使用的证书,这些证书上载到 XenMobile Web 控制台中。这些证书包括 CA 证书、RA 证书以及用于您基础结构其他组件的客户端身份验证的证书。此外,您还可以使用服务器证书来存储您要部署到设备的证书。此选项特别适用于在设备上建立信任所使用的 CA。
    • SAML。安全声明标记语言 (SAML) 认证允许您提供对服务器、Web 站点和应用程序的单点登录 (SSO) 访问权限。
    • SSL 侦听器。安全套接字层 (SSL) 侦听器向 XenMobile 通知 SSL 加密活动。
  5. 浏览查找要导入的文件类型为 .p12 (在基于 Windows 的计算机上为 .pfx)的密钥库。

  6. 浏览以查找证书的可选私钥文件。私钥用于与证书一起使用以便进行加密和解密。

  7. 键入证书的说明(可选),以帮助您将其与其他证书区分开。

  8. 单击导入。证书将添加到证书表中。

使用 REST API 将证书批量上载到 iOS 设备

如果一次上载一个证书并不现实,则可以使用 REST API 将证书批量上载到 iOS 设备。此方法支持 .p12 格式的证书。有关 REST API 的详细信息,请参阅 REST API

  1. device_identity_value.p12 格式重命名每个证书文件。device_identity_value 可以是每个设备的 IMEI、序列号或 MEID。

    例如,您选择使用序列号作为标识方法。一台设备具有序列号 A12BC3D4EFGH,因此将您希望在该设备上安装的证书文件命名为 A12BC3D4EFGH.p12

  2. 创建一个文本文件以存储 .p12 证书的密码。在该文件中,在新行中键入每个设备的设备标识符和密码。使用格式 device_identity_value=password。请参阅以下内容:

    A12BC3D4EFGH.p12=password1!
    A12BC3D4EFIJ.p12=password2@
    A12BC3D4EFKL.p12=password3#
    <!--NeedCopy-->
    
  3. 将所有证书和您创建的文本文件打包到 .zip 文件中。
  4. 启动 REST API 客户端,登录 XenMobile,然后获取身份验证令牌。
  5. 导入您的证书,确保您将以下内容放入消息正文中:

    {
        "alias": "",
        "useAs": "device",
        "uploadType": "keystore",
        "keystoreType": "PKCS12",
        "identityType":"SERIAL_NUMBER",        # identity type can be "SERIAL_NUMBER","IMEI","MEID"
        "credentialFileName":"credential.txt"   # The credential file name in .zip
    }
    <!--NeedCopy-->
    

    REST API 客户端

  6. 使用凭据类型 Always on IKEv2(始终启用 IKEv2)和设备身份验证方法基于设备标识的设备证书创建 VPN 策略。选择您的证书文件名中使用的设备标识类型。请参阅 VPN 设备策略
  7. 注册 iOS 设备并等待部署 VPN 策略。通过检查设备上的 MDM 配置来确认证书安装。还可以在 XenMobile 控制台中检查设备详细信息。

    iOS MDM 管理

    设备详细信息

还可以通过创建一个包含为每个要删除的证书列出的 device_identity_value 的文本文件来批量删除证书。在 REST API 中,调用删除 API 并使用以下请求,将 device_identity_value 替换为适当的标识符:

```
{
    "identityType"="device_identity_value"
}
<!--NeedCopy--> ```

REST API 客户端

更新证书

XenMobile 只允许系统中每个公钥一次存在一个证书。如果您尝试为已导入证书的同一密钥对导入证书:您可以替换现有条目或将其删除。

要最有效地更新您的证书,请在 XenMobile 控制台上执行以下操作。单击控制台右上角的齿轮图标以打开设置页面,然后单击证书。在导入对话框中,导入新证书。

当更新服务器证书时,使用先前证书的组件将自动切换到使用新证书。同样,如果已经在设备上部署服务器证书,证书将在下一次部署时自动更新。

续签证书

XenMobile Server 在内部将以下证书颁发机构用于 PKI:根 CA、设备 CA、服务器 CA。这些 CA 分类为一个逻辑组并提供一个组名称。预配新的 XenMobile Server 实例时,会生成这三个 CA 并为其提供组名称“default”。

您可以使用 XenMobile Server 控制台或公用 REST API 为支持的 iOS、macOS 和 Android 设备续订 CA。对于注册的 Windows 设备,用户必须重新注册其设备才能接收新的设备 CA。

以下 API 可用于在 XenMobile Server 中续订或重新生成内部 PKI CA,以及续订这些证书颁发机构颁发的设备证书。

  • 创建组证书颁发机构 (CA)。
  • 激活新 CA 和取消激活旧 CA。
  • 在一组配置的设备上续订设备证书。已注册的设备继续运行而不会中断。设备重新连接到服务器时颁发设备证书。
  • 返回仍使用旧 CA 的设备列表。
  • 所有设备都拥有新 CA 后删除旧 CA。

有关信息,请参阅 Public API for REST Services(适用于 REST 的公共 API 服务)PDF:

  • 第 3.16.58 节“Renew Device Certificate”(续订设备证书)
  • 第 3.23 节,内部 PKI CA 组

管理设备控制台包括用于续订设备上的注册证书的安全操作证书续订

必备条件
  • 默认情况下,此证书刷新功能处于禁用状态。要激活证书刷新功能,请将服务器属性 refresh.internal.ca 的值设置为 True

重要:

如果您的 Citrix ADC 设置了 SSL 卸载,则在生成新证书时,请确保使用新的 cacert.perm 来更新您的负载平衡器。有关 Citrix Gateway 设置的详细信息,请参阅为 NetScaler VIP 使用 SSL 卸载模式

用于为群集节点重置服务器 CA 证书密码的 CLI 选项

在一个 XenMobile Server 节点上生成服务器 CA 证书后,可使用 XenMobile CLI 在其他群集节点上重置证书密码。在 CLI 主菜单中,选择系统 > 高级设置 > 重置 CA 证书密码。如果在没有任何新的 CA 证书时重置密码,XenMobile 不会重置密码。

XenMobile CLI 图

XenMobile 证书管理

我们建议您列出在您的 XenMobile 部署中使用的证书,尤其是证书的过期日期和关联的密码。本节旨在帮助您更轻松地在 XenMobile 中进行证书管理。

您的环境中可能包含以下部分或所有证书:

  • XenMobile Server
    • 用于 MDM FQDN 的 SSL 证书
    • SAML 证书(适用于 Citrix Files)
    • 用于以上证书和任何其他内部资源(StoreFront/代理等)的根证书和中间 CA 证书
    • 用于 iOS 设备管理的 APN 证书
    • 用于 XenMobile Server Secure Hub 通知的内部 APNs 证书
    • 用于连接到 PKI 的 PKI 用户证书
  • MDX Toolkit
    • Apple 开发人员证书
    • Apple 预配配置文件(按应用程序)
    • Apple APNs 证书(用于 Citrix Secure Mail)
    • Android 密钥库文件

    MAM SDK 不封装应用程序,因此不需要证书。

  • Citrix ADC
    • 用于 MDM FQDN 的 SSL 证书
    • 用于网关 FQDN 的 SSL 证书
    • 用于 ShareFile SZC FQDN 的 SSL 证书
    • 用于 Exchange 负载平衡(卸载配置)的 SSL 证书
    • 用于 StoreFront 负载平衡的 SSL 证书
    • 用于上述证书的根证书和中间 CA 证书

XenMobile 证书过期策略

如果允许证书过期,证书则会无效。您不能再在您的环境中运行安全事务,也不能访问 XenMobile 资源。

注意:

证书颁发机构 (CA) 会在过期日期之前提示您续订 SSL 证书。

用于 Citrix Secure Mail 的 APNs 证书

Apple 推送通知服务 (APNs) 证书每年都会过期。请务必在 APNs SSL 证书过期之前创建该证书,并在 Citrix 门户中进行更新。如果证书过期,用户会面临 Secure Mail 推送通知不一致的情况。此外,您不能再为您的应用程序发送推送通知。

用于 iOS 设备管理的 APNs 证书

要在 XenMobile 中注册和管理 iOS 设备,应设置和创建 Apple 提供的 APNs 证书。如果证书过期,用户将不能在 XenMobile 中注册,而您不能管理其 iOS 设备。有关详细信息,请参阅 APNs 证书

可以通过登录 Apple Push Certificates Portal 来查看 APNs 证书状态和过期日期。请务必以创建证书的同一用户身份登录。

在过期日期之前 30 天和 10 天,您还会收到 Apple 发送的电子邮件通知。通知包含以下信息:

The following Apple Push Notification Service certificate, created for Apple ID CustomerID will expire on Date. Revoking or allowing this certificate to expire will require existing devices to be re-enrolled with a new push certificate.

Please contact your vendor to generate a new request (a signed CSR), then visit https://identity.apple.com/pushcert to renew your Apple Push Notification Service certificate.

Thank You,

Apple Push Notification Service
<!--NeedCopy-->

MDX Toolkit(iOS 分发证书)

在物理 iOS 设备上运行的应用程序(Apple App Store 中的应用程序除外)具有以下签名要求:

  • 使用预配配置文件为应用程序签名。
  • 使用相应的分发证书为应用程序签名。

要验证您的 iOS 分发证书是否有效,请执行以下操作:

  1. 从 Apple 企业开发人员门户中,为您计划用 MDX Toolkit 封装的每个应用程序创建一个显式应用程序 ID。可接受的应用程序 ID 示例:com.CompanyName.ProductName
  2. 从 Apple 企业开发人员门户中,转到 Provisioning Profiles(预配配置文件)> Distribution(分发),并创建一个内部预配配置文件。对在上一步中创建的每个应用程序 ID 重复此步骤。
  3. 下载所有预配配置文件。有关详细信息,请参阅封装 iOS 移动应用程序

要确认所有 XenMobile Server 证书是否有效,请执行以下操作:

  1. 在 XenMobile 控制台中,单击设置 > 证书
  2. 检查包括 APNs、SSL 侦听器、根和中间证书在内的所有证书是否有效。

Android 密钥库

密钥库是指包含用于为您的 Android 应用程序签名的证书的文件。当您的密钥有效期过期后,用户不能再无缝地升级到应用程序的新版本。

Citrix ADC

有关如何处理 Citrix ADC 的证书过期的详细信息,请参阅 Citrix 支持知识中心中的 How to handle certificate expiry on NetScaler(如何处理 NetScaler 的证书过期)。

如果 Citrix ADC 证书过期,用户将无法注册和访问应用商店。过期的证书还会阻止用户使用 Secure Mail 时连接到 Exchange Server。此外,用户不能枚举和打开 HDX 应用程序(具体取决于哪个证书过期)。

Expiry Monitor 和 Command Center 可以帮助您跟踪 Citrix ADC 证书。Center 会在证书过期时通知您。这些工具可以协助监视以下 Citrix ADC 证书:

  • 用于 MDM FQDN 的 SSL 证书
  • 用于网关 FQDN 的 SSL 证书
  • 用于 ShareFile SZC FQDN 的 SSL 证书
  • 用于 Exchange 负载平衡(卸载配置)的 SSL 证书
  • 用于 StoreFront 负载平衡的 SSL 证书
  • 用于上述证书的根和中间 CA 证书
证书和身份验证