Citrix Gateway

EPA 扫描是 nFactor 身份验证的一个因素

以下是 nFactor EPA 的一些基本实体。

EPA 行动 -EPA 行动是为 nFactor EPA 引入的一种行动类型。它包含以下内容:

  • 客户端安全表达式 — 此表达式被发送到网关 EPA 插件进行评估。
  • 成功组 — 如果配置了此组,如果 EPA 结果为 true,则会继承给网关会话。
  • 隔离组 — 如果配置了此组,如果 EPA 结果为 false,则会继承给网关会话。
  • KillProcess — 这表示 EPA 流程必须终止的进程的名称。
  • DeleteFiles — 指定 EPA 流程必须删除的文件的逗号分隔路径。

在会话期间,可以使用组来确定客户是否满足某些 EPA 条件。 如果在给定因素下,EPA 失败并且最后一个操作不包含 “隔离组”,则终止该用户的身份验证。 如果存在 “隔离组”,则身份验证将继续,管理员可以检查该组是否授予有限访问权限。有关详细信息,请参阅 EPA 执行

EPA 策略 -在 nFactor 中,所有策略都使用相同的语法 “添加身份验证策略” 添加。但是,行动的类型使该策略有资格成为 EPA 策略。

EPA 因子 -EPA 因素是常规策略标签。没有一个名为 EPA 因子的实体。一旦 EPA 策略与某个因素绑定,它就会继承使其成为 EPA 因素的某些属性。 注意:本文档中通常使用术语 “EPA 因素” 来指具有 EPA 策略的因素。

EPA — 隔离 -如果在给定因素下,所有操作中的所有客户端安全表达都失败,并且如果最后一个操作包含 “隔离组”,则会将该组添加到会话中,然后调查 NextFactor。也就是说,尽管失败了,但 “隔离小组” 的存在使会议有资格进入下一阶段。但是,由于继承了特殊组,管理员可以将会话授予受限访问权限或额外的身份验证策略(如 OTP 或 SAML)。

如果上次操作时没有隔离组,则身份验证将在失败时终止。

nFactor 中的 EPA 还使用以下实体:

  • LoginSchema — 登录表单的 XML 表示形式。它定义了登录表单的 “视图”,还具有 “因素” 的属性。
  • 策略标签或策略因素 — 它是在身份验证的给定阶段尝试的策略的集合。
  • 虚拟服务器标签 — 虚拟服务器也是策略标签,也就是说,可以将策略绑定到虚拟服务器。但是,虚拟服务器是各种策略标签的集合,因为它是用户访问的入口点。
  • 下一个因素 — 它用于指定给定身份验证策略成功后要使用的策略标签/因素。
  • NO_AUTHN 策略 — 操作始终成功的特殊策略。
  • 直通因子 — 是登录架构不包含视图的策略标签/因素。这表示 Citrix ADC 设备在没有用户干预的情况下以给定因素继续进行身份验证。

有关更多信息,请参阅 nFactor 概念、实体和术语

EPA Factor 互斥

EPA 因子包含一项或多项 EPA 策略。一旦 EPA 策略绑定到某个因素,则不允许针对该因素使用常规身份验证策略。此限制是为了提供最佳的用户体验和端点分析的干净分离。此规则的唯一例外是 NO_AUTHN 策略。由于 NO_AUTHN 策略是用于模拟 “故障跳跃” 的特殊策略,因此 EPA 因素允许使用该策略。

EPA 执行

在任何给定因素(包括虚拟服务器因素)下,在提供登录表单之前,Citrix ADC 设备会检查是否为 EPA 配置了该因子。如果是这样,它会向客户端 (UI) 发送特定的响应,以便触发 EPA 序列。此序列包括客户端请求客户端安全表达式并发送结果。 一个因子中所有策略的客户端安全表达式会立即发送到客户端。在 Citrix ADC 设备上获得结果后,将按顺序评估所有操作中的每个表达式。导致 EPA 成功的第一个操作将终止该因素,如果配置了 defaultGroup,则会继承到会话中。如果遇到 NO_AUTHN 策略,它将被视为自动成功。如果指定了 nextFactor,则设备将继续使用该因素。否则,身份验证将终止。 此条件也适用于第一个因子。如果在虚拟服务器上的 EPA 之后没有身份验证策略因素,则身份验证将终止。这与传统的策略行为不同,后者始终在 EPA 之后显示用户的登录页面。 但是,如果没有成功的 EPA 策略,Citrix Gateway 将查看为该因素或级联中最后一个 EPA 策略配置的隔离组。如果使用隔离组配置了最后一个策略,则会将该组添加到会话中,并检查 NextFactor。如果存在 NextFactor,则身份验证将继续进行该因素。否则,身份验证将完成。

