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认证策略
- 首先通过打开一个到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 .登录Citrix ADC界面
- 导航到流量管理> SSL>证书>所有证书以验证您已安装并链接了域证书和ca。看到Citrix ADC SSL证书获取更多信息。
设备证书
用户和设备证书管理有许多系统和选项。在这个POC中,我们使用安装在Active Directory服务器上的Microsoft证书颁发机构。我们还将Windows 10端点连接到域。
- 从开始菜单上的域加入Windows 10端点,我们进入
mmc
,单击右键,以管理员身份运行 - 选择“文件>添加/删除”,选择“证书”,选择箭头将其移动到“已选管理单元”窗格,选择“计算机帐户”,“下一步”,“本地计算机”,“完成”,单击“确定”
- 打开“个人”文件夹,右键单击“证书”文件夹> All Tasks > Request New Certificate
- 单击“下一步”,直到提供证书类型,选择“计算机”,然后单击“注册”,然后单击“完成”
- 双击已安装的证书,选择“证书路径”页签,在顶部选择根CA,单击“查看证书”。(注意:我们可以从Active Directory服务器导出CA,但是对于POC,我们可以通过在这里这样做来省去步骤)
- 在弹出窗口中选择详细信息选项卡,选择复制到文件,单击下一步,单击下一步(接受DER编码)
- 选择“浏览”,输入文件名,选择“保存”,选择“下一步”,选择“完成”保存CA证书文件。
- 现在我们将通过导航到**Traffic Management > SSL> Certificates > CA Certificates将其导入ADC
- 单击Install,输入名称
DeviceCertificateCA
,选择“已选文件”,“本地”,选择文件,“打开”,单击“安装”
nFactor可视化工具
- 下一步导航到
安全> AAA -应用流量> nFactor可视化> nFactor流
- 选择“添加”并在“因素”框中选择加号
Factor1_Epa_dcnf
- 输入
Factor1_Epa_dcnf
然后选择create - 在同一框中选择Add Policy
- 选择EPA政策
authPol_EPA_dcnf
- 选择添加
- 选项旁边的绿色加号
authPol_EPA_dcnf
政策创造了另一个因素
Factor2_Ldap_dcnf
- 输入
Factor2_Ldap_dcnf
- 选择Create
- 在同一框中选择Add Schema
- 选择
ls_ldap_dcnf
- 在同一框中选择Add Policy
- 选择
authPol_LDAP_dcnf
- 在Goto Expression下选择
结束
Citrix ADC认证、授权和审计(Citrix ADC AAA)虚拟服务器
- 下一步导航到安全> AAA -应用流量>虚拟服务器选择“添加”
- 输入以下字段,单击“确定”。
- 名称-唯一的值。我们进入
DC_AuthVserver
- IP地址类型-
非可寻址
- 名称-唯一的值。我们进入
- 选择“无服务器证书”,选择域证书,单击“选择>绑定>继续”
- 选择No nFactor Flow
- 在Select nFactor Flow下单击右箭头,选择
Factor1_Epa_dcnf
之前创建的流 - 单击“选择”,然后单击“绑定”,然后单击“继续”
Citrix网关—虚拟服务器
- 下一步导航到Citrix Gateway >虚拟服务器
- 选择提供对Citrix虚拟应用程序和桌面环境的代理访问的现有虚拟服务器
- 选择编辑
- 在基本设置下选择铅笔图标进行编辑,然后在底部选择更多
- 在右下角的“DeviceCert CA”中选择“添加”,单击“DeviceCertificateCA”后的“加号”并单击“确定”
- 在“证书”下,选择“CA证书”,“添加绑定”,在“选择CA证书”下,选择“DeviceCertificateCA”,然后选择“绑定并关闭”
- 如果当前绑定了LDAP策略,则在“基本身份验证-主身份验证”下导航,选择LDAP策略。检查策略后,选择“解绑定”,选择“是”确认后,选择“关闭”
- 在右侧的“高级设置”菜单中选择“身份验证配置文件”
- 选择添加
- 输入名称。我们进入
DC_AuthProfile
- 在身份验证虚拟服务器下单击右箭头,并选择我们创建的Citrix ADC AAA虚拟服务器
DC_AuthVserver
- 单击“选择”,然后创建
- 单击OK并确认虚拟服务器现在已经选择了一个身份验证配置文件,而基本身份验证策略已经被删除
- 点击完成
用户端点验证
我们通过在Citrix虚拟应用程序和桌面环境中进行身份验证来测试身份验证。
- 打开浏览器,导航到Citrix Gateway管理的域FQDN。我们使用
https://gateway.workspaces.wwco.net
- 如果没有安装EPA插件,请选择download。
- 否则,当EPA插件提示扫描时,选择Yes(也可以选择Always自动扫描)。然后它扫描设备证书。
- 如果您有多个设备证书,它会提示您选择适当的一个进行身份验证,否则它会提示登录。
- 输入域用户名和密码。
- 从工作空间中的可用资源中选择虚拟桌面,并验证是否成功启动。
总结
使用Citrix Workspace和Citrix Gateway,企业可以通过实现多因素身份验证来改善其安全状况,而不会使用户体验复杂化。设备证书允许企业无缝地向用户凭据添加第二个身份验证因素,在改善安全状况的同时保持良好的用户体验。
参考文献
有关更多信息,请参阅:
如何在Citrix网关上配置设备证书进行认证—学习如何使用OSCP响应器验证证书吊销状态。
理解和配置NetScaler网关上的EPA详细日志—验证端点上的nsepa.txt日志中所下载的CA是否正确。Netscaler已发送设备证书的允许CA列表。如果没有验证您导入并绑定了颁发设备证书的正确的网关vServer。
Citrix ADC命令查找策略支安打
查看Citrix网关会话策略-了解更多CLI命令,如Nsconmsg -d current -g _hits
跟踪政策支安打
帮助排除故障。