Citrix网关

网关认证的nFactor

nFactor身份验证为身份验证提供了全新的可能性。在为虚拟服务器配置身份验证因素时,使用nFactor的管理员可以享受身份验证、授权和审核(Citrix ADC AAA)的灵活性。

两个政策银行或两个因素不再限制一个管理人。政策性银行的数量可以扩大,以满足不同的需求。基于前面的因素,nFactor确定了一种身份验证方法。使用nFactor可以实现动态登录表单和故障处理。

注意:

Citrix ADC标准版不支持nFactor。Citrix ADC Enterprise Edition和Citrix ADC Platinum Edition均支持此功能。

用例

nFactor认证是指基于用户配置文件的动态认证流程。有时,这些可能是简单的流程,以便用户直观地理解。在其他情况下,它们可以与保护活动目录或其他身份验证服务器相结合。以下是Gateway特有的一些要求:

  1. 动态用户名和密码选择。传统上,Citrix客户端(包括浏览器和接收器)使用active directory(AD)密码作为第一个密码字段。第二个密码是为一次性密码(OTP)保留的。然而,为了保护AD服务器,需要首先验证OTP。nFactor可以做到这一点,而无需客户端修改。

  2. 多租户身份验证端点.一些组织为证书和非证书用户使用不同的网关服务器。用户使用自己的设备登录时,用户的访问级别在Citrix ADC设备上根据所使用的设备而不同。网关可以满足不同的身份验证需求。

  3. 基于组成员身份的身份验证.有些组织从AD服务器获取用户属性以确定身份验证需求。不同用户的身份验证需求可能不同。

  4. 认证共同因素.有时,使用不同的身份验证策略对验证不同的用户集。提供pair策略可以提高有效的身份验证。依赖策略可以从一个流中制定。这样,独立的策略集就变成了它们自己的流程,提高了效率,降低了复杂性。

身份验证响应处理

Citrix网关回调寄存器处理身份验证响应。AAAD(身份验证守护进程)响应和成功/失败/错误/对话代码被馈送到回调句柄。成功/失败/错误/对话代码指示网关采取适当的措施。

客户端支持

配置详细信息如下表所示。

客户 nFactor支持 身份验证策略绑定点 环境保护署
浏览器 认证
Citrix工作区应用 VPN
网关插件 VPN

注意:

  • 从12.1 build 49.37开始,Citrix Gateway插件就支持nFactor身份验证。

  • Citrix Workspace应用程序支持以下版本的操作系统的nFactor身份验证。

    • 视窗4.12
    • Linux 13.10
    • Mac 1808
    • iOS 2007
    • 安卓1808
    • HTML5:通过商店Web支持
    • Chrome:通过商店Web支持

命令行配置

网关虚拟服务器需要一个以属性命名的认证虚拟服务器。这是该模型所需的唯一配置。

添加authnProfile  -authnVsName  

authnVsName是认证虚拟服务器的名称。该虚拟服务器必须配置高级认证策略,用于nFactor认证。

添加vpn vserver-authnProfile设置vpn vserver-authnProfile<--需要复制-->

其中authnProfile是前面创建的身份验证配置文件。

互操作挑战

大多数传统网关客户端和rfWeb客户端都是基于网关发送的响应建模的。例如,许多客户端都需要对/vpn/index.html的302响应。此外,这些客户端依赖于各种网关cookie,例如pwcount“NSC\U证书”等等

终点分析(EPA)

Citrix ADC认证、授权和审计模块不支持nFactor中的EPA。因此,Citrix Gateway虚拟服务器执行EPA。在EPA之后,使用前面提到的API将登录凭据发送到身份验证虚拟服务器。一旦身份验证完成,Gateway将继续进行后身份验证过程,并建立用户会话。

错误配置注意事项

网关客户端只发送一次用户凭据。网关通过登录请求从客户端获取一个或两个凭据。在传统模式中,最多有两个因素。获得的密码用于这些因素。但是,使用nFactor,可以配置的因素数量实际上是无限的。从网关客户端获得的密码将(根据配置)重新用于已配置的因素。必须注意一次性密码(OTP)不得重复使用多次。同样,管理员必须确保在某个因子上重用的密码确实适用于该因子。

定义Citrix客户端

提供配置选项是为了帮助Citrix ADC确定浏览器客户端和厚重客户端(如Receiver)。

