配置客户端证书和 LDAP 双重身份验证

您可以通过 LDAP 身份验证和授权使用安全客户端证书,例如将智能卡身份验证与 LDAP 结合使用。用户登录,然后从客户端证书中提取用户名。客户端证书是身份验证的主要形式,LDAP 是辅助形式。客户端证书身份验证必须优先于 LDAP 身份验证策略。设置策略的优先级时,为客户端证书身份验证策略分配的数值低于您分配给 LDAP 身份验证策略的数值。

要使用客户端证书,您必须具有在运行 Active Directory 的同一台计算机上运行的企业证书颁发机构 (CA),例如 Windows Server 2008 中的证书服务。您可以使用 CA 创建客户端证书。

要使用具有 LDAP 身份验证和授权的客户端证书,必须是使用安全套接字层 (SSL) 的安全证书。要对 LDAP 使用安全客户端证书,请在用户设备上安装客户端证书,然后在 Citrix 网关上安装相应的根证书。

在配置客户端证书之前,请执行以下操作:

  • 创建虚拟服务器。
  • 为 LDAP 服务器创建 LDAP 身份验证策略。
  • 将 LDAP 策略的表达式设置为 True 值。

使用 LDAP 配置客户端证书身份验证

  1. 在配置实用程序中的 “配置” 选项卡上,展开 Citrix 网关 > “策略” > “身份验证”。
  2. 在导航窗格的身份验证下,单击 Cert。
  3. 在详细信息窗格中,单击添加。
  4. 在 “名称” 中,键入策略的名称。
  5. 在 “身份验证类型” 中,选择 “证书”。
  6. 在服务器旁边,单击新建。
  7. 在 “名称” 中,键入服务器的名称,然后单击 “创建”。
  8. 在 “创建身份验证服务器” 对话框的 “名称” 中,键入服务器的名称。
  9. 在 “双因子” 旁边,选择 “开”。
  10. 在用户名字段中,选择主题:CN,然后单击创建。
  11. 在 “创建身份验证策略” 对话框的命名表达式旁边,选择 “True” 值,单击 “添加表达式”,单击 “创建”,然后单击 “关闭”。

创建证书身份验证策略后,将策略绑定到虚拟服务器。绑定证书身份验证策略后,将 LDAP 身份验证策略绑定到虚拟服务器。

重要提示:在将 LDAP 身份验证策略绑定到虚拟服务器之前,必须将证书身份验证策略绑定到虚拟服务器。

在 Citrix 网关上安装根证书的步骤

创建证书身份验证策略后,您可以从 CA 下载并安装 Base64 格式的根证书,并将其保存在计算机上。然后,您可以将根证书上传到 Citrix 网关。

  1. 在配置实用程序中的 “配置” 选项卡的导航窗格中,展开 SSL,然后单击 “证书”。
  2. 在详细信息窗格中,单击安装。
  3. 在证书-密钥对名称中,键入证书的名称。
  4. 在 “证书文件名” 中,单击 “浏览”,然后在下拉框中选择 “设备” 或 “本地”。
  5. 导航到根证书,单击打开,然后单击安装。

将根证书添加到虚拟服务器

在 Citrix 网关上安装根证书后,将证书添加到虚拟服务器的证书存储区。

重要提示:将根证书添加到虚拟服务器进行智能卡身份验证时,必须从 “ 选择 CA 证书” 下拉框中选择证书,如下图所示。

图1。将根证书添加为 CA

本地化后的图片

  1. 在配置实用程序中的 “配置” 选项卡的导航窗格中,展开 Citrix 网关,然后单击 “虚拟服务器”。

  2. 在详细信息窗格中,选择虚拟服务器,然后单击 “打开”。

  3. 在 “证书” 选项卡上的 “可用” 下,选择 “添加” 旁边的证书,在下拉框中单击 “作为 CA”,然后单击 “确定”。

  4. 重复步骤 2。

  5. 在证书选项卡上,单击 SSL 参数。

  6. 在 “其他” 下,选择 “客户端身份验证”。

  7. 在 “其他” 下,“客户端证书” 旁边,选择 “可选”,然后单击 “确定” 两次。

  8. 配置客户端证书后,通过使用 Citrix 网关插件登录 Citrix 网关来测试身份验证。如果您安装了多个证书,您会收到一条提示,要求您选择正确的证书。选择证书后,将显示登录屏幕,其中填充了从证书获取的信息的用户名。键入密码,然后单击登录。

如果在登录屏幕的 “用户名” 字段中看不到正确的用户名,请检查 LDAP 目录中的用户帐户和组。在 Citrix 网关上定义的组必须与 LDAP 目录中的组相同。在 Active Directory 中,在域根级别配置组。如果您创建的 Active Directory 组不在域根级别中,则可能会导致客户端证书的读取错误。

如果用户和组不在域根级别,Citrix 网关登录页面将显示在 Active Directory 中配置的用户名。例如,在 Active Directory 中,您有一个名为 Users 的文件夹,并且证书显示 CN=Users。在登录页中的 “用户名” 中,将显示 “用户” 一词。

如果不希望将组和用户帐户移动到根域级别,则在 Citrix Gateway 上配置证书身份验证服务器时,请将 “用户名字段” 和 “组名字段” 保留为空。