Gateway

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

重要:

端点分析旨在根据预先确定的合规性标准分析用户设备,并不强制或验证最终用户设备的安全性。建议使用端点安全系统来保护设备免受本地管理员攻击。

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

EPA 操作: EPA 操作是 nFactor EPA 引入的一种操作类型。它包含以下内容:

  • 客户端设备检查表达式:此表达式被发送到网关 EPA 插件进行评估。
  • 成功组:如果配置了该组,如果 EPA 结果为 True,则该组将继承给网关会话。
  • 隔离组:如果配置了此组,如果 EPA 结果为假,则该组将继承给网关会话。
  • 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. 创建在 LDAP 身份验证之前执行 EPA 扫描的操作,并将其与 EPA 扫描策略相关联。

    add authentication epaAction pre-ldap-epa-action -csecexpr "sys.client_expr ("proc_2_firefox")"
    
    add authentication Policy pre-ldap-epa-pol -rule true -action pre-ldap-epa-action
    <!--NeedCopy-->
    

    前面的表达式会扫描进程“Firefox”是否正在运行。EPA 客户端每 2 分钟检查一次进程是否存在,由扫描表达式中的数字“2”表示。

  2. 配置托管 EPA 扫描策略的策略标签 pre-ldap-epa-label

    add authentication policylabel pre-ldap-epa-label -loginSchema LSCHEMA_INT
    <!--NeedCopy-->
    

    注意:

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

  3. 将步骤 1 中配置的策略与步骤 2 中配置的策略标签相关联。这样就完成了身份验证机制。

    bind authentication policylabel pre-ldap-epa-label -policyName pre-ldap-epa-pol -priority 100 -gotoPriorityExpression END
    <!--NeedCopy-->
    
  4. 配置 LDAP 操作和策略。

    add authentication ldapAction ldap-act -serverIP 10.106.103.60 -ldapBase "dc=cgwsanity,dc=net" -ldapBindDn user1@example.net -ldapBindDnPassword 1.cloud -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName CN -passwdChange ENABLED
    
    add authentication Policy ldap-pol -rule true -action ldap-act
    <!--NeedCopy-->
    
  5. 创建启用 SSO 的登录架构。

    add authentication loginSchema ldap-schema -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuth.xml" -SSOCredentials Yes
    <!--NeedCopy-->
    
  6. 配置策略标签 ldap-pol-label,用于托管 LDAP 身份验证策略。

    add authentication policylabel ldap-pol-label -loginSchema ldap-schema
    <!--NeedCopy-->
    
  7. 将步骤 5 中配置的登录架构绑定到步骤 6 中配置的策略标签。

    bind authentication policylabel ldap-pol-label -policyName ldap-pol -priority 100 -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    
  8. 创建在 LDAP 身份验证后执行 EPA 扫描的操作,并将其与 EPA 扫描策略相关联。

    add authentication epaAction post-ldap-epa-action -csecexpr "sys.client_expr ("proc_2_chrome")"
    
    add authentication Policy post-ldap-epa-pol -rule true -action post-ldap-epa-action
    
    add authentication policylabel post-ldap-epa-label -loginSchema LSCHEMA_INT
    
    bind authentication policylabel post-ldap-epa-label -policyName post-ldap-epa-pol -priority 100 -gotoPriorityExpression
    <!--NeedCopy-->
    
  9. 综上所述,将策略 pre-ldap-epa-pol 关联到身份验证虚拟服务器,下一步指向策略标签 ldap-pol-label 进行 EPA 扫描。

    bind authentication vserver user.auth.test -policy pre-ldap-epa-pol -priority 100 -nextFactor ldap-pol-label -gotoPriorityExpression NEXT
    
    bind authentication policylabel ldap-pol-label -policyName ldap-pol -priority 100 -gotoPriorityExpression NEXT -nextFactor post-ldap-epa-label
    <!--NeedCopy-->
    

注意:

  • 在配置为多个银色的定期 EPA 中,考虑了具有定期 EPA 配置的最新银色。
  • 定期扫描只能使用 EPA 插件运行,不能在浏览器上运行。
  • 在第一个示例中,EPA 是扫描寻找进程“Firefox”的第一个因素。
  • 如果 EPA 扫描成功,则会导致 LDAP 身份验证,然后进行下一次 EPA 扫描,该扫描将查找“Chrome”进程。
  • 如果将多个定期扫描配置为不同的因素,则最新扫描优先。在这种情况下,EPA 插件在成功登录后每 2 分钟扫描一次“Chrome”进程。

在 GUI 上(使用 nFactor 可视化工具)

您可以使用 GUI 上的 nFactor 可视化工具将高级 EPA 扫描配置为一个因素。在以下示例中,我们使用 LDAP 作为第一个因素,将 EPA 用作下一个因素。

  1. 为 nFactor 流创建第一个因素。

    • 导航到 Security(安全)> AAA-Application Traffic(AAA - 应用程序流量)> nFactor Visualizer(nFactor 可视化工具)> nFactor Flows(nFactor 流程),然后单击 Add(添加)。

    • 单击 + 以添加 nFactor 流。
    • 添加因素并单击“创建”。

    nFactor 流程序列中的 EPA

  2. 为第一个因素创建登录架构和策略。

    • 在第一个因素图块上,单击“添加架构”以添加登录架构。您可以从下拉列表中选择现有的身份验证登录架构,也可以创建登录架构。
    • 要创建身份验证登录架构,请单击“添加”。有关身份验证登录架构的详细信息,请参阅配置 nFactor 身份验证

      nFactor 流程序列中的 EPA

    • 单击 添加策略 以添加 LDAP 策略。如果已经创建 LDAP 策略,则可以选择相同的策略。单击添加

      注意:

      如果未创建 LDAP 策略,则可以创建一个。单击“选择策略”下拉列表旁边的“添加”按钮。在“操作”字段中,选择 LDAP。有关添加身份验证 LDAP 服务器的详细信息,请参阅 https://support.citrix.com/article/CTX123782

      nFactor 流程序列中的 EPA

  3. 创建下一个因素并将其连接到第一个因素。

    • 单击绿色或红色的 + 图标,将 EPA 添加为下一个因素。
    • 在“下一个要连接的因素”页面上创建下一个因素。
    • 将“添加架构”部分留空,以使默认的架构不应用于此因素。
  4. 为下一个因素添加策略。

    • 单击“添加策略”以添加身份验证后 EPA 策略和操作。
    • 您可以从现有策略列表中进行选择,也可以创建策略。要从现有策略中进行选择,请从“选择策略”下拉列表中选择一个策略,提供绑定详细信息,然后单击“添加”。
    • 要创建策略,请单击“选择策略”下拉列表旁边的“添加”按钮。

    nFactor 流程序列中的 EPA

  5. nFactor 流程完成后,单击“完成”。

  6. 将 nFactor 流绑定到身份验证服务器。

    • 导航到安全 AAA - 应用程序流量 > nFactor 可视化工具 > nFactor 流
    • 选择 nFactor,然后单击“绑定到身份验证服务器”。

    nFactor 流程序列中的 EPA

引用

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