为管理员提供了一个模式集ns_vpn_client_useragents,以便为所有Citrix客户端配置模式。

同样,将“Citrix Receiver”字符串绑定到上面帕塞特忽略用户代理中具有“Citrix接收器”的所有Citrix客户端。

网关的限制因素

如果存在以下条件,则不会发生网关身份验证的nFactor。

  1. authnProfile未设置在Citrix Gateway。

  2. 高级身份验证策略未绑定到身份验证虚拟服务器,并且在authnProfile中提到了相同的身份验证虚拟服务器。

  3. HTTP请求中的用户代理字符串与中配置的用户代理匹配patset ns_vpn_client_useragents

如果不满足这些条件,则使用绑定到Gateway的经典身份验证策略。

如果用户代理(User-Agent)或其部分绑定到前面提到的帕塞特,来自这些用户代理的请求不参与nFactor流。例如,以下命令限制所有浏览器的配置(假设所有浏览器的用户代理字符串中都包含“Mozilla”):

绑定patset ns_vpn_client_useragents Mozilla 

罗根谢马

LoginSchema是登录表单的逻辑表示。XML语言定义了它。loginSchema的语法符合Citrix的公共表单协议规范。

LoginSchema定义了产品的“视图”。管理员可以提供表单的自定义描述、辅助文本等。这包括表单本身的标签。客户可以提供成功或失败消息,描述在给定点呈现的表单。

需要逻辑架构和nFactor知识

预构建的loginSchema文件可以在以下Citrix ADC位置/nsconfig/ loginSchema / loginSchema中找到。这些预构建的loginSchema文件迎合了常见的用例,如果有必要,可以对其进行细微的修改。

而且,大多数具有很少定制的单因素用例不需要登录模式配置。

建议管理员查看Citrix产品文档,以了解其他配置选项,从而使Citrix ADC能够发现这些因素。一旦用户提交凭据,管理员可以配置多个因素,以灵活地选择和处理身份验证因素。

不使用LoginSchema配置双因素身份验证

Citrix ADC根据配置自动确定双因素需求。一旦用户提供这些凭据,管理员就可以在虚拟服务器上配置第一组策略。对于每个策略,都可以配置一个“nextFactor”作为“pass”。“直通”意味着Citrix ADC设备必须使用现有的凭据集处理登录,而不传递给用户。通过使用“直通”因子,管理员可以以编程方式驱动身份验证流。建议管理员阅读nFactor规范或部署指南以了解更多细节。看到https://docs.citrix.com/en-us/netscaler/12-1/aaa-tm/multi-factor-nfactor-authentication.html

用户名密码表达式

要处理登录凭据,管理员必须配置loginSchema。具有很少loginSchema自定义的单因素或双因素用例不需要指定的XML定义。LoginSchema还有其他属性,如userExpression和passwdExpression,它们可用于更改用户显示的用户名或密码。这些是高级策略表达式,也可以用于覆盖用户输入。

nFactor配置中的高级步骤

下图说明了nFactor配置中涉及的高级步骤。

nFactor工作流

图形用户界面配置

本节介绍了以下主题:

  • 创建虚拟服务器

  • 创建认证虚拟服务器

  • 创建身份验证证书配置文件

  • 创建认证策略

  • 添加LDAP身份验证服务器

  • 添加LDAP身份验证策略

  • 添加RADIUS认证服务器

  • 添加RADIUS认证策略

  • 创建身份验证登录模式

  • 创建策略标签

