PoC指南:使用推牌的Citrix网关身份验证的nFactor
简介
基于时间的一次性密码(Time - Based One Time password, TOTP)是一种越来越常见的方法,用于提供可以通过其他因素提高安全性的身份验证。带PUSH的TOTP通过允许用户在指尖接收和接受身份验证请求来利用移动设备。通过对设置期间分发的共享密钥应用散列来保护交换。
Citrix Gateway支持OTP的推送通知,可以为各种服务提供身份验证,包括web服务、VPN、Citrix虚拟应用程序和桌面。在本POC指南中,我们将演示在Citrix虚拟应用程序和桌面环境中使用它进行身份验证。
概述
本指南演示如何使用Citrix Gateway的双因素身份验证实现概念证明环境。它使用LDAP验证Active Directory凭据作为第一个因素,并使用Citrix云推送身份验证作为第二个因素。它使用Citrix Virtual Apps and desktop发布的虚拟桌面来验证连接。
假设以下组件的安装和配置已经完成:
- 已安装Citrix Gateway,并使用绑定到通配符证书的外部可达虚拟服务器进行授权和配置。
- Citrix网关集成了一个使用LDAP进行身份验证的Citrix虚拟应用程序和桌面环境
- 建立Citrix Cloud帐户
- 安装了Citrix Workspace应用程序的端点
- 移动设备安装Citrix SSO应用程序
- 环境中存在AD (Active Directory)
最新的产品版本和license要求请参考Citrix文档。把身份验证
Citrix网关
nFactor
- 1 .登录Citrix ADC界面
- 导航到流量管理> SSL>证书>所有证书验证您是否安装了域证书。在这个POC示例中,我们使用了一个对应于Active Directory域的通配符证书。看到Citrix ADC SSL证书更多信息。
推送服务动作
- 下一步导航到
安全> AAA -应用流量>策略>认证>高级策略>动作>推送服务
- 选择添加
- 填充以下字段并单击OK:
- 名称—唯一的值。我们将在以下字段中输入值以集成Citrix Cloud - PUSH Service
- 登录Citrix Cloud并导航到身份和访问管理> API访问
- 为推送服务创建一个惟一的名称,并选择Create client现在,我们将把这些值复制并粘贴到我们的Citrix ADC策略中,以与Citrix Cloud - PUSH Service集成
- 客户端ID——从Citrix Cloud ID复制并粘贴客户端ID,然后秘密弹出
- 客户端秘密-从Citrix Cloud ID复制并粘贴客户端ID,然后弹出秘密窗口
- 选择关闭
- 客户ID—从Citrix云身份和访问管理API访问页面复制并粘贴客户ID
- 单击Create
LDAP—身份验证操作
- 下一步导航到
安全> AAA -应用流量>策略>认证>高级策略>动作> LDAP
- 选择添加
- 填充以下字段
- 名称—唯一的值
- 服务器名称/ IP地址—为AD服务器选择一个FQDN或IP地址。我们进入
192.0.2.50_LDAP
- 基准DN -输入AD用户容器的路径。我们进入
OU=Team Accounts, DC=workspaces, DC=wwco, DC=net
- 管理员绑定DN -输入admin/service帐号查询AD,对用户进行认证。我们进入
workspacesserviceaccount@workspaces.wwco.net
- 确认/管理员密码—输入/确认admin /业务帐户密码
- 服务器登录名属性-在该字段下面的第二个字段中输入
userPrincipalName
- 选择Create有关更多信息,请参见LDAP认证策略
LDAP -令牌存储操作
- 下一步导航到
安全> AAA -应用流量>策略>认证>高级策略>动作> LDAP
- 选择上面创建的LDAP操作并选择create
- 在名称后面追加OTP或任何标识符,并取消选择身份验证
- 在“连接设置”中检查Base DN、管理员绑定DN和密码。请确保管理员用户或业务帐户是域管理员的成员。该策略将被用来写入由用户的验证器应用程序注册的令牌到用户对象的userParameters属性中。
- 向下滚动到“其他设置”
- OTP保密-输入
userParameters
- Push Service -选择上面创建的Push服务策略
- OTP保密-输入
- 选择Create
nFactor
- 下一步导航到
安全> AAA -应用流量> nFactor Visualizer > nFactor流
- 选择Add并在Factor框中选择加号
- 输入nFactor_OTP并选择create
nFactor -注册流程
- 选择“添加策略”,并在“选择策略”后再次选择“添加”
- 输入
authPol_OTPReg
- 在“动作类型”下选择
NO_AUTHN
- 选择Expression Editor并通过在下拉菜单中选择以下选项来构建表达式:
HTTP
要求的事情
COOKIE.VALUE(字符串)= NSC_TASS
EQ(String) = managotp
- 选择Done,然后是Create,然后是Add
- 选择authPol_OTPReg策略旁边的绿色加号以创建因子
- 输入
OTPRegAD
然后选择创建 - 在创建的框中选择Add Schema
- 选择Add并输入
lschema_SingleRegOTP
- 在模式文件下导航到LoginSchema,并选择
SingleAuthManageOTP.xml
- 选择蓝色的选择按钮,然后是Create,然后是OK
- 在同一框中选择“添加策略”,并在“选择策略”旁边再次选择“添加”
- 输入authPol_LDAP作为名称
- 在“动作类型”中选择LDAP
- 在“操作”下选择您的第一个LDAP身份验证操作。我们使用
192.0.2.50_LDAP
- 在表达式下输入true
- 选择Create,然后选择Add
- 选项旁边的绿色加号
authPol_LDAP政策
要创建一个因子 - 输入
OTPRegDevice
然后选择创建 - 在同一框中选择“添加策略”,并在“选择策略”旁边再次选择“添加”
- 输入
authPol_OTPAuthDevice
为了名字 - 在“动作类型”中选择LDAP
- 在Action下选择新创建的(第二个)LDAP身份验证操作。我们使用
192.0.2.50_LDAP_OTP
- 在表达式下输入true
- 选择Create,然后选择Add
nFactor -认证流程
- 选项下面的蓝色加号
authPol_OTPReg
政策 - 输入
authPol_OTPAuth
- 在“动作类型”下选择
NO_AUTHN
- 在表达式下输入true
- 选择Create
- 选项旁边的绿色加号
authPol_OTPAuth
策略来创建一个因子 - 输入
OTPAuthAD
- 选择Create
- 在创建的框中选择Add Schema
- 选择Add并输入
lschema_DualAuthOTP
- 在模式文件下导航到LoginSchema,并选择
DualAuthPushOrOTP.xml
- 选择蓝色的选择按钮,然后是Create,然后是OK
- 在同一框中选择Add Policy
- 选择我们在设置映射到第一个LDAP身份验证操作的Registration流期间创建的策略。我们使用
authPol_LDAP
- 选择添加
- 选项旁边的绿色加号
authPol_Ldap
策略来创建一个因子 - 输入
OTPAuthDevice
这个因子将使用OTP令牌执行第二因子身份验证 - 选择Create
- 在同一框中选择Add Policy
- 选择策略
authPol_OTPAuthDevice
我们在注册流程设置过程中创建的 - 选择添加
- 现在我们已经完成了nFactor流的设置,可以单击Done
Citrix ADC认证、授权和审计(Citrix ADC AAA)虚拟服务器
- 下一步导航到
安全> AAA -应用流量>虚拟服务器
然后选择Add - 输入以下字段并单击OK:
- 名称—唯一的值
- IP地址类型-
非可寻址
- 选择“无服务器证书”,选择域证书,单击“选择、绑定并继续”
- 选择No nFactor Flow
- 在Select nFactor Flow下单击右箭头,选择
nFactor_OTP
之前创建的流 - 单击Select,然后单击Bind
Citrix网关—虚拟服务器
- 下一步导航到
Citrix Gateway >虚拟服务器
- 选择提供对Citrix虚拟应用程序和桌面环境的代理访问的现有虚拟服务器
- 选择编辑
- 在“基本身份验证-主身份验证”中选择“LDAP策略”
- 检查策略,选择“解绑定”,选择“是”确认,然后选择“关闭”
- 在右侧的高级设置菜单下选择身份验证配置文件
- 选择添加
- 输入名称。我们进入
PUSH_auth_profile
- 在身份验证虚拟服务器下,单击右箭头,并选择我们创建的Citrix ADC AAA虚拟服务器
PUSH_Auth_Vserver
- 单击选择,然后创建
- 单击OK并验证虚拟服务器现在已经选择了身份验证配置文件,同时已删除基本身份验证策略
- 点击完成
用户终端
现在,我们通过注册一个移动设备并在Citrix虚拟应用程序和桌面环境中进行身份验证来测试PUSH。
注册Citrix SSO应用程序
- 打开浏览器,导航到Citrix Gateway管理的域FQDN,在FQDN的末尾添加/ managotp。我们使用
https://gateway.workspaces.wwco.net/manageotp
- 在浏览器被重定向到登录屏幕后,输入用户UPN和密码
- 在下一个屏幕上选择Add Device,输入名称。我们使用
iPhone7
- 选择Go,会出现一个二维码
- 在您的移动设备上打开Citrix SSO应用程序,该应用程序可从应用程序商店下载
- 选择添加新令牌
- 选择扫描二维码
- 选择将你的相机对准二维码,一旦它被捕获,选择添加
- 选择Save以存储令牌
- 令牌现在处于活动状态,并开始以30秒间隔显示OTP代码
- 选择Done,您将看到设备已成功添加的确认信息
Citrix虚拟应用程序和桌面认证、发布和启动
- 打开浏览器,导航到Citrix Gateway管理的域FQDN。我们使用
https://gateway.workspaces.wwco.net
- 在浏览器被重定向到登录屏幕后,输入用户UPN和密码。在这个屏幕上,如果你的相机因为某种原因无法工作,你可以看到点击手动输入OTP的选项
- 在您的移动设备上,在Citrix SSO应用程序中选择OK以确认PUSH身份验证
- 验证用户的虚拟应用程序和枚举的桌面,并在登录后启动
总结
使用Citrix Workspace和Citrix Gateway,企业可以通过实现多因素身份验证来改善其安全态势,而不会使用户体验变得复杂。用户可以通过输入他们的标准域用户和密码,并通过按下移动设备上Citrix SSO应用程序中的一个按钮来确认他们的身份,从而访问他们的所有工作区资源。
参考文献
更多信息请参考:
身份验证推-观看Tech Insight关于使用TOTP提高Citrix工作区身份验证安全性的视频
认证-现场Citrix网关-观看Tech Insight视频,介绍如何与本地Citrix Gateway集成,以提高Citrix Workspace的身份验证安全性