Citrix ADC

为基本、摘要和 NTLM 身份验证启用 SSO

从 Citrix ADC 功能版本 12.1 Build 60.16 及更高版本、13.0 Build 64.35 及更高版本中,以下 SSO 类型在全局禁用。

  • 基本认证
  • 摘要访问身份验证
  • NTLM 没有谈判 NTLM2 密钥或协商标志

Citrix ADC 和 Citrix Gateway 中的单点登录 (SSO) 配置可以在全局级别以及按流量级别启用。默认情况下,SSO 配置为,管理员可以按流量或全局启用 SSO。从安全角度来看,Citrix 建议管理员全局 SSO 并按流量启用。此增强功能是通过全局禁用某些类型的 SSO 方法来提高 SSO 配置的安全性。

StoreFront SSO 配置仅对 13.0 Build 64.35 产生影响(禁用)。在未来的 13.0 版本中,配置不会受到影响。

未受影响的 SSO 类型

以下 SSO 类型不受此增强的影响。

  • Kerberos 身份验证
  • SAML 身份验证
  • 基于表单的身份验证
  • OAuth 持有者身份验证
  • NTLM 与谈判 NTLM2 密钥或谈判标志

受影响的 SSO 配置

以下是受影响(禁用)SSO 配置。

全局配置

set tmsessionparam -SSO ON
set vpnparameter -SSO ON
add tmsessionaction tm_act -SSO ON
add vpn sessionaction tm_act -SSO ON

您可以作为一个整体启用/禁用 SSO,而且不能修改单个 SSO 类型。

应用的安全措施

作为安全措施的一部分,在全局配置中禁用安全敏感的 SSO 类型,但只能通过流量操作配置允许。 因此,如果后端服务器期望没有协商 NTLM2 密钥或协商签名的基本、摘要或 NTLM,管理员只能通过以下配置允许 SSO。

流量操作

add vpn trafficaction tf_act  http -SSO ON
add tm trafficaction tf_act -SSO ON

流量策略

add tm trafficpolicy <name> <rule> tf_act
add vpn trafficpolicy <name> <rule> tf-act

管理员必须为流量策略配置适当的规则,以确保仅为受信任的后端服务器启用 SSO。

AAA-TM

基于全局配置的场景:

set tmsessionparam -SSO ON

解决方法:

add tm trafficaction tf_act -SSO ON
add tm trafficpolicy tf_pol true tf_act

将以下流量策略绑定到需要 SSO 的所有 LB 虚拟服务器:

bind lb vserver <LB VS Name> -policy tf_pol -priority 65345

基于会话策略配置的场景:

add tmsessionaction tm_act -SSO ON
add tmsession policy <name> <rule> tm_act
add tm trafficaction tf_act -SSO ON
add tm trafficpolicy tf_pol <same rule as session Policy> tf_act

需要注意的要点:

  • 必须将之前会话策略的 Citrix ADC AAA 用户/组替换为流量策略。
  • 将以下策略绑定到上一会话策略的负载平衡虚拟服务器, bind lb vserver [LB VS Name] -policy tf_pol -priority 65345
  • 如果配置了具有其他优先级的流量策略,则前面的命令不起作用。

以下部分介绍基于与流量关联的多个流量策略冲突的场景:

对于特定的 TM 流量,只应用一个 TM 流量策略。由于 SSO 功能更改的全局设置,在已应用具有高优先级的 TM 流量策略(不需要 SSO 配置)的情况下,应用额外低优先级的 TM 流量策略可能不适用。以下部分介绍了确保处理此类案例的方法。

考虑以下三个优先级较高的流量策略适用于负载平衡 (LB) 虚拟服务器:

add tm trafficaction tf_act1 <Addition config>
add tm trafficaction tf_act2 <Addition config>
add tm trafficaction tf_act3 <Addition config>

add tm trafficpolicy tf_pol1 <rule1> tf_act1
add tm trafficpolicy tf_pol2 <rule2> tf_act2
add tm trafficpolicy tf_pol3 <rule3> tf_act3

bind lb vserver <LB VS Name> -policy tf_pol1 -priority 100
bind lb vserver <LB VS Name> -policy tf_pol2 -priority 200
bind lb vserver <LB VS Name> -policy tf_pol3 -priority 300

容易出错的方法-要解析全局 SSO 配置,请添加以下配置:

add tm trafficaction tf_act_default -SSO ON
add tm trafficpolicy tf_pol_default true tf_act_default

bind lb vserver <LB VS Name> -policy tf_pol_default -priority 65345

注意: 上述修改可能会中断点击流量的 SSO <tf_pol1/tf_pol2/tf_pol3>,因为这些流量不适用流量策略 <tf_pol_default> 。

正确的方法-为了缓解这种情况,必须为每个相应的流量操作单独应用 SSO 属性:

例如,在前面的场景中,为了使点击 tf_pol1/tf_pol3 的流量发生 SSO,必须应用以下配置 <tf_pol_default>。

add tm trafficaction tf_act1 <Addition config> -SSO ON
add tm trafficaction tf_act3 <Addition config> -SSO ON

Citrix Gateway 案例

基于全局配置的场景:

set vpnparameter -SSO ON

解决方法:

