概念验证指南:使用设备证书的 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) 在安装了微软证书颁发机构的环境中可用
- Windows 10 终端节点已加入域,并安装了 Citrix Workspace 应用程序
- 终端节点用户必须具有本地管理员权限或安装 Citrix Gateway 插件
有关最新产品版本、许可和要求详细信息,请参阅 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 操作并将其粘贴到 CLI 中:
ldapAction
-输入操作名称。serverIP
-输入域服务器的 FQDN 或 IP 地址。serverPort
-输入 LDAP 端口。ldapBase
-输入存储在目录中的相关用户的域对象和容器的字符串。ldapBindDn
-输入用于查询域用户的服务帐号。ldapBindDnPassword
-输入您的服务帐户密码。ldapLoginName
-输入用户对象类型。groupAttrName
-输入组属性名称。subAttributeName
-输入子属性名称。secType
-输入安全类型。ssoNameAttribute
-输入单点登录名称属性。
对于 LDAP 策略,请填充必填字段以在字符串中引用 LDAP 操作并将其粘贴到 CLI 中:
Policy
-输入策略名称。action
-输入我们上面创建的 “电子邮件” 操作的名称。
有关更多信息,请参阅LDAP 身份验证策略
- 首先通过打开与 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)
- 登录 Citrix ADC GUI
- 导航到流量管理 > SSL> 证书 > 所有证书以验证您是否安装并链接了域证书和 CA。有关更多信息,请参阅Citrix ADC SSL 证书。
设备证书
用户和设备证书管理有许多系统和选项。在此 POC 中,我们使用安装在 Active Directory 服务器上的 Microsoft 证书颁发机构。我们还将 Windows 10 终端节点加入该域。
- 在加入了域的 Windows 10 端点上的“开始”菜单中,我们输入
mmc
,右键单击并以管理员身份运行 - 选择 “文件” > “添加/删除”,选择 “证书”,选择箭头将其移动到 “选定的管理单元” 窗格中,依次选择 “计算机帐户”、“下一步”、“本地计算机”
- 打开个人文件夹,右键单击证书文件夹 > 所有任务 > 申请新证书
- 单击下一步直到您获得证书类型,选择计算机,然后单击注册,然后单击完成
- 双击它安装的证书,选择证书路径选项卡,选择顶部的根 CA,然后单击查看证书。(注意:我们可以从 Active Directory 服务器导出 CA,但对于 POC,我们可以在这里执行它来消除步骤)
- 在弹出窗口中选择详细信息选项卡,选择复制到文件,单击下一步,单击下一步(接受 DER 编码)
- 选择浏览,然后输入文件名,选择保存,选择下一步,然后选择完成以存储 CA 证书文件。
- 现在我们将导航到 **流量管理 > SSL > 证书 > CA 证书将其导入 ADC
- 单击安装,我们输入名称
DeviceCertificateCA
,选择选择文件,本地,然后选择文件,打开然后单击安装
nFactor 可视化工具
- 下一步导航到
Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
- 选择添加,然后在因子框中选择加号
Factor1_Epa_dcnf
- 输入
Factor1_Epa_dcnf
并选择创建 - 在同一框中选择添加策略
- 选择 EPA 策略
authPol_EPA_dcnf
- 选择添加
- 选择
authPol_EPA_dcnf
策略旁边的绿色加号以创建另一个因素
Factor2_Ldap_dcnf
- Enter
Factor2_Ldap_dcnf
- 选择创建
- 在同一框中选择添加架构
- 选择
ls_ldap_dcnf
- 在同一框中选择添加策略
- 选择
authPol_LDAP_dcnf
- 在 “转到表达式” 下选择
END
Citrix ADC身份验证,授权和审核(Citrix ADC AAA)虚拟服务器
- 接下来导航到安全 > AAA-应用程序流量 > 虚拟服务器,然后选择添加
- 输入以下字段,然后单击 “确定”:
- 名称-唯一值。我们输入
DC_AuthVserver
- IP 地址类型-
Non Addressable
- 名称-唯一值。我们输入
- 选择无服务器证书,选择域证书,单击选择、绑定和继续
- 选择没有 nFactor 流
- 在选择 nFactor Flow 下,单击向右箭头,选择之前创建的
Factor1_Epa_dcnf
流程 - 单击选择,然后单击绑定,然后单击继续
Citrix Gateway-虚拟服务器
- 接下来导航到Citrix Gateway > 虚拟服务器
- 选择提供对 Citrix Virtual Apps and Desktops 环境的代理访问权限的现有虚拟服务器
- 选择编辑
- 在 “基本设置” 下,选择要编辑的铅笔图标,然后在底部选择更多
- 在右下角的设备证书 CA 下选择添加,然后单击 DeviceCercerateCA 旁边的加号 (+),然后单击确定
- 现在,在证书下,选择 CA 证书,添加绑定,选择 CA 证书下方选择右箭头,然后选择 DeviceCercerateCA,然后选择绑定和关闭
- 如果您当前绑定了 LDAP 策略,请在基本身份验证-主身份验证下导航,请选择 LDAP 策略。然后检查策略,选择取消绑定,选择是进行确认,然后选择关闭
- 在右侧的高级设置菜单下,选择身份验证配置文件
- 选择添加
- 请输入名称。我们输入
DC_AuthProfile
- 在身份验证虚拟服务器下,单击向右箭头,然后选择我们创建的 Citrix ADC AAA 虚拟服务器
DC_AuthVserver
- 点击选择,然后创建
- 单击确定并验证在删除基本身份验证策略时虚拟服务器现在已选择身份验证配置文件
- 单击“完成”
用户端点验证
我们通过对 Citrix Virtual Apps and Desktops 环境进行身份验证来测试身份
- 打开浏览器,然后导航到 Citrix Gateway 管理的域 FQDN。我们使用
https://gateway.workspaces.wwco.net
- 如果尚未安装 EPA 插件,请选择下载。
- 否则,当 EPA 插件提示您进行扫描时,选择 “是”(也可以选择 “始终” 以自动扫描)。之后它会扫描设备证书。
- 如果您有多个设备证书,它会提示您选择合适的设备证书进行身份验证,否则会显示登录提示。
- 输入域用户名和密码。
- 从工作区的可用资源中选择虚拟桌面,然后验证是否成功启动。
摘要
借助 Citrix Workspace 和 Citrix Gateway,企业可以通过实施多因素身份验证来改善安全状况,而不会使用户体验复杂设备证书允许企业无缝地将第二个身份验证因素添加到用户凭据,从而保持良好的用户体验,同时改善安全状况
引用
有关更多信息,请参阅:
如何在 Citrix Gateway 上为身份验证配置设备证书-了解如何实施 OSCP 响应程序来验证证书吊销状态。
了解和配置 NetScaler Gateway 上的 EPA 详细日志记录-验证终端节点上的 nsepa.txt 是否在下载的列表中记录正确的 CA。“Netscaler 已发送设备证书允许的 CA 列表。“ 如果不是,请验证是否导入并将颁发设备证书的正确证书绑定到网关虚拟服务器。
用于查找 Citrix Gateway 会话策略中的策略支安打
的 Citrix ADC 命令-了解有关 CLI 命令(例如nsconmsg -d current -g _hits
)的详细信息,跟踪策略hits
以帮助进行故障排除。