PoC 指南:使用设备证书进行 Citrix Gateway 身份验证的 nFactor

简介

大型企业环境需要灵活的身份验证选项来满足各种用户角色的需求。使用设备证书以及 LDAP 凭据,企业可以获得 “您拥有的东西” 和 “您知道的东西” 的多因素身份验证。这使用户能够无缝验证自己的身份并安全地访问其应用程序和数据。

设备证书身份验证

概述

本指南演示了如何使用 Citrix Gateway 的双重身份验证来实现概念验证环境。它使用端点分析 (EPA) 将设备证书作为第一个因素进行验证。然后它使用用户的域凭据作为第二个因素。它使用 Citrix Virtual Apps and Desktops 发布的虚拟桌面来验证连接性。

它对以下组件的完成安装和配置进行了假设:

  • Citrix ADC 已安装并获得许可
  • Citrix Gateway 配置了绑定到通配符证书的外部可访问虚拟服务器
  • Citrix Gateway 与使用 LDAP 进行身份验证的 Citrix Virtual Apps and Desktops 环境集成
  • Active Directory (AD) 在安装了Microsoft 证书颁发机构的环境中可用
  • Windows 10 终端节点已加入域,并安装了 Citrix Workspace 应用程序
  • 终端节点用户必须具有本地管理员权限或安装 Citrix Gateway 插件

有关最新产品版本、许可和要求的详细信息,请参阅 Citrix 文档: 作为 EPA 组件的 nFactor 中的设备证书

配置

首先,我们登录 Citrix ADC 上的 CLI,然后输入 EPA 和 LDAP 的身份验证操作和相关策略以及登录架构。然后我们登录我们的 GUI,在可视化工具中构建我们的 nFactor 流程,然后完成多因素身份验证配置。

EPA 身份验证策略

接下来,我们创建 EPA 操作来检查设备证书以及引用该证书的策略。

EPA 操作 1-authact_epa_dCNF

为您的环境更新以下字段,然后将字符串复制并粘贴到 CLI 中: add authentication epaAction authAct_EPA_dcnf -csecexpr "sys.client_expr(\"device-cert_0_0\")"

EPA 策略 1-authpol_epa_dCNF

为您的环境更新以下字段,然后将字符串复制并粘贴到 CLI 中: add authentication Policy authPol_EPA_dcnf -rule true -action authAct_EPA_dcnf

LDAP 身份验证策略

我们创建 LDAP 操作以及引用这些操作的策略。

对于 LDAP 操作,请填充必填字段,以便在字符串中创建 LDAP 操作并将其粘贴到 CLI 中:

  • ldapAction -输入操作名称。
  • serverIP -输入域服务器的 FQDN 或 IP 地址。
  • serverPort -输入 LDAP 端口。
  • ldapBase -输入存储在目录中的相关用户的域对象和容器的字符串。
  • ldapBindDn -输入用于查询域用户的服务帐号。
  • ldapBindDnPassword -输入您的服务帐户密码。
  • ldapLoginName -输入用户对象类型。
  • groupAttrName -输入组属性名称。
  • subAttributeName -输入子属性名称。
  • secType -输入安全类型。
  • ssoNameAttribute -输入单点登录名称属性。

对于 LDAP 策略,请填充必填字段以在字符串中引用 LDAP 操作并将其粘贴到 CLI 中:

  • Policy -输入策略名称。
  • action -输入我们上面创建的 “电子邮件” 操作的名称。

有关详细信息,请参阅 LDAP 身份验证策略

  1. 首先通过打开与 Citrix ADC 的 NSIP 地址的 SSH 会话连接 CLI,然后以 nsroot 管理员或等效管理员用户身份登录。

LDAP 操作 1-authact_LDAP_dCNF

