ADC

启用 SSO 以进行基本、摘要和 NTLM 身份验证

从 NetScaler 功能版本 13.0 build 64.35 及更高版本中,以下 SSO 类型已全局禁用。

  • 基本认证
  • 摘要访问身份验证
  • 没有协商 NTLM2 密钥或协商签名的 NTLM

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

StoreFront SSO 配置仅在 13.0 build 64.35 中受到影响(禁用)。该配置在未来的 13.0 版本中不会受到影响。

未受影响的 SSO 类型

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

  • Kerberos 身份验证
  • SAML 身份验证
  • 基于表单的身份验证
  • OAuth 持有者身份验证
  • 使用协商 NTLM2 密钥或协商签名的 NTLM

影响的 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 密钥或协商签名的 Basic、Digest 或 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

注意点:

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

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

对于特定的 TM 流量,仅应用一个 TM 流量策略。由于 SSO 功能的全局设置发生了变化,如果已经应用了具有高优先级(不需要 SSO 配置)的 TM 流量策略,则应用其他低优先级的 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> 就这些流量而言,流量策略 未应用。

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

例如,在上述情况中,要使通信单击 tf_pol1/tf_pol3 时发生 SSO,必须与以下配置一起应用 .

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

NetScaler 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

注意事项:

  • 必须用流量策略替换前面会话策略的 NetScaler AAA 用户/组。

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

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

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

对于特定的 NetScaler Gateway 流量,仅应用一个 VPN 流量策略。由于 SSO 功能的全局设置发生了变化,如果其他具有高优先级的 VPN 流量策略没有必需的 SSO 配置,则应用具有低优先级的额外 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> 因为这些流量,流量策略 未应用。

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

例如,在前面的情况中,为了使流量击中 tf_pol1/tf_pol3 时发生 SSO,必须与以下配置一起应用 .

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. 导航到 NetScaler Gateway > 全局设置,然后单击 更改全局设置。

    tm session action

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

    tm session action

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

    tm session action

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

    tm session action

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

    tm session action

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

    tm session action

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

    tm session action

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

    tm session action

启用 SSO 以进行基本、摘要和 NTLM 身份验证