创建虚拟服务器

  1. 引导到Citrix网关->虚拟服务器。

    虚拟服务器页面

  2. 点击添加按钮创建网关虚拟服务器。

    添加虚拟服务器

  3. 输入以下信息。

    参数名 参数描述
    输入虚拟服务器的名称。 Citrix网关虚拟服务器的名称。必须以ASCII字母或下划线(#)字符开头,并且只能包含ASCII字母数字、下划线、哈希(#)、句点()、空格、冒号(:)、at(@)、等于(=)和连字符(-)。可以在创建虚拟服务器后更改。以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的服务器”或“我的服务器”)。
    输入虚拟服务器的IP地址类型 从下拉菜单中选择IP地址或不可寻址选项。
    输入虚拟服务器的IP地址。 互联网协议地址(IP地址)是分配给参与使用互联网协议进行通信的计算机网络的每个设备的数字标签。
    输入虚拟服务器的端口号。 输入端口号。
    输入身份验证配置文件。 虚拟服务器上的认证配置文件实体。此实体可用于将身份验证卸载到Citrix ADC AAA虚拟服务器,以进行多因素(nFactor)身份验证
    输入RDP服务器配置文件。 与虚拟服务器关联的RDP服务器配置文件的名称。
    输入“最大用户”。 此虚拟服务器上允许的最大并发用户会话数。允许登录该虚拟服务器的实际用户数取决于用户许可证总数。
    输入最大登录次数。 登录尝试的最大次数。
    输入失败的登录超时。 当用户超过最大允许的尝试次数时,帐户被锁定的分钟数。
    进入Windows EPA插件升级。 为Win设置插件升级行为的选项。
    进入Linux EPA插件升级。 设置Linux插件升级行为的选项。
    输入MAC EPA插件升级 选项设置Mac的插件升级行为。
    登录一次 此选项启用/禁用此虚拟服务器的无缝SSO。
    ICA只 当设置为ON时,它意味着基本模式,用户可以使用Citrix Workspace应用程序或浏览器登录,并访问在Citrix虚拟应用程序和桌面环境中配置的已发布应用程序Wihome参数。不允许用户使用Citrix Gateway插件进行连接,也无法配置端点扫描。该模式下,用户登录和访问应用的数量不受license限制。—“OFF”为“SmartAccess”模式,用户可以通过“Citrix Workspace”app、浏览器或“Citrix Gateway”插件登录。管理员可以配置终端扫描在客户端系统上运行,然后使用结果控制对已发布应用程序的访问。在此模式下,客户端可以通过其他客户端方式(VPN、无客户端VPN)连接网关。该模式下,CCU的license会限制登录和访问资源的用户数量。
    启用身份验证 需要对连接Citrix Gateway的用户进行认证。
    双跳 在双跳配置中使用Citrix网关设备。双跳部署通过使用三个防火墙将DMZ分为两个阶段,为内部网络提供了额外的安全层。这样的部署可以在DMZ中有一个设备,在安全网络中有一个设备。
    向下状态冲洗 当虚拟服务器标记为DOWN时关闭现有连接,这意味着服务器可能已经超时。断开现有连接可以释放资源,在某些情况下还可以加快重载负载平衡设置的恢复。在连接被标记为DOWN时可以安全地关闭的服务器上启用此设置。不要在必须完成事务的服务器上启用DOWN状态刷新。
    DTLS 该选项启动/停止虚拟服务器上的turn服务
    演示applow日志 记录包含标准NetFlow或IPFIX信息的AppFlow记录,例如流开始和结束的时间戳、数据包计数和字节计数。还记录包含应用程序级信息的记录,例如HTTP web地址、HTTP请求方法和响应状态代码、服务器响应时间和延迟。
    ICA代理会话迁移 此选项确定当用户从其他设备登录时是否传输现有的ICA代理会话。
    状态 虚拟服务器的当前状态,如上、下、忙等。
    启用设备证书 指示作为EPA一部分的设备证书检查是打开还是关闭。

    基本设置

  4. 选择没有服务器证书页面的一部分。

    单击“无服务器证书”

  5. 单击>选择服务器证书。

    选择服务器证书

  6. 选择SSL证书并单击选择按钮。

    选择SSL证书

  7. 点击绑定

    绑定

  8. 如果你看到一个关于没有可用的密码,点击好吧

    绑定证书

  9. 点击持续按钮。

    持续

  10. 在“身份验证”部分中,单击+右上角的图标。

    单击展开按钮

创建认证虚拟服务器

  1. 引导到安全->AAA–应用程序流量->虚拟服务器。

    虚拟塞维页面

  2. 点击添加按钮。

    添加虚拟服务器

  3. 完成以下基本设置以创建身份验证虚拟服务器。

    注意:设置名称右侧的“*”为必填字段。

    • 进入名称用于新的身份验证虚拟服务器。

    • 进入IP地址类型.“IP地址类型”可配置为“不可寻址”。

    • 进入IP地址. IP地址可以是零。

    • 进入协议验证虚拟服务器的类型。

    • 进入TCP端口虚拟服务器在其上接受连接。

    • 进入领域认证虚拟服务器设置的认证cookie的。

  4. 点击好吧

    基本设置

  5. 点击没有服务器证书

    单击“无服务器证书”

  6. 从列表中选择所需的服务器证书。

    选择服务器证书

  7. 选择所需的SSL证书并单击选择按钮。

    笔记: Authentication虚拟服务器不需要绑定证书。

    选择SSL证书

  8. 配置服务器证书绑定

    • 检查SNI服务器证书框绑定用于SNI处理的一个或多个Cert密钥。

    • 点击绑定按钮。

    绑定证书

创建身份验证证书配置文件

  1. 引导到安全—> AAA—应用流量—>策略—>认证—>基本策略—> CERT。

    证书页面

  2. 选择Profiles选项卡,然后选择添加

    将配置文件添加到证书

  3. 填写以下字段以创建身份验证证书配置文件。设置名称右侧的*符号表示必填字段。

    • 名称-客户端证书身份验证服务器配置文件(操作)的名称。

    • 两个因素–在这种情况下,双因素身份验证选项是NOOP。

    • 用户名字段–输入从中提取用户名的客户端证书字段。必须设置为“主题”或“发行人”(包括两组双引号)。

    • 组名字段-输入从中提取组的客户端证书字段。必须设置为“主题”或“发行人”(包括两组双引号)。

    • 默认身份验证组-除了提取的组之外,这是身份验证成功时选择的默认组。

  4. 点击创建

    创建证书配置文件

创建认证策略

  1. 引导到安全->AAA–应用程序流量->策略->身份验证->高级策略->策略。

    政策页面

  2. 选择添加按钮

    添加策略

  3. 完成以下信息创建认证策略。设置名称右侧的“*”为必填字段。

    一)名称–输入高级身份验证策略的名称。必须以字母、数字或下划线字符(35;)开头,并且只能包含字母、数字和连字符(-)、句点(.)磅(#)、空格()、at@)、等于(=)、冒号(:)和下划线字符。无法在创建身份验证策略后更改。

    以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的身份验证策略”或“我的身份验证策略”)。

    (b)动作类型—输入认证动作类型。

    (c)行动-输入匹配的认证动作名称。

    (d)日志操作-输入当请求与此策略匹配时要使用的消息日志操作的名称。

    (e)表达式—输入Citrix ADC命名规则的名称或默认语法表达式,该策略使用该名称来确定是否尝试使用AUTHENTICATION服务器对用户进行身份验证。

    (f)评论–输入任何注释以保留有关此策略的信息。

  4. 点击创建

    创建策略

