PoC指南:nFactor for Citrix Gateway Authentication with Device Certificate

介绍

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

设备证书认证

概述

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

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

  • Citrix ADC已安装并获得许可
  • 配置了与通配符证书绑定的外部可达虚拟服务器的Citrix网关
  • Citrix网关集成了使用LDAP进行身份验证的Citrix虚拟应用程序和桌面环境
  • Active Directory (AD)在安装了Microsoft证书颁发机构的环境中可用
  • Windows 10终端已加入域,并安装了Citrix Workspace应用程序
  • 终端用户必须具有本地管理员权限或安装了Citrix Gateway Plug-in

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

配置

首先,我们登录到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操作,并将其粘贴到命令行中:

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

对于LDAP策略,填充所需的字段,以引用字符串中的LDAP Action,并将其粘贴到CLI中:

  • 政策—输入策略名称。
  • 行动-输入我们上面创建的Email动作的名称。

有关更多信息,请参阅LDAP认证策略

  1. 首先通过打开一个到Citrix ADC的NSIP地址的SSH会话连接到CLI,并以nsroot管理员或同等权限的admin用户。

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 - ldapploginname userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -passwdChange ENABLED

LDAP策略1 - authPol_LDAP_dcnf . sh

更新您环境中的以下字段,并将字符串复制并粘贴到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 .workspaces.wwco.net)

  1. 1 .登录Citrix ADC界面
  2. 导航到流量管理> SSL>证书>所有证书以验证您已安装并链接了域证书和ca。看到Citrix ADC SSL证书获取更多信息。

设备证书

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

  1. 从开始菜单上的域加入Windows 10端点,我们进入mmc,单击右键,以管理员身份运行
  2. 选择“文件>添加/删除”,选择“证书”,选择箭头将其移动到“已选管理单元”窗格,选择“计算机帐户”,“下一步”,“本地计算机”,“完成”,单击“确定”
  3. 打开“个人”文件夹,右键单击“证书”文件夹> All Tasks > Request New Certificate设备证书
  4. 单击“下一步”,直到提供证书类型,选择“计算机”,然后单击“注册”,然后单击“完成”
  5. 双击已安装的证书,选择“证书路径”页签,在顶部选择根CA,单击“查看证书”。(注意:我们可以从Active Directory服务器导出CA,但是对于POC,我们可以通过在这里这样做来省去步骤)
  6. 在弹出窗口中选择详细信息选项卡,选择复制到文件,单击下一步,单击下一步(接受DER编码)
  7. 选择“浏览”,输入文件名,选择“保存”,选择“下一步”,选择“完成”保存CA证书文件。设备证书
  8. 现在我们将通过导航到**Traffic Management > SSL> Certificates > CA Certificates将其导入ADC
  9. 单击Install,输入名称DeviceCertificateCA,选择“已选文件”,“本地”,选择文件,“打开”,单击“安装”设备证书

nFactor可视化工具

  1. 下一步导航到安全> AAA -应用流量> nFactor可视化> nFactor流
  2. 选择“添加”并在“因素”框中选择加号

Factor1_Epa_dcnf

  1. 输入Factor1_Epa_dcnf然后选择create
  2. 在同一框中选择Add Policy
  3. 选择EPA政策authPol_EPA_dcnf
  4. 选择添加
  5. 选项旁边的绿色加号authPol_EPA_dcnf政策创造了另一个因素

Factor2_Ldap_dcnf

  1. 输入Factor2_Ldap_dcnf
  2. 选择Create
  3. 在同一框中选择Add Schema
  4. 选择ls_ldap_dcnf
  5. 在同一框中选择Add Policy
  6. 选择authPol_LDAP_dcnf
  7. 在Goto Expression下选择结束

设备证书

Citrix ADC认证、授权和审计(Citrix ADC AAA)虚拟服务器

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

Citrix网关—虚拟服务器

  1. 下一步导航到Citrix Gateway >虚拟服务器
  2. 选择提供对Citrix虚拟应用程序和桌面环境的代理访问的现有虚拟服务器
  3. 选择编辑
  4. 在基本设置下选择铅笔图标进行编辑,然后在底部选择更多
  5. 在右下角的“DeviceCert CA”中选择“添加”,单击“DeviceCertificateCA”后的“加号”并单击“确定”设备证书
  6. 在“证书”下,选择“CA证书”,“添加绑定”,在“选择CA证书”下,选择“DeviceCertificateCA”,然后选择“绑定并关闭”设备证书
  7. 如果当前绑定了LDAP策略,则在“基本身份验证-主身份验证”下导航,选择LDAP策略。检查策略后,选择“解绑定”,选择“是”确认后,选择“关闭”
  8. 在右侧的“高级设置”菜单中选择“身份验证配置文件”
  9. 选择添加
  10. 输入名称。我们进入DC_AuthProfile
  11. 在身份验证虚拟服务器下单击右箭头,并选择我们创建的Citrix ADC AAA虚拟服务器DC_AuthVserver
  12. 单击“选择”,然后创建
  13. 单击OK并确认虚拟服务器现在已经选择了一个身份验证配置文件,而基本身份验证策略已经被删除设备证书
  14. 点击完成

用户端点验证

我们通过在Citrix虚拟应用程序和桌面环境中进行身份验证来测试身份验证。

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

总结

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

参考文献

有关更多信息,请参阅:

如何在Citrix网关上配置设备证书进行认证—学习如何使用OSCP响应器验证证书吊销状态。

理解和配置NetScaler网关上的EPA详细日志—验证端点上的nsepa.txt日志中所下载的CA是否正确。Netscaler已发送设备证书的允许CA列表。如果没有验证您导入并绑定了颁发设备证书的正确的网关vServer。

Citrix ADC命令查找策略支安打查看Citrix网关会话策略-了解更多CLI命令,如Nsconmsg -d current -g _hits跟踪政策支安打帮助排除故障。

PoC指南:nFactor for Citrix Gateway Authentication with Device Certificate