Citrix ADC

对身份验证的本机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工作流

注意:设备注册可以使用任意数量的因素来完成。单因素(如上图所示)作为一个例子来解释设备注册过程。

下图描绘了通过注册设备验证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注册不仅仅是单个因素身份验证。以下部分可帮助您配置单个和第二因子身份验证。

为第一个因素创建登录架构

  1. 导航到安全AAA >应用流量>登录模式
  2. 轮廓然后点击添加
  3. 创建身份验证登录模式页面,输入lschema_single_auth_manage_otp.的名字字段并单击编辑旁边骗子
  4. 单击LoginSchema文件夹。
  5. 向下滚动选择SingleAuth.xml然后点击选择
  6. 点击创建
  7. 点击政策点击添加
  8. 创建身份验证登录架构策略屏幕,输入以下值。

    名称:lpol_single_auth_manage_otp_by_url.

    简介:从列表中选择lschema_single_auth_manage_otp。

    规则:HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“管理者”)

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

  1. 导航到安全> AAA - 应用程序流量>身份验证虚拟服务器.单击可编辑现有虚拟服务器。有关更多信息,请参见AAA

  2. 单击+旁边的图标登录模式在下面高级设置在右窗格中。
  3. 选择没有登录架构
  4. 单击箭头并选择lpol_single_auth_manage_otp_by_url.政策,请点击选择,然后单击绑定
  5. 向上滚动并选择1验证政策在下面高级认证政策
  6. 右键单击nFactor政策选择编辑装订.右键单击已配置的NFactor策略或参考nFactor创建一个,并选择“编辑绑定”。
  7. 单击箭头下选择Next因素,选择已配置或单击添加创造一个新因素。
  8. 创建身份验证PolicyLabel屏幕,输入以下内容,然后单击继续:

    的名字:管理\u otp\u流量\u标签

    登录模式: Lschema_Int

  9. 身份验证PolicyLabel屏幕上,单击添加创建一个政策。

    为普通LDAP服务器创建策略。

  10. 创建身份验证策略屏幕,输入以下内容:

    的名字: auth_pol_ldap_native_otp

  11. 选择Action类型为LDAP使用动作类型列表。
  12. 行动字段中,单击添加创造一个动作。

    创建第一个启用身份验证的LDAP操作,以便对单个因素使用身份验证。

  13. 创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。

    的名字: ldap_native_otp

    IP地址:192.168.xx.xx.

    基本DN:DC =培训,DC =实验室

    管理员: Administrator@training.lab

    密码:xxxxx

    创建OTP策略。

  14. 创建身份验证策略屏幕,输入以下内容:

    的名字:auth_pol_ldap_otp_action.

  15. 选择Action类型为LDAP使用动作类型列表。
  16. 行动字段中,单击添加创造一个动作。

    创建第二个LDAP操作,使用OTP秘密配置和未检查的身份验证设置OTP身份验证器。

  17. 创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。

    的名字: ldap_otp_action

    IP地址:192.168.xx.xx.

    基本DN:DC =培训,DC =实验室

    管理员: Administrator@training.lab

    密码:xxxxx

  18. 向下滚动到其他设置部分。使用下拉菜单选择以下选项。服务器登录名称属性和类型userprincipalname
  19. 使用下拉菜单进行选择SSO名称属性和类型userprincipalname
  20. 在“用户参数”中输入“UserParameters”OTP的秘密字段并单击更多的
  21. 输入以下属性。

    属性1=邮件属性2= objectGUID属性3=不可变ID

  22. 点击好吧
  23. 创建身份验证策略第页,将表达式设置为真正的然后点击创建
  24. 创建身份验证Policylabel.第页,单击绑定,然后单击完毕。
  25. 策略绑定第页,单击绑定
  26. 身份验证策略第页,单击关闭然后点击完成

    为OTP验证创建OTP。

  27. 创建身份验证策略屏幕,输入以下内容:

    的名字: auth_pol_ldap_otp_verify

  28. 选择Action类型为LDAP使用动作类型列表。
  29. 行动字段中,单击添加创造一个动作。

    创建验证OTP的第三个LDAP操作。

  30. 创建认证LDAP服务器第页,选择服务器IP单选按钮,取消选择旁边的复选框身份验证,输入以下值,并选择测试连接.下面是一个示例配置。

    的名字: ldap_verify_otp

    IP地址:192.168.xx.xx.

    基本DN:DC =培训,DC =实验室

    管理员: Administrator@training.lab

    密码:xxxxx

  31. 向下滚动到其他设置部分。使用下拉菜单选择以下选项。服务器登录名称属性和类型userprincipalname
  32. 使用下拉菜单进行选择SSO名称属性和类型userprincipalname
  33. 在“用户参数”中输入“UserParameters”OTP的秘密字段并单击更多的
  34. 输入以下属性。

    属性1=邮件属性2= objectGUID属性3=不可变ID

  35. 点击好吧
  36. 创建身份验证策略第页,将表达式设置为真正的然后点击创建
  37. 创建身份验证Policylabel.第页,单击绑定,然后单击完毕。
  38. 策略绑定第页,单击绑定
  39. 身份验证策略第页,单击关闭然后点击完成

