客户端证书或证书加域身份验证
Citrix Endpoint Management 的默认配置是用户名和密码身份验证。要为注册和访问 Citrix Endpoint Management 环境添加另一层安全保护,可以考虑使用基于证书的身份验证。在 Citrix Endpoint Management 环境中,此配置是安全和用户体验的最佳组合。证书加域名身份验证具有最佳的 SSO 可能性,再加上 NetScaler Gateway 的双因素身份验证所提供的安全性。
要实现最佳可用性,可以将证书加域身份验证与 Citrix PIN 和 Active Directory 密码缓存组合在一起。因此,用户不需要重复输入其 LDAP 用户名和密码。用户在注册、密码过期和帐户锁定时输入用户名和密码。
重要:
用户在 Citrix Endpoint Management 中注册设备后,Citrix Endpoint Management 不支持将身份验证模式从域身份验证更改为其他身份验证模式。
如果您不允许 LDAP 并使用智能卡或类似方法,则配置证书允许您向 Citrix Endpoint Management 表示智能卡。然后,用户使用 Citrix Endpoint Management 为他们生成的唯一 PIN 进行注册。用户获得访问权限后,Citrix Endpoint Management 会创建并部署用于在 Citrix Endpoint Management 环境中进行身份验证的证书。
在使用 NetScaler Gateway 纯证书身份验证或证书加域身份验证时,您可以使用适用于 XenMobile 的 NetScaler 向导进行 Citrix Endpoint Management 所需的配置。只能运行一次 NetScaler for XenMobile 向导。
在高度安全的环境中,在组织外的公共或不安全网络中使用 LDAP 凭据会被视为组织面临的首要安全威胁。对于高度安全的环境,可以选择使用客户端证书和安全令牌的双重身份验证。有关详细信息,请参阅配置 Citrix Endpoint Management 以进行证书和安全令牌身份验证。
客户端证书身份验证适用于在 MAM 和 MDM+MAM 中注册的设备。要对这些设备使用客户证书身份验证,必须先配置 Microsoft 服务器、Citrix Endpoint Management,然后再配置 NetScaler Gateway。执行本文所述的如下常规步骤。
在 Microsoft 服务器上:
- 向 Microsoft 管理控制台中添加证书管理单元。
- 向证书颁发机构 (CA) 中添加模板。
- 从 CA 服务器创建 PFX 证书。
在 Citrix Endpoint Management 上:
- 将证书上载到 Citrix Endpoint Management。
- 为基于证书的身份验证创建 PKI 实体。
- 配置凭据提供程序。
- 将 NetScaler Gateway 配置为提供用于进行身份验证的用户证书。
有关 NetScaler Gateway 配置的信息,请参阅 Citrix ADC 文档中的以下文章:
必备条件
-
创建 Microsoft 证书服务实体模板时,通过排除特殊字符来避免已注册的设备可能会出现的身份验证问题。例如,请勿在模板名称中使用以下字符:
: ! $ () # % + * ~ ? | {} []
- 要为 Exchange ActiveSync 配置基于证书的身份验证,请参阅有关 Exchange Server 的 Microsoft 文档。为 Exchange ActiceSync 配置证书颁发机构 (CA) 服务器站点以要求客户端证书。
- 如果您使用专用服务器证书来保护发往 Exchange Server 的 ActiveSync 流量,请确保移动设备拥有所有的根/中间证书。否则,在 Citrix Secure Mail 中设置邮箱期间,基于证书的身份验证将失败。在 Exchange IIS 控制台中,必须执行以下操作:
- 添加一个网站供 Citrix Endpoint Management 与 Exchange 一起使用,然后绑定网络服务器证书。
- 使用端口 9443。
- 对于该 Web 站点,必须添加两个应用程序,一个用于 Microsoft-Server-ActiveSync,一个用于 EWS。对于这两个应用程序,请在 SSL Settings(SSL 设置)下方选择 Require SSL(需要 SSL)。
向 Microsoft 管理控制台添加证书管理单元
-
打开该控制台,然后单击添加/删除管理单元。
-
添加以下管理单元:
- 证书模板
- 证书(本地计算机)
- 证书 - 当前用户
- 证书颁发机构(本地)
-
展开证书模板。
-
依次选择用户模板和复制模板。
-
提供模板显示名称。
重要:
仅在必要时选中在 Active Directory 中发布证书复选框。如果选择此选项,所有用户客户证书都将在 Active Directory 中创建,这可能会使您的 Active Directory 数据库混乱。
-
选择 Windows 2003 Server 作为模板类型。在 Windows 2012 R2 服务器的“兼容性”下,选择“证书颁发机构”,然后将收件人设置为 Windows 2003。
-
在“安全”下,单击“添加”,然后选择 Citrix Endpoint Management 用于生成证书的 AD 用户帐户。
重要提示:
在此处仅添加服务帐户用户。请仅将注册权限添加到此 AD 用户帐户。
如本文后面所述,您可以使用服务帐户创建用户 .pfx 证书。 有关信息,请参阅从 CA 服务器创建 PFX 证书。
-
在“加密”下,确保提供密钥大小。稍后您可以在 Citrix Endpoint Management 配置期间输入密钥大小。
-
在使用者名称下方,选择在请求中提供。应用更改并保存。
向证书颁发机构添加模板
-
转至证书颁发机构并选择证书模板。
-
在右侧窗格中单击鼠标右键,然后选择新建 > 要颁发的证书模板。
-
选择在上一步中创建的模板,然后单击确定将其添加到证书颁发机构。
从 CA 服务器创建 PFX 证书
-
使用登录时使用的服务帐户创建用户 .pfx 证书。.pfx 上载到 Citrix Endpoint Management,然后后者为注册设备的用户申请用户证书。
-
在当前用户下方,展开证书。
-
在右侧窗格中单击鼠标右键,然后单击申请新证书。
-
此时将显示证书注册屏幕。单击下一步。
-
选择 Active Directory 注册策略,然后单击下一步。
-
选择用户模板,然后单击注册。
-
导出在上一步中创建的 .pfx 文件。
-
单击是,导出私钥。
-
选中如果可能,则包括证书路径中的所有证书和导出所有扩展属性复选框。
-
设置将此证书上载到 Citrix Endpoint Management 时使用的密码。
-
将证书保存到您的硬盘驱动器。
将证书上载到 Citrix Endpoint Management
-
在 Citrix Endpoint Management 控制台中,单击右上角的齿轮图标。此时将显示设置屏幕。
-
依次单击证书和导入。
-
输入以下参数:
- 导入: 密钥库
- 密钥库类型: PKCS #12
- 用作: 服务器
- 密钥库文件: 单击“浏览”选择您创建的 .pfx 证书。
- 密码: 输入为此证书创建的密码。
-
单击导入。
-
验证是否已正确安装证书。正确安装的证书将显示为用户证书。
为基于证书的身份验证创建 PKI 实体
-
在设置中,转至更多 > 证书管理 > PKI 实体。
-
依次单击添加和 Microsoft 证书服务实体。此时将显示 Microsoft 证书服务实体: 常规信息屏幕。
-
输入以下参数:
- 名称: 键入任意名称。
-
Web 注册服务根 URL:
https://RootCA-URL/certsrv/
(请务必在 URL 路径结尾添加一个斜杠 /。) - certnew.cer 页面名称: certnew.cer(默认值)
- certfnsh.asp: certfnsh.asp(默认值)
- 身份验证类型: 客户端证书
- SSL 客户证书: 选择用于颁发 Citrix Endpoint Management 客户证书的用户证书。如果不存在证书,请按照上一节中的步骤上载证书。
-
在模板下方,添加配置 Microsoft 证书时创建的模板。请勿添加空格。
-
跳过“HTTP 参数”,然后单击 CA 证书。
-
选择与您的环境对应的根 CA 名称。该根 CA 是从 Citrix Endpoint Management 客户证书导入的链的一部分。
-
单击保存。
配置凭据提供程序
-
在设置中,转至更多 > 证书管理 > 凭据提供程序。
-
单击添加。
-
在常规下方,输入以下参数:
- 名称: 键入任意名称。
- 说明: 键入任意说明。
- 颁发实体: 选择之前创建的 PKI 实体。
- 颁发方法: 签名
- 模板: 选择在“PKI 实体”下方添加的模板。
-
单击证书签名请求,然后输入以下参数:
- 密钥算法: RSA
- 密钥大小: 2048
- 签名算法: SHA256withRSA
-
使用者名称:
cn=$user.username
对于使用者备用名称,请单击添加,然后输入以下参数:
- 类型: 用户主体名称
-
值:
$user.userprincipalname
-
单击分发并输入以下参数:
- 颁发 CA 证书: 选择签署 Citrix Endpoint Management 客户端证书的颁发机构。
- 选择分发模式: 选择首选集中式: 服务器端密钥生成。
-
在接下来的两个部分(撤消 Citrix Endpoint Management 和撤消 PKI)中,根据需要设置参数。在此示例中,跳过这两个选项。
-
单击续订。
-
在证书过期时启用续订。
-
让所有其他设置保留为默认设置,或者根据需要进行更改。
-
单击保存。
将 Citrix Secure Mail 配置为使用基于证书的身份验证
将 Citrix Secure Mail 添加到 Citrix Endpoint Management 时,请务必在“应用程序设置”下配置 Exchange 设置。
在 Citrix Endpoint Management 中配置 NetScaler Gateway 证书交付
-
在 Citrix Endpoint Management 控制台中,单击右上角的齿轮图标。此时将显示设置屏幕。
-
在服务器下方,单击 NetScaler Gateway。
-
如果尚未添加 NetScaler Gateway,请单击添加并指定以下设置:
- 名称: 设备的描述性名称。
- 别名: 设备的可选别名。
-
外部 URL:
https://YourCitrixGatewayURL
- 登录类型: 选择证书和域
- 需要密码: 关
- 设置为默认值: 开
-
对于身份验证和向用户提供用于身份验证的证书,选择开。
-
对于凭据提供程序,选择一个提供程序,然后单击保存。
-
要使用用户证书中的 sAMAccount 属性作为用户主体名称 (UPN) 的替代方案,请按如下方式在 Citrix Endpoint Management 中配置 LDAP 连接器:转到设置 > LDAP,选择目录并单击“编辑”,然后在“用户搜索依据”中选择 sAMAccountName。
启用 Citrix PIN 和用户密码缓存
要启用 Citrix PIN 和用户密码缓存,请转至设置 > 客户端属性,然后选中这些复选框:启用 Citrix PIN 身份验证和启用用户密码缓存。有关详细信息,请参阅客户端属性。
客户端证书配置故障排除
成功配置前述配置及 NetScaler Gateway 配置后,用户工作流如下:
-
用户注册其移动设备。
-
Citrix Endpoint Management 提示用户创建 Citrix PIN。
-
随后用户被重定向到应用商店。
-
当用户启动 Citrix Secure Mail 时,Citrix Endpoint Management 不会提示他们输入用户凭据进行邮箱配置。相反,Citrix Secure Mail 向 Citrix Secure Hub 请求客户证书,并将其提交给 Microsoft Exchange Server 进行身份验证。如果用户启动 Citrix Secure Mail 时 Citrix Endpoint Management 提示输入证书,请检查您的配置。
如果用户可以下载并安装 Citrix Secure Mail,但在邮箱配置期间,Citrix Secure Mail 无法完成配置:
-
如果 Microsoft Exchange Server ActiveSync 使用专用 SSL 服务器证书来确保流量安全,请验证是否已在移动设备上安装根证书/中间证书。
-
验证为 ActiveSync 选择的验证类型是否设置为“需要客户证书”。
-
在 Microsoft Exchange Server 上,检查 Microsoft-Server-ActiveSync 站点以验证是否已启用客户端证书映射身份验证。默认情况下,客户端证书映射身份验证处于禁用状态。此选项位于配置编辑器 > 安全 > 身份验证下方。
选择 True 后,请务必单击应用以使更改生效。
-
在 Citrix Endpoint Management 控制台中检查 NetScaler Gateway 设置:确保用于身份验证的交付用户证书处于开状态,并且凭据提供者选择了正确的配置文件。
确定是否已向移动设备提供客户端证书
-
在 Citrix Endpoint Management 控制台中,转到管理 > 设备并选择设备。
-
单击编辑或显示更多。
-
转至交付组部分,并搜索以下条目:
NetScaler Gateway Credentials: Requested credential, CertId=
验证是否已启用客户端证书协商
-
运行以下
netsh
命令以显示 IIS Web 站点上绑定的 SSL 证书配置:netsh http show sslcert
-
如果 Negotiate Client Certificate(协商客户端证书)的值为 Disabled(已禁用),请运行以下命令将其启用:
netsh http delete sslcert ipport=0.0.0.0:443
netsh http add sslcert ipport=0.0.0.0:443 certhash=cert_hash appid={app_id} certstorename=store_name verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable
例如:
netsh http add sslcert ipport=0.0.0.0:443 certhash=23498dfsdfhaf98rhkjqf9823rkjhdasf98asfk appid={123asd456jd-a12b-3c45-d678-123456lkjhgf} certstorename=ExampleCertStoreName verifyclientcertrevocation=Enable VerifyRevocationWithCachedClientCertOnly=Disable UsageCheck=Enable clientcertnegotiation=Enable
如果您无法通过 Citrix Endpoint Management 向 Windows Phone 8.1 设备提供根/中间证书:
- 通过电子邮件将根证书/中间证书 (.cer) 文件发送到 Windows Phone 8.1 设备并直接安装。
如果 Citrix Secure Mail 在 Windows Phone 8.1 上未成功安装,请验证以下各项:
- 应用程序注册令牌(.AETX 文件)使用 Enterprise Hub 设备策略通过 Citrix Endpoint Management 交付。
- 应用程序注册令牌是使用证书提供商提供的相同企业证书创建的,该证书用于打包 Citrix Secure Mail 和签署 Citrix Secure Hub 应用程序。
- 相同的发行商 ID 用于签署和包装 Citrix Secure Hub、Citrix Secure Mail 和应用程序注册令牌。