为您的环境更新以下字段,然后将字符串复制并粘贴到 CLI 中: add authentication ldapAction authAct_Ldap_dcnf -serverIP 192.0.2.50 -serverPort 636 -ldapBase "DC=workspaces,DC=wwco,DC=net" -ldapBindDn wsadmin@workspaces.wwco.net -ldapBindDnPassword xyz123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2021_03_23_19_58 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -passwdChange ENABLED

LDAP 策略 1-authpol_LDAP_dCNF

为您的环境更新以下字段,然后将字符串复制并粘贴到 CLI 中: add authentication Policy authPol_LDAP_dcnf -rule true -action authAct_Ldap_dcnf

登录模式

接下来我们创建用于每个因素的登录模式。

lSchema 1-lschema_epa_dCNF

EPA 因素不需要登录模式。

lSchema 2-lschema_LDAP_dCNF

为您的环境更新以下字段,然后将字符串复制并粘贴到 CLI 中: add authentication loginSchema ls_ldap_dcnf -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuth.xml"

证书

域证书

在本 POC 中,我们使用了与我们的 Active Directory 域对应的通配符证书,它也对应于我们用来访问网关虚拟服务器的完全限定域名(gateway.workpaces.wwco.net)

  1. 登录 Citrix ADC GUI
  2. 导航到 流量管理 > SSL> 证书 > 所有证书 以验证您是否安装并链接了域证书和 CA。 有关更多信息,请参阅 Citrix ADC SSL 证书

设备证书

用户和设备证书管理有许多系统和选项。在此 POC 中,我们使用安装在 Active Directory 服务器上的 Microsoft 证书颁发机构。我们还将 Windows 10 终端节点加入该域。

  1. 在加入了域的 Windows 10 端点上的“开始”菜单中,我们输入 mmc,右键单击并以管理员身份运行
  2. 选择 “文件” > “添加/删除”,选择 “证书”,选择箭头将其移动到 “选定的管理单元” 窗格中,依次选择 “计算机帐户”、“下一步”、“本地计算机”
  3. 打开 “个人” 文件夹,右键单击 “证书” 文件夹 > “所有任务” > “申请新 证书设备证书”
  4. 单击下一步直到您获得证书类型,选择计算机,然后单击注册,然后单击完成
  5. 双击它安装的证书,选择证书路径选项卡,选择顶部的根 CA,然后单击查看证书。(注意:我们可以从 Active Directory 服务器导出 CA,但对于 POC,我们可以在这里执行它来消除步骤)
  6. 在弹出窗口中选择详细信息选项卡,选择复制到文件,单击下一步,单击下一步(接受 DER 编码)
  7. 选择浏览,然后输入文件名,选择保存,选择下一步,然后选择完成以存储 CA 证书文件。 设备证书
  8. 现在我们将导航到 **流量管理 > SSL > 证书 > CA 证书将其导入 ADC
  9. 单击 “安装”,我们输入名称 DeviceCertificateCA,选择 “选择文件”,“本地”,然后选择文件,“打开”,然后单击 “安装 设备证书

nFactor 可视化工具

  1. 下一步导航到 Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
  2. 选择添加,然后在因子框中选择加号

Factor1_Epa_dcnf

  1. 输入 Factor1_Epa_dcnf 并选择创建
  2. 在同一框中选择添加策略
  3. 选择 EPA 策略 authPol_EPA_dcnf
  4. 选择添加
  5. 选择 authPol_EPA_dcnf 策略旁边的绿色加号以创建另一个因素

Factor2_Ldap_dcnf

  1. EnterFactor2_Ldap_dcnf
  2. 选择创建
  3. 在同一框中选择添加架构
  4. 选择 ls_ldap_dcnf
  5. 在同一框中选择添加策略
  6. 选择 authPol_LDAP_dcnf
  7. 在 “转到表达式” 下选择 END

设备证书