您可能还没有针对普通LDAP服务器的高级身份验证策略。修改操作类型为“LDAP”。选择您的普通LDAP服务器,即启用了身份验证的服务器。输入true作为表达式。它使用高级策略而不是经典语法。单击Create。

笔记

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

为第二因素OTP创建登录模式

  1. 导航到安全> aaa应用流量>虚拟服务器.选择要编辑的虚拟服务器。
  2. 向下滚动并选择1登录模式
  3. 点击添加绑定
  4. 策略绑定部分中,点击添加添加策略。
  5. 创建身份验证登录架构策略页面,输入名称为OTP,然后单击添加创建配置文件。
  6. 创建身份验证登录模式页面,输入名称为OTP,并单击旁边的铅笔图标骗子
  7. 单击LoginSchema文件夹,选择dualauthmanageotp.xml.,然后单击选择
  8. 点击更多的和向下滚动。
  9. 密码凭据指数字段,输入1.这导致NFactor将用户的密码保存到AAA属性#1中,这可以在稍后在流量策略中使用以单点登录到储库。如果您不这样做,则Citrix Gateway尝试使用密码验证到储存器不起作用。
  10. 点击创建
  11. 规则部分,输入真正的.点击创建
  12. 点击绑定
  13. 请注意身份验证的两个因素。点击关闭然后点击完成

单点登录流量策略

  1. 导航到Citrix网关>策略>流量
  2. 交通概况选项卡,单击添加
  3. 输入OTP的流量配置文件的名称。
  4. 向下滚动,在“SSO密码表达式”框中输入以下信息,单击创建. 在这里,我们使用为第二个因素OTP指定的登录模式密码属性。

    http.REQ.USER.ATTRIBUTE (1)

  5. 交通政策选项卡,单击添加

  6. 的名字字段,输入流策略的名称。

  7. 请求档案字段,选择您创建的流量配置文件。

  8. 在表达式框中,输入真正的.如果您的Citrix Gateway虚拟服务器允许全VPN,请将表达式修改为如下所示。

    http.req.method.eq(post)| http.req.method.eq(get)&&false

  9. 点击创建

配置OTP管理的内容切换策略

如果使用统一网关,需要进行以下配置。

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

  2. 编辑表达式以计算下面的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注册您的设备

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

    网关登录页面

  3. 输入设备名称,然后按.一个条形码出现在屏幕上。
  4. 点击开始安装然后单击扫描条形码
  5. 将设备摄像头悬停在二维码上方。您可以选择输入16位代码。

    二维码

    笔记:显示的QR码有效3分钟。

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

    登录成功消息

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

通过OTP方式登录Citrix ADC

  1. 导航到您的第一个面向公众的URL,并从Google Authenticator输入您的OTP以登录。
  2. 认证到Citrix ADC启动页面。

    ADC验证页