添加LDAP身份验证服务器

  1. 引导到安全—> AAA—应用流量—>策略—>认证—>基本策略—> LDAP。

    LDAP服务器页面

  2. 通过选择服务器选项卡并选择添加按钮。

    添加LDAP服务器

添加LDAP认证策略

  1. 引导到安全->AAA–应用程序流量->策略->身份验证->高级策略->策略。

    “添加LDAP策略”界面

  2. 点击添加添加认证策略。

    添加LDAP策略

  3. 完成以下信息创建认证策略。设置名称右侧的“*”为必填字段。

    一)名称-高级身份验证策略的名称。必须以字母、数字或下划线字符(35;)开头,并且只能包含字母、数字和连字符(-)、句点(.)磅(#)、空格()、at@)、等于(=)、冒号(:)和下划线字符。无法在创建身份验证策略后更改。

    以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的身份验证策略”或“我的身份验证策略”)。

    (b)动作类型-身份验证操作的类型。

    (c)行动—匹配时的认证动作名称。

    (d)日志操作-当请求匹配此策略时使用的消息日志动作的名称。

    (e)表达式-策略用于确定是否尝试使用身份验证服务器对用户进行身份验证的Citrix ADC命名规则的名称或默认语法表达式。

    (f)评论-保留有关此策略信息的任何注释。

  4. 点击创建

    创建LDAP策略