Citrix ADC 身份验证、授权和审核 (Citrix ADC AAA) 虚拟服务器

  1. 接下来导航到 安全 > AAA-应用程序流量 > 虚拟服务器 ,然后选择添加
  2. 输入以下字段,然后单击 “确定”:
    • 名称-唯一值。我们输入 DC_AuthVserver
    • IP 地址类型- Non Addressable
  3. 选择无服务器证书,选择域证书,单击选择、绑定和继续
  4. 选择没有 nFactor 流
  5. 在选择 nFactor Flow 下,单击向右箭头,选择之前创建的 Factor1_Epa_dcnf 流程
  6. 单击 “选择”,然后单击 “绑定”,然后单击 “继续 设备证书

Citrix Gateway-虚拟服务器

  1. 接下来导航到 Citrix Gateway > 虚拟服务器
  2. 选择提供对 Citrix Virtual Apps and Desktops 环境的代理访问权限的现有虚拟服务器
  3. 选择编辑
  4. 在 “基本设置” 下,选择要编辑的铅笔图标,然后在底部选择更多
  5. 在右下角的 “设备证书 CA” 下,选择 “添加”,然后单击 deviceCertificaTeca 旁边的加号 (+),然后单击 “确定 设备证书
  6. 现在,在 “证书” 下,选择 “CA 证书”、“添加绑定”,选择 “选择 CA 证书” 下的向右箭头,然后选择 “deviceCertificaTECA”,然后选择 “绑定并关闭 设备证书
  7. 如果您当前绑定了 LDAP 策略,请在基本身份验证-主身份验证下导航,请选择 LDAP 策略。然后检查策略,选择取消绑定,选择是进行确认,然后选择关闭
  8. 在右侧的高级设置菜单下,选择身份验证配置文件
  9. 选择添加
  10. 请输入名称。 我们输入 DC_AuthProfile
  11. 在身份验证虚拟服务器下,单击向右箭头,然后选择我们创建的 Citrix ADC AAA 虚拟服务器 DC_AuthVserver
  12. 点击选择,然后创建
  13. 单击 “确定”,验证在移除基本身份验证策略时,虚拟服务器现在是否已选择身份验证配置文件 设备证书
  14. 单击 “完成”

用户端点验证

我们通过对 Citrix Virtual Apps and Desktops 环境进行身份验证来测试身份

  1. 打开浏览器,然后导航到 Citrix Gateway 管理的域 FQDN。我们使用 https://gateway.workspaces.wwco.net
  2. 如果尚未安装 EPA 插件,请选择下载。
  3. 否则,当 EPA 插件提示您进行扫描时,选择 “是”(也可以选择 “始终” 以自动扫描)。之后它会扫描设备证书。 设备证书
  4. 如果您有多个设备证书,它会提示您选择合适的设备证书进行身份验证,否则会显示登录提示。
  5. 输入域用户名和密码。 设备证书
  6. 从工作区的可用资源中选择虚拟桌面,然后验证是否成功启动。 设备证书

摘要

借助 Citrix Workspace 和 Citrix Gateway,企业可以通过实施多因素身份验证来改善安全状况,而不会使用户体验复杂设备证书允许企业无缝地将第二个身份验证因素添加到用户凭据,从而保持良好的用户体验,同时改善安全状况

引用

有关更多信息,请参阅:

如何在 Citrix Gateway 上配置设备证书以进行身份验证 -了解如何实施 OSCP 响应程序来验证证书吊销状态。

了解和配置 NetScaler Gateway 上的 EPA 详细日志记录 -验证端点上的 nsepa.txt 是否在下载的列表中记录了正确的 CA。“Netscaler 已发送设备证书允许的 CA 列表。“ 如果不是,请验证是否导入并将颁发设备证书的正确证书绑定到网关虚拟服务器。

用于查找 Citrix Gateway 会话策略中的策略 Hits 的 Citrix ADC 命令 -了解有关 CLI 命令(例如 nsconmsg -d current -g _hits)的详细信息,跟踪策略 hits 以帮助进行故障排除。

PoC 指南:使用设备证书进行 Citrix Gateway 身份验证的 nFactor