对身份验证的本机OTP支持
Citrix ADC支持一次性密码(OTPS),而无需使用第三方服务器。一次性密码是一个高度安全的选项,可根据生成的数字或密码验证到安全服务器。以前,专用公司,如RSA,具有生成随机数的特定设备提供OTPS。该系统必须与客户端恒定通信以生成服务器预期的数字。
除了减少资本和运营费用,该特性还通过将整个配置保留在Citrix ADC设备上增强了管理员的控制能力。
笔记
由于不再需要第三方服务器,Citrix ADC管理员必须配置一个接口来管理和验证用户设备。
用户必须向Citrix ADC虚拟服务器注册才能使用OTP解决方案。每个唯一的设备只需要注册一次,并且可以限制在特定的环境中。配置和验证注册用户类似于配置额外的认证策略。
支持本机OTP的好处
- 通过消除在身份验证服务器上除了Active Directory之外还有额外基础结构的需要,降低了操作成本。
- 仅将配置整合到Citrix ADC设备,从而为管理员提供强大的控制。
- 消除客户端依赖额外的身份验证服务器来生成客户端期望的数字。
本机OTP工作流
本机OTP解决方案是一个双重过程,工作流分类如下:
- 设备注册
- 终端用户登录
重要的是:如果您正在使用第三方解决方案或管理Citrix ADC设备之外的其他设备,则可以跳过注册过程。添加的最后一个字符串必须是Citrix ADC指定的格式。
下图描述了注册新设备接收OTP的设备注册流程。
注意:设备注册可以使用任意数量的因素来完成。单因素(如上图所示)作为一个例子来解释设备注册过程。
下图描绘了通过注册设备验证OTP。
下图描绘了设备注册和管理流程。
下图描述了Native OTP特性的最终用户流。
先决条件
要使用本机OTP特性,请确保满足以下先决条件。
- Citrix ADC功能发布版本为12.0 build 51.24及更高版本。
- Citrix Gateway上安装了高级版或高级版license。
- Citrix ADC配置了管理IP,可以使用浏览器和命令行访问管理控制台。
- Citrix ADC配置了身份验证、授权和审计虚拟服务器来验证用户。有关更多信息,请参见AAA
- Citrix ADC设备配置了统一网关,并将认证、授权和审计配置文件分配给网关虚拟服务器。
- 本机OTP解决方案仅限于NFactor认证流程。配置解决方案需要高级策略。有关更多详细信息,请参阅本地OTP
还要确保以下活动目录:
- 属性的最小长度为256个字符。
- 属性类型必须是' DirectoryString ',比如UserParameters。这些属性可以保存字符串值。
- 属性字符串类型必须是Unicode,如果设备名称处于非英文字符。
- Citrix ADC LDAP管理员必须具有对所选AD属性的写入权限。
- Citrix ADC设备和客户端机器必须同步到一个公共的Network Time Server。
使用GUI配置本机OTP
本机OTP注册不仅仅是单个因素身份验证。以下部分可帮助您配置单个和第二因子身份验证。
为第一个因素创建登录架构
- 导航到安全AAA >应用流量>登录模式.
- 去轮廓然后点击添加.
- 在创建身份验证登录模式页面,输入lschema_single_auth_manage_otp.下的名字字段并单击编辑旁边骗子.
- 单击LoginSchema文件夹。
- 向下滚动选择SingleAuth.xml然后点击选择.
- 点击创建.
- 点击政策点击添加.
在创建身份验证登录架构策略屏幕,输入以下值。
名称:lpol_single_auth_manage_otp_by_url.
简介:从列表中选择lschema_single_auth_manage_otp。
规则:HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“
管理者
”)
配置身份验证、授权和审核虚拟服务器
导航到安全> AAA - 应用程序流量>身份验证虚拟服务器.单击可编辑现有虚拟服务器。有关更多信息,请参见AAA
- 单击+旁边的图标登录模式在下面高级设置在右窗格中。
- 选择没有登录架构.
- 单击箭头并选择lpol_single_auth_manage_otp_by_url.政策,请点击选择,然后单击绑定.
- 向上滚动并选择1验证政策在下面高级认证政策.
- 右键单击nFactor政策选择编辑装订.右键单击已配置的NFactor策略或参考nFactor创建一个,并选择“编辑绑定”。
- 单击箭头下选择Next因素,选择已配置或单击添加创造一个新因素。
在创建身份验证PolicyLabel屏幕,输入以下内容,然后单击继续:
的名字:管理\u otp\u流量\u标签
登录模式: Lschema_Int
在身份验证PolicyLabel屏幕上,单击添加创建一个政策。
为普通LDAP服务器创建策略。
在创建身份验证策略屏幕,输入以下内容:
的名字: auth_pol_ldap_native_otp
- 选择Action类型为LDAP使用动作类型列表。
在行动字段中,单击添加创造一个动作。
创建第一个启用身份验证的LDAP操作,以便对单个因素使用身份验证。
在创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。
的名字: ldap_native_otp
IP地址:192.168.xx.xx.
基本DN:DC =培训,DC =实验室
管理员: Administrator@training.lab
密码:
xxxxx
创建OTP策略。
在创建身份验证策略屏幕,输入以下内容:
的名字:auth_pol_ldap_otp_action.
- 选择Action类型为LDAP使用动作类型列表。
在行动字段中,单击添加创造一个动作。
创建第二个LDAP操作,使用OTP秘密配置和未检查的身份验证设置OTP身份验证器。
在创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。
的名字: ldap_otp_action
IP地址:192.168.xx.xx.
基本DN:DC =培训,DC =实验室
管理员: Administrator@training.lab
密码:
xxxxx
- 向下滚动到其他设置部分。使用下拉菜单选择以下选项。服务器登录名称属性像新和类型userprincipalname.
- 使用下拉菜单进行选择SSO名称属性像新和类型userprincipalname.
- 在“用户参数”中输入“UserParameters”OTP的秘密字段并单击更多的.
输入以下属性。
属性1=邮件属性2= objectGUID属性3=不可变ID
- 点击好吧.
- 在创建身份验证策略第页,将表达式设置为真正的然后点击创建.
- 在创建身份验证Policylabel.第页,单击绑定,然后单击完毕。
- 在策略绑定第页,单击绑定.
在身份验证策略第页,单击关闭然后点击完成.
为OTP验证创建OTP。
在创建身份验证策略屏幕,输入以下内容:
的名字: auth_pol_ldap_otp_verify
- 选择Action类型为LDAP使用动作类型列表。
在行动字段中,单击添加创造一个动作。
创建验证OTP的第三个LDAP操作。
在创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。
的名字: ldap_verify_otp
IP地址:192.168.xx.xx.
基本DN:DC =培训,DC =实验室
管理员: Administrator@training.lab
密码:
xxxxx
- 向下滚动到其他设置部分。使用下拉菜单选择以下选项。服务器登录名称属性像新和类型userprincipalname.
- 使用下拉菜单进行选择SSO名称属性像新和类型userprincipalname.
- 在“用户参数”中输入“UserParameters”OTP的秘密字段并单击更多的.
输入以下属性。
属性1=邮件属性2= objectGUID属性3=不可变ID
- 点击好吧.
- 在创建身份验证策略第页,将表达式设置为真正的然后点击创建.
- 在创建身份验证Policylabel.第页,单击绑定,然后单击完毕。
- 在策略绑定第页,单击绑定.
- 在身份验证策略第页,单击关闭然后点击完成.
您可能还没有针对普通LDAP服务器的高级身份验证策略。修改操作类型为“LDAP”。选择您的普通LDAP服务器,即启用了身份验证的服务器。输入true作为表达式。它使用高级策略而不是经典语法。单击Create。
笔记
身份验证虚拟服务器必须绑定到RFWebui门户主题。将服务器证书绑定到服务器。服务器IP'1.2.3.5'必须具有相应的fqdn,即Otpauth.server.com,供以后使用。
为第二因素OTP创建登录模式
- 导航到安全> aaa应用流量>虚拟服务器.选择要编辑的虚拟服务器。
- 向下滚动并选择1登录模式.
- 点击添加绑定.
- 下策略绑定部分中,点击添加添加策略。
- 在创建身份验证登录架构策略页面,输入名称为OTP,然后单击添加创建配置文件。
- 在创建身份验证登录模式页面,输入名称为OTP,并单击旁边的铅笔图标骗子.
- 单击LoginSchema文件夹,选择dualauthmanageotp.xml.,然后单击选择.
- 点击更多的和向下滚动。
- 在密码凭据指数字段,输入1.这导致NFactor将用户的密码保存到AAA属性#1中,这可以在稍后在流量策略中使用以单点登录到储库。如果您不这样做,则Citrix Gateway尝试使用密码验证到储存器不起作用。
- 点击创建.
- 在规则部分,输入真正的.点击创建.
- 点击绑定.
- 请注意身份验证的两个因素。点击关闭然后点击完成.
单点登录流量策略
- 导航到Citrix网关>策略>流量
- 在交通概况选项卡,单击添加.
- 输入OTP的流量配置文件的名称。
向下滚动,在“SSO密码表达式”框中输入以下信息,单击创建. 在这里,我们使用为第二个因素OTP指定的登录模式密码属性。
http.REQ.USER.ATTRIBUTE (1)
在交通政策选项卡,单击添加.
在的名字字段,输入流策略的名称。
在请求档案字段,选择您创建的流量配置文件。
在表达式框中,输入真正的.如果您的Citrix Gateway虚拟服务器允许全VPN,请将表达式修改为如下所示。
http.req.method.eq(post)| http.req.method.eq(get)&&false
- 点击创建.
配置OTP管理的内容切换策略
如果使用统一网关,需要进行以下配置。
导航到流量管理>内容交换>策略. 选择内容切换策略,单击鼠标右键,然后选择编辑.
编辑表达式以计算下面的OR语句,然后单击好吧:
is_vpn_url | | HTTP.REQ.URL.CONTAINS(“管理者
”)
使用CLI配置本机OTP
配置OTP设备管理界面,需要具备以下信息:
- 分配给身份验证虚拟服务器的IP
- 分配的IP对应的FQDN
- 认证虚拟服务器的服务器证书
注意:原生OTP只是一个基于web的解决方案。
配置OTP设备注册和管理界面
创建身份验证虚拟服务器
添加身份验证vserver authvs ssl 1.2.3.5 443绑定验证vserver authvs -portaltheme rfwebui绑定ssl vserver authvs -certkeyname otpauthcert
注意:身份验证虚拟服务器必须绑定到RFWebui门户主题。将服务器证书绑定到服务器。服务器IP'1.2.3.5'必须具有相应的fqdn,即Otpauth.server.com,供以后使用。
创建LDAP登录操作的步骤
add authentication ldapAction - serverip - serverPort - ldapbase - ldapbinddn - ldapbinddnpassword - ldapploginname . add authentication bbapaction - serverip - serverPort - ldapbase - ldapbinddn - ldapbinddnpassword
例子:
add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD - ldapploginname userprincipalname
为LDAP Logon添加身份验证策略
添加身份验证策略auth\u pol\u ldap\u logon-规则true-操作ldap\u logon\u操作
通过LoginSchema呈现UI
在用户登录时显示用户名和密码字段
添加身份验证loginSchema lschema\u single\u auth\u manage\u otp-authenticationSchema“/nsconfig/loginSchema/loginSchema/SingleAuthManageOTP.xml”
显示设备注册和管理界面
Citrix建议使用两种方式显示设备注册和管理屏幕:URL或主机名。
使用URL.
当URL包含' /manageotp '时
添加认证loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")"动作片lschema_single_auth_manage_otp
绑定身份验证vserver authvs-策略lpol\u单个\u身份验证\u管理\u otp\u按\u url-优先级10-gotoPriorityExpression结束
使用主机名
当主机名为“alt.server.com”时
添加身份验证登录chempolicy lpol\u single\u auth\u manage\u otp\u by\u host-规则“http.req.header(“host”).eq(“alt.server.com”)-操作lschema\u single\u auth\u manage\u otp
bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression结束
使用CLI配置用户登录页面
配置“用户登录”页面必须具备以下信息:
- 负载平衡虚拟服务器的IP
- 负载均衡虚拟服务器对应的FQDN
负载均衡虚拟服务器的服务器证书
绑定SSL vserver lbvs_https -certkeyname lbvs_server_cert
负载平衡中的后端服务表示如下:
添加服务IIS_BackendSSO_SERVER_COM 1.2.3.210 HTTP 80绑定LB vserver LBVS_HTTPS IIS_BACKENSSO_SERVER_COM
创建OTP密码验证操作的步骤
add authentication ldapAction -serverIP -serverPort -ldapBase -ldapBindDn -ldapBindDnPassword - ldapploginname -authentication DISABLED -OTPSecret '
例子:
add authentication ldapAction ldap_otp_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD - ldapploginname userprincipalname -authentication DISABLED -OTPSecret userParameters
重要的是:LDAP登录和OTP操作之间的区别在于,需要禁用身份验证并引入一个新参数
OTPSecret
.请勿使用AD属性值。
为OTP密码验证添加身份验证策略
add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action
通过LoginSchema演示双因素身份验证
添加用于双因素身份验证的UI。
add authentication loginSchema lscheme_dual_factor -authenticationSchema "/nsconfig/ loginSchema / loginSchema /DualAuth.xml" add authentication loginSchemaPolicy lpol_dual_factor -rule true -action lscheme_dual_factor
通过策略标签创建密码验证因子
为下一个因素(第一个因素是LDAP登录)创建管理OTP流策略标签
添加身份验证loginschema lschema_noschema -authenticationschema noschema添加身份验证policylabel manage_otp_flow_label -loginschema lschema_noschema
绑定OTP策略到策略标签
bind authentication policylabel manage_otp_flow_label -policyName auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT
绑定UI流
使用身份验证虚拟服务器绑定LDAP登录和OTP验证。
绑定身份验证vserver authvs-策略身份验证ldap登录-优先级10-下一个因素管理\u otp\u流\u标签-gotoPriorityExpression下一个绑定身份验证vserver authvs-策略lpol\u双因素-优先级30-gotoPriorityExpression结束
使用Citrix ADC注册您的设备
- 导航到您的Citrix ADC FQDN(第一个公开IP),带有/manageotp后缀。例如,https://otpauth.server.com/manageotp使用用户凭证登录。
单击+图标添加设备。
- 输入设备名称,然后按去.一个条形码出现在屏幕上。
- 点击开始安装然后单击扫描条形码.
将设备摄像头悬停在二维码上方。您可以选择输入16位代码。
笔记:显示的QR码有效3分钟。
扫描成功后,你会看到一个6位的时间敏感代码,可以用来登录。
- 要测试,请单击完成在QR屏幕上,然后单击右侧的绿色复选标记。
- 从下拉菜单中选择您的设备,并从谷歌验证器中输入代码(必须是蓝色,不是红色),然后单击去.
- 请确保使用页面右上角的下拉菜单注销。
通过OTP方式登录Citrix ADC
- 导航到您的第一个面向公众的URL,并从Google Authenticator输入您的OTP以登录。
认证到Citrix ADC启动页面。