将定期 EPA 扫描配置为 nFactor 身份验证的一个因素

您可以使用高级策略基础架构将定期 EPA 扫描配置为 nFactor 身份验证的一个因素。 注意: 在传统策略中,定期 EPA 被配置为下的会话策略的一部分 vpn session action。 以下逻辑用作实施 EPA 扫描作为 nFactor 身份验证的一个因素的示例。

nFactor 流程序列中的 EPA

  • 用户尝试连接到 NetScaler Gateway 虚拟 IP。
  • 将向用户呈现一个包含用户名和密码字段的登录页面,以提供登录凭据。使用这些凭据,LDAP 或基于 AD 的身份验证将在后端执行。如果成功,将向用户显示一个弹出窗口以授权 EPA 扫描。
  • 用户授权后,将执行 EPA 扫描,并根据用户客户端设置的成功或失败提供访问权限。
  • 如果扫描成功,则会定期执行 EPA 扫描,以确定配置的安全要求仍然满足。
  • 如果 EPA 扫描在任何此类检查期间失败,则会话将终止。

必备条件

假定以下配置已到位:

  • VPN 虚拟服务器、网关和身份验证虚拟服务器配置
  • LDAP 服务器配置和相关策略。

以下部分捕获所需的策略和策略标签配置,以及策略和策略标签到身份验证配置文件的映射。

nFactor 策略和策略标签映射中的 EPA

逻辑的 CLI 配置

  1. 创建用于执行 EPA 扫描的操作,并将其与 EPA 扫描策略关联。

    add authentication epaAction EPA-client-scan -csecexpr "sys.client_expr("proc_2_firefox")"
    
    add authentication Policy EPA-check -rule true -action EPA-client-scan
    <!--NeedCopy-->
    

    上述表达式会扫描进程 “Firefox” 是否正在运行。EPA 插件每 2 分钟检查一次进程是否存在,由扫描表达式中的数字 “2” 表示。

  2. 配置策略标签 post-ldap-epa-扫描 `,它承载 EPA 扫描的策略。

    add authentication policylabel post-ldap-epa-scan -loginSchema LSCHEMA_INT
    <!--NeedCopy-->
    

    注意: LSCHEMA_INT 是一个没有架构(noschema)的内置架构,这意味着在此步骤中不会向用户显示其他网页。

  3. 将步骤 1 中配置的策略与步骤 2 中配置的策略标签相关联。

    bind authentication policylabel post-ldap-epa-scan -policyName EPA-check -priority 100 -gotoPriorityExpression END
    <!--NeedCopy-->
    

    这样就完成了身份验证机制。

  4. 将其配置 ldap-auth policy 为并将其与配置为向特定 LDAP 服务器进行身份验证的 LDAP 策略关联。

    add authentication Policy ldap-auth -rule true -action ldap_server1
    <!--NeedCopy-->
    

    其中 ldap_server1 是 LDAP 策略, ldap-auth 是策略名称。

  5. 将所有这些组合在一起,关联 ldap-auth policy 到 Citrix ADC AAA 虚拟服务器,下一步指向策略标签 post-ldap-epa-scan 以执行 EPA 扫描。

    bind authentication vserver MFA_AAA_vserver -policy ldap-auth -priority 100 -nextFactor post-ldap-epa-scan -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    

    注意: 在配置为多个因子的周期 EPA 中,将考虑具有周期性 EPA 配置的最新因子。

    在前面的示例中,EPA 是扫描查找过程 “Firefox” 的第一个因素。

    • 如果 EPA 扫描成功,它将导致 LDAP 身份验证,然后进行下一次 EPA 扫描,查找过程 “Chrome”。
    • 如果将多个定期扫描配置为不同的因素,则最新扫描优先。在这种情况下,EPA 插件在成功登录后每 3 分钟扫描一次 “Chrome” 进程。

引用

EPA 扫描是 nFactor 身份验证的一个因素