本机otp支持身份验证
Citrix Gateway支持一次性密码(OTP),而无需使用第三方服务器。一次性密码是一种高度安全的选项,用于对服务器进行身份验证,因为生成的号码或密码是随机的。以前,otp由专业公司提供,例如rsa提供具有生成随机数的特定设备的rsa。此系统必须与客户端保持持续通信,才能生成服务器预期的数字。
除了降低资本和运营开支外,此功能还通过将整个配置保留在Citrix ADC设备上,增强了管理员的控制能力。
注意
由于不再需要第三方服务器,Citrix ADC管理员必须配置接口来管理和验证用户设备。
必须向Citrix Gateway虚拟服务器注册用户才能使用OTP解决方案。每个唯一设备只需要注册一次,并且可以限制在某些环境中。配置和验证注册用户类似于配置额外的身份验证策略。
拥有本地otp支持的优势
- 除活动目录之外,无需在身份验证服务器上拥有额外的基础结构,从而降低运营成本。
- 仅将配置整合到Citrix ADC设备,从而为管理员提供极好的控制权。
- 消除了客户端依赖额外的身份验证服务器来生成客户端预期的数字。
本地otp工作流程
本机otp解决方案是一个双重过程,工作流程分类如下:
- 设备注册
- 最终用户登录
重要
如果您正在使用第三方解决方案或管理Citrix ADC设备以外的其他设备,则可以跳过注册过程。添加的最后一个字符串必须采用Citrix ADC指定的格式。
下图描述了注册新设备以接收otp的设备注册流程。
注意
设备注册可以使用任意数量的因素来完成。单一因素(如上图所述)用作解释设备注册过程的示例。
下图描述了通过注册设备验证otp的情况。
必备条件
要使用本机otp功能,请确保满足以下必备条件。
- Citrix ADC功能的发行版为12.0 Build 51.24及更高版本。
- Citrix Gateway上安装了高级版或高级版许可证。
- Citrix Gateway配置了管理IP,并且可以使用浏览器和命令行访问管理控制台。
- Citrix ADC配置了身份验证,授权和审核虚拟服务器,以对用户进行身份验证。
- Citrix ADC设备配置了统一网关,并将身份验证,授权和审核配置文件分配给网关虚拟服务器。
- 本机OTP解决方案仅限于nFactor身份验证流。配置解决方案需要高级策略。有关更多详细信息,请参阅文章CTX222713。
还要确保Active Directory的以下内容:
- 最小属性长度为 256 个字符。
- 属性类型必须是" DirectoryString ",如UserParameters。这些属性可以包含字符串值。
- 如果设备名称为非英文字符,则属性字符串类型必须为Unicode。
- Citrix ADC LDAP管理员必须具有对所选AD属性的写入权限。
- Citrix ADC设备和客户端计算机必须同步到公共网络时间服务器。
使用GUI配置本机otp
本机otp注册不仅仅是单一因素身份验证。以下部分帮助您配置单因素和第二因素身份验证。
为第一因素创建登录架构
- 导航到安全aaa >应用程序流量>登录架构。
- 转到配置文件,然后单击添加。
- 在创建身份验证登录架构页上,在名称字段下输入lschema_first_factor,然后单击noschema旁边的编辑。
- 单击LoginSchema文件夹。
- 向下滚动以选择SingleAuth.xml,然后单击选择。
- 单击创建。
- 单击策略,然后单击添加。
在“创建身份验证登录架构策略屏幕上,输入以下值。
名称:lschema_first_factor配置文件:从列表中选择schema_first_factor。规则:HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”)
配置身份验证、授权和审核虚拟服务器
- 导航到安全> aaa -应用程序流量>身份验证虚拟服务器。单击以编辑现有虚拟服务器。
- 单击右侧窗格的”高级设置“下登录架构旁边的+图标。
- 选择无登录架构。
- 单击箭头并选择lschema_第一因子策略。
- 选择”优先因子”策略,然后单击”选择”。
- 点击绑定。
- 向上滚动并在高级 **身份验证策略下选择 1个身份验证策略** 。
- 右键单击nFactor策略,然后选择编辑绑定。
- 单击”选择下一个因子"下的"+图标,创建下一个因子,然后单击”绑定”。
在“创建身份验证策略标签“屏幕上,输入以下内容,然后单击”继续”:
名称: otp管理因素
登录架构: Lschema_Int
在身份验证策略标签屏幕上,单击+图标以创建策略。
在“创建身份验证策略屏幕上,输入以下内容:
名称。otp_manage_ldap
- 使用“操作类型”列表选择操作类型。
- 在操作字段中,单击+图标以创建操作。
在“创建身份验证ldap服务器“页面中,选择”服务器IP“单选按钮,取消选中”身份验证“旁边的复选框,输入以下值,然后选择”测试连接”。
名称: LDAP_no_auth
IP地址: 192.168.10.11
基础dn: DC =训练,DC =实验室
管理员: Administrator@training.lab
密码: xxxxx
向下滚动到其他设置部分。使用下拉菜单选择以下选项。
服务器登录名称属性为新建并键入userprincipalname。
- 使用下拉菜单选择登录名称属性为新建并键入userprincipalname。
- 在Otp密码字段中输入“用户参数”,然后单击更多。
输入以下属性。
属性 1=邮件属性 2= objectGUID属性 3= immutableID
- 单击确定。
- 在“创建身份验证策略页上,将表达式设置为真正的,然后单击”创建”。
- 在“创建身份验证策略标签“页上,单击”绑定,然后单击"完成”。
- 在策略绑定页面上,单击绑定。
- 在“身份验证策略“页上,单击”关闭,然后单击"完成”。
注意
身份验证虚拟服务器必须绑定到RFWebUI门户主题。将服务器证书绑定到服务器。服务器IP‘1.2.3.5’ 必须具有相应的 FQDN,即 Otpauth.server.com,供以后使用。
为第二因素otp创建登录架构
- 导航到”安全" > " aaa -应用程序流量" > "虚拟服务器”。选择要编辑的虚拟服务器。
- 向下滚动并选择1 个登录架构。
- 单击添加绑定。
- 在策略绑定部分下,单击+图标以添加策略。
- 在“创建身份验证登录架构策略页上,输入名称为otp,然后单击+图标创建配置文件。
- 在“创建身份验证登录架构页上,输入名称为OTP,然后单击noschema旁边的图标。
- 单击LoginSchema文件夹,选择DualAuth.xml,然后单击选择。
- 单击创建。
- 在“规则“部分中,输入”真正的”。单击创建。
- 单击绑定(绑定)。
- 注意身份验证的两个因素。单击关闭并单击完成。
配置用于管理otp的内容交换策略
如果您使用的是统一网关,则需要以下配置。
导航到流量管理 > 内容切换 > 策略。选择内容切换策略,右键单击,然后选择”编辑”。
编辑表达式以评估以下或语句,然后单击”确定”:
is_vpn_url | HTTP.REQ.URL.CONTAINS(“manageotp”) |
使用cli配置本机otp
您必须具有以下信息才能配置otp设备管理页面:
- 分配给身份验证虚拟服务器的IP地址
- 与分配的IP对应的FQDN
- 身份验证虚拟服务器的服务器证书
注意
本机OTP仅是基于Web的解决方案。
配置otp设备注册和管理页面
创建身份验证虚拟服务器
> add authentication vserver authvs SSL 1.2.3.5 443 > bind authentication vserver authvs -portaltheme RFWebUI > bind SSL vserver authvs -certkeyname otpauthcert . sh
注意
身份验证虚拟服务器必须绑定到RFWebUI门户主题。必须将服务器证书绑定到服务器。服务器IP‘1.2.3.5’ 必须具有相应的 FQDN,即 Otpauth.server.com,供以后使用。
创建ldap登录操作
add authentication ldapAction
示例:
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 - ldploginname userprincipalname
添加ldap登录的身份验证策略
add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action
通过LoginSchema显示用户界面
在登录时向用户显示用户名字段和密码字段
add authentication loginSchema lschema_single_auth_manage_otp -authenticationSchema "/nsconfig/ loginSchema / loginSchema /SingleAuthManageOTP.xml"
显示设备注册和管理页面
Citrix推荐两种显示设备注册和管理屏幕的方法:URL或主机名。
使用网址
当URL包含" /manageotp "
add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")"动作片lschema_single_auth_manage_otp
bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_url -priority 10 -gotoPriorityExpression结束
使用主机名
当主机名为" alt.server.com "时。
添加认证loginSchemaPolicy lpol_single_auth_manage_otp_by_host -rule "http.req.header("host").eq("alt.server.com")"动作片lschema_single_auth_manage_otp
bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression结束
使用cli配置用户登录页面
您必须具有以下信息才能配置"用户登录"页:
- 负载平衡虚拟服务器的IP地址
- 负载平衡虚拟服务器的相应FQDN
- 负载平衡虚拟服务器的服务器证书
注意
重用现有身份验证虚拟服务器(authvs)进行双重身份验证。
创建负载平衡虚拟服务器
> add lb vserver lbvs_https SSL 1.2.3.162 443 - persistencetype NONE - clttimeout 180 - AuthenticationHost otpauth.server.com - authentication ON - authnvsname authvs > bind SSL vserver lbvs_https -certkeyname lbvs_server_cert . SSL 1.2.3.162
负载平衡中的后端服务表示如下:
> add service iis_backendsso_server_com 1.2.3.210 HTTP 80 > bind lb vserver lbvs_https iis_backendsso_server_com
创建otp密码验证操作
add authentication ldapAction
示例:
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 - ldapoginname 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
通过策略标签创建密码验证系数
为下一个因素创建管理otp流策略标签(第一个因素是ldap登录)
> add authentication loginSchema lschema_noschema -authenticationSchema noschema > add authentication 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
绑定界面流
绑定ldap登录,然后使用身份验证虚拟服务器进行otp验证。
> bind authentication vserver authvs -policy auth_pol_ldap_logon -priority 10 -nextFactor manage_otp_flow_label -gotoPriorityExpression NEXT > bind authentication vserver authvs -policy lpol_dual_factor -priority 30 -gotoPriorityExpression END
将您的设备注册到Citrix ADC
- 导航到您的Citrix ADC FQDN(第一个面向公众的IP),并带有/管理otp后缀。例如,使用用户凭据登录https://otpauth.server.com/manageotp。
单击+图标以添加设备。
- 输入设备名称,然后按转到。屏幕上显示条形码。
- 单击开始设置,然后单击扫描条形码。
将设备相机悬停在qr码上。您可以选择输入 16 位代码。
注意
显示的qr码有效期为3分钟。
扫描成功后,您会看到一个可用于登录的 6 位数时间敏感的代码。
- 要进行测试,请单击qr屏幕上的"完成,然后单击右侧的绿色复选标记。
- 从下拉菜单中选择您的设备,然后输入谷歌身份验证中的代码(必须为蓝色,不是红色),然后单击转到。
- 请确保使用页面右上角的下拉菜单注销。
使用OTP登录到Citrix ADC
- 导航到您的第一个面向公众的URL,然后从谷歌身份验证输入您的OTP进行登录。
对Citrix ADC启动页面进行身份验证。