新建RADIUS认证服务器

  1. 引导到安全—> AAA—应用流量—>策略—>认证—>基本策略—> RADIUS。

    半径页

  2. 要添加服务器,请选择服务器选项卡并选择添加按钮。

    添加RADIUS服务器

  3. 输入以下命令,创建认证RADIUS服务器。设置名称右侧的“*”为必填字段。

    a) 输入名称为RADIUS动作。

    b) 进入服务器名称服务器IP分配给RADIUS服务器的地址。

    c) 进入港口城市RADIUS服务器监听连接的号码。

    d) 进入暂停值在几秒钟内。这是Citrix ADC设备等待RADIUS服务器响应的值。

    e)进入秘密密钥在RADIUS服务器和Citrix ADC设备之间共享。Secret Key是允许Citrix ADC设备与RADIUS服务器通信所必需的。

    (f)确认秘钥

  4. 点击创建

    创建RADIUS服务器

添加RADIUS认证策略

  1. 引导到安全->AAA–应用程序流量->策略->身份验证->高级策略->策略。

    政策页面

  2. 点击添加创建身份验证策略。

    添加策略

  3. 完成以下信息以创建认证策略。设置名称右侧的“*”为必填字段。

    一)名称-高级身份验证策略的名称。必须以字母、数字或下划线字符(35;)开头,并且只能包含字母、数字和连字符(-)、句点(.)磅(#)、空格()、at@)、等于(=)、冒号(:)和下划线字符。无法在创建身份验证策略后更改。

    以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的身份验证策略”或“我的身份验证策略”)。

    (b)动作类型-身份验证操作的类型。

    (c)行动—匹配时的认证动作名称。

    (d)日志操作-当请求匹配此策略时使用的消息日志动作的名称。

    (e)表达式-策略用于确定是否尝试使用身份验证服务器对用户进行身份验证的Citrix ADC命名规则的名称或默认语法表达式。

    (f)评论-保留有关此策略信息的任何注释。

  4. 点击好吧

    创建政策1

  5. 验证是否列出了身份验证策略。

    创建政策2

创建身份验证登录模式

  1. 引导到安全->AAA–应用程序流量->登录模式。

    登录模式页面

  2. 选择Profiles选项卡并单击添加按钮。

    添加登录模式

  3. 填写以下字段以创建身份验证登录架构:

    )输入名称-这是新的登录模式的名称。

    b)输入身份验证模式-这是用于读取要发送给登录页面UI的身份验证架构的文件名。根据Citrix Forms身份验证协议,该文件必须包含元素的xml定义,才能呈现登录表单。如果管理员不想提示用户输入其他凭据,而是继续使用以前获得的凭据,则诺斯切马可以作为论点给出。这仅适用于与用户定义的因素一起使用的LoginSchema,而不适用于虚拟服务器因素

    c)输入用户表达—登录时提取用户名的表达式

    d) 进入密码表达式-这是登录时提取密码的表达式

    e) 进入用户凭证指数-这是用户输入的用户名必须存储在会话中的索引。

    f)输入密码凭证索引-这是用户输入的密码必须存储在会话中的索引。

    g) 进入认证强度-这是当前身份验证的权重。

  4. 点击创建

    创建登录模式

    1. 验证是否列出了登录模式概要文件。

    验证登录模式配置文件

创建策略标签

策略标签指定特定因素的身份验证策略。每个策略标签对应一个单一因素。策略标签指定必须呈现给用户的登录表单。策略标签必须绑定为身份验证策略或其他身份验证策略标签的下一个因素。通常,策略标签包括特定身份验证机制的身份验证策略。但是,您也可以有一个策略标签,其中包含针对不同身份验证机制的身份验证策略。

  1. 引导到安全—> AAA—应用流量—>策略—>认证—>高级策略—>策略标签。

    政策的标签页

  2. 点击添加按钮。

    添加策略标签

  3. 完成以下字段创建认证策略标签:

    a) 进入名称用于新认证策略标签。

    b) 进入登录模式与认证策略标签关联。

    c) 点击持续

    选择登录模式

  4. 选择一个政策从下拉菜单中。

    选择政策

  5. 选择所需的身份验证策略并单击选择按钮。

    选择自动策略

  6. 填写以下字段:

    a) 进入优先事项策略绑定的。

    b) 进入转到表达式—该表达式指定当前策略规则计算为TRUE时将计算的下一个策略的优先级。

    添加表情

  7. 选择需要的认证策略,单击选择按钮。

    选择身份验证策略

  8. 点击绑定按钮。

    结合政策

  9. 点击多恩

    单击create

  10. 检查认证策略标签。

    查看身份验证策略标签