Citrix网关

本机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注册不仅仅是单一因素身份验证。以下部分帮助您配置单因素和第二因素身份验证。

为第一因素创建登录架构

  1. 导航到安全aaa >应用程序流量>登录架构
  2. 转到配置文件,然后单击添加
  3. 创建身份验证登录架构页上,在名称字段下输入lschema_first_factor,然后单击noschema旁边的编辑
  4. 单击LoginSchema文件夹。
  5. 向下滚动以选择SingleAuth.xml,然后单击选择
  6. 单击创建
  7. 单击策略,然后单击添加
  8. 在“创建身份验证登录架构策略屏幕上,输入以下值。

    名称:lschema_first_factor配置文件:从列表中选择schema_first_factor。规则:HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”)

配置身份验证、授权和审核虚拟服务器

  1. 导航到安全> aaa -应用程序流量>身份验证虚拟服务器。单击以编辑现有虚拟服务器。
  2. 单击右侧窗格的”高级设置“下登录架构旁边的+图标。
  3. 选择无登录架构
  4. 单击箭头并选择lschema_第一因子策略。
  5. 选择”优先因子”策略,然后单击”选择”。
  6. 点击绑定
  7. 向上滚动并在高级 **身份验证策略下选择 1个身份验证策略** 。
  8. 右键单击nFactor策略,然后选择编辑绑定
  9. 单击”选择下一个因子"下的"+图标,创建下一个因子,然后单击”绑定”。
  10. 在“创建身份验证策略标签“屏幕上,输入以下内容,然后单击”继续”:

    名称: otp管理因素

    登录架构: Lschema_Int

  11. 身份验证策略标签屏幕上,单击+图标以创建策略。

  12. 在“创建身份验证策略屏幕上,输入以下内容:

    名称。otp_manage_ldap

  13. 使用“操作类型”列表选择操作类型
  14. 操作字段中,单击+图标以创建操作。
  15. 在“创建身份验证ldap服务器“页面中,选择”服务器IP“单选按钮,取消选中”身份验证“旁边的复选框,输入以下值,然后选择”测试连接”。

    名称: LDAP_no_auth

    IP地址: 192.168.10.11

    基础dn: DC =训练,DC =实验室

    管理员: Administrator@training.lab

    密码: xxxxx

  16. 向下滚动到其他设置部分。使用下拉菜单选择以下选项。

    服务器登录名称属性新建并键入userprincipalname

  17. 使用下拉菜单选择登录名称属性新建并键入userprincipalname
  18. Otp密码字段中输入“用户参数”,然后单击更多
  19. 输入以下属性。

    属性 1=邮件属性 2= objectGUID属性 3= immutableID

  20. 单击确定
  21. 在“创建身份验证策略页上,将表达式设置为真正的,然后单击”创建”。
  22. 在“创建身份验证策略标签“页上,单击”绑定,然后单击"完成”。
  23. 策略绑定页面上,单击绑定
  24. 在“身份验证策略“页上,单击”关闭,然后单击"完成”。

注意

身份验证虚拟服务器必须绑定到RFWebUI门户主题。将服务器证书绑定到服务器。服务器IP‘1.2.3.5’ 必须具有相应的 FQDN,即 Otpauth.server.com,供以后使用。

为第二因素otp创建登录架构

  1. 导航到”安全" > " aaa -应用程序流量" > "虚拟服务器”。选择要编辑的虚拟服务器。
  2. 向下滚动并选择1 个登录架构
  3. 单击添加绑定
  4. 策略绑定部分下,单击+图标以添加策略。
  5. 在“创建身份验证登录架构策略页上,输入名称为otp,然后单击+图标创建配置文件。
  6. 在“创建身份验证登录架构页上,输入名称为OTP,然后单击noschema旁边的图标。
  7. 单击LoginSchema文件夹,选择DualAuth.xml,然后单击选择
  8. 单击创建
  9. 在“规则“部分中,输入”真正的”。单击创建
  10. 单击绑定(绑定)。
  11. 注意身份验证的两个因素。单击关闭并单击完成

配置用于管理otp的内容交换策略

如果您使用的是统一网关,则需要以下配置。

  1. 导航到流量管理 > 内容切换 > 策略。选择内容切换策略,右键单击,然后选择”编辑”。

  2. 编辑表达式以评估以下或语句,然后单击”确定”:

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 - serverip - serverPort - ldapbase - ldapbinddn - ldapbinddnpassword - ldploginname

示例

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 -serverIP -serverPort -ldapBase -ldapBindDn -ldapBindDnPassword - ldploginname -authentication DISABLED -OTPSecret . add authentication LDAP ACTION NAME> -serverIP -serverPort

示例:

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

  1. 导航到您的Citrix ADC FQDN(第一个面向公众的IP),并带有/管理otp后缀。例如,使用用户凭据登录https://otpauth.server.com/manageotp
  2. 单击+图标以添加设备。

    本地化后的图片

  3. 输入设备名称,然后按转到。屏幕上显示条形码。
  4. 单击开始设置,然后单击扫描条形码
  5. 将设备相机悬停在qr码上。您可以选择输入 16 位代码。

    本地化图像

    注意

    显示的qr码有效期为3分钟。

  6. 扫描成功后,您会看到一个可用于登录的 6 位数时间敏感的代码。

    本地化后的图片

  7. 要进行测试,请单击qr屏幕上的"完成,然后单击右侧的绿色复选标记。
  8. 从下拉菜单中选择您的设备,然后输入谷歌身份验证中的代码(必须为蓝色,不是红色),然后单击转到
  9. 请确保使用页面右上角的下拉菜单注销。

使用OTP登录到Citrix ADC

  1. 导航到您的第一个面向公众的URL,然后从谷歌身份验证输入您的OTP进行登录。
  2. 对Citrix ADC启动页面进行身份验证。

    本地化后的图片