add vpn trafficaction vpn_tf_act http  -SSO ON
add vpn trafficpolicy vpn_tf_pol  true vpn_tf_act

将以下流量策略绑定到所有需要 SSO 的 VPN 虚拟服务器:

bind vpn vserver vpn_vs -policy vpn_tf_pol -priority 65345

基于会话策略配置的场景:

add vpn sessionaction vpn_sess_act -SSO ON
add vpnsession policy <name> <rule> vpn_sess_act

注意事项:

  • 必须将之前会话策略的 Citrix ADC AAA 用户/组替换为流量策略。

  • 将上一会话策略的以下策略绑定到 LB 虚拟服务器 bind lb virtual server [LB VS Name] -policy tf_pol -priority 65345

  • 如果配置了具有其他优先级的流量策略,则前面的命令不起作用。以下部分介绍基于与流量关联的多个流量策略冲突的场景。

基于与流量关联的多个流量策略冲突的功能场景:

对于特定 Citrix Gateway 流量,只应用一个 VPN 流量策略。由于 SSO 功能的全局设置更改,如果存在其他具有高优先级且没有所需 SSO 配置的高优先级的 VPN 流量策略,则应用额外的低优先级 VPN 流量策略可能不适用。

以下部分介绍了确保处理此类案例的方法:

考虑一下,对 VPN 虚拟服务器应用了三个具有更高优先级的流量策略:

add vpn trafficaction tf_act1 <Addition config>
add vpn trafficaction tf_act2 <Addition config>
add vpn trafficaction tf_act3 <Addition config>

add vpn trafficpolicy tf_pol1 <rule1> tf_act1
add vpn trafficpolicy tf_pol2 <rule2> tf_act2
add vpn trafficpolicy tf_pol3 <rule3> tf_act3

bind vpn vserver <VPN VS Name> -policy tf_pol1 -priority 100
bind vpn vserver <VPN VS Name> -policy tf_pol2 -priority 200
bind vpn vserver <VPN VS Name> -policy tf_pol3 -priority 300

容易出错的方法: 要解析全局 SSO 配置,请添加以下配置:

add vpn trafficaction tf_act_default -SSO ON
add vpn trafficpolicy tf_pol_default true tf_act_default

bind vpn vserver <VPN VS Name> -policy tf_pol_default -priority 65345

注意: 上述修改可能会中断命中流量的 SSO 和 <tf_pol1/tf_pol2/tf_pol3> 这些流量一样,流量策略 <tf_pol_default> 不适用。

正确的方法: 为了缓解这种情况,必须为每个相应的流量操作单独应用 SSO 属性。

例如,在前面的场景中,为了使通信流量达到 tf_pol1/tf_pol3 时发生 SSO,必须应用以下配置 <tf_pol_default>。

add vpn trafficaction tf_act1 [Additional config] -SSO ON

add vpn trafficaction tf_act3 [Additional config] -SSO ON

使用 GUI 配置 SSO

  1. 导航到 安全 > AAA — 应用程序流量 > 策略 > 会话,选择会 话配置文件 选项卡,然后单击 添加

    tm session action

  2. 输入会话配置文件的名称,单击单点登录到 Web 应用程序字段旁边的覆盖全局复选框,然后单击创建

    tm session action

  3. 导航到 安全 > AAA — 应用程序流量 > 策略 > 会话,选择 会话策略 选项卡,然后单击 添加

    tm session action

  4. 输入会话策略的名称,在 表达式 字段中输入 “True”,然后单击 创建

    tm session action

  5. 导航到 安全 > AAA — 应用程序流量 > 策略 > 流量,选择流 量配置文件 选项卡,然后单击 添加

    tm session action

  6. 输入流量配置文件的名称,在单点登录下拉菜单中选择,然后单击创建

    tm session action

  7. 导航到 安全 > AAA — 应用程序流量 > 策略 > 流量,选择流量策略 选项卡,然后单击 添加

    tm session action

  8. 输入流量策略的名称,在 表达式 字段中输入 “True”,然后单击 创建

    tm session action

  9. 导航到 Citrix Gateway > 全局设置,然后单击 更改全局设置

    tm session action

  10. 全局 Citrix Gateway 设置页面上,选择客户端体验选项卡,然后选中单点登录到 Web 应用程序字段。

    tm session action

  11. 导航到 Citrix Gateway > 策略 > 会话,选择会话配置文件 选项卡,然后单击 添加

    tm session action

  12. 创建 Citrix Gateway 会话配置文件页面上,选择客户端体验选项卡,然后选中单点登录 Web 应用程序字段。

    tm session action

  13. 导航到 Citrix Gateway > 策略 > 流量,选择 流量配置文件 选项卡,然后单击 添加

    tm session action

  14. 输入流量配置文件的名称,在单点登录下拉菜单中选择,然后单击创建

    tm session action

  15. 导航到 Citrix Gateway > 策略 > 流量,选择流量策略 选项卡,然后单击 添加

    tm session action

  16. 创建 Citrix Gateway 流量策略 页面上,输入流量策略的名称,在 表达式 字段中输入 “True”,然后单击 创建

    tm session action

为基本、摘要和 NTLM 身份验证启用 SSO