用于基本、摘要和 NTLM 身份验证的 SSO
Citrix ADC 和 Citrix Gateway 中的单点登录 (SSO) 配置可以在全局级别启用,也可以按流量级别启用。默认情况下,SSO 配置处于 关闭 状态,管理员可以按流量或全局启用 SSO。从安全角度来看,Citrix 建议管理员全局 关闭 SSO 并按流量启用。此增强功能旨在通过在全球范围内丢弃某些类型的 SSO 方法来使 SSO 配置更加安全。
注意:
在 Citrix ADC 功能版本 13.0 Build 64.35 及更高版本中,以下 SSO 类型在全球范围内被拒绝。
- 基本认证
- 摘要访问身份验证
- 没有协商 NTLM2 密钥或协商签名的 NTLM
未受影响的 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
<!--NeedCopy-->
每路流量配置
add vpn trafficaction tf_act http -SSO ON
add tm trafficaction tf_act -SSO ON
<!--NeedCopy-->
您可以作为一个整体启用/禁用 SSO,而且不能修改单个 SSO 类型。
应采取的安全措施
作为安全措施的一部分,对安全敏感的 SSO 类型在全局配置中被拒绝,但只能通过流量操作配置使用。 因此,如果后端服务器需要不使用协商 NTLM2 密钥或协商签名的 Basic、Digest 或 NTLM,则管理员只能通过以下配置允许 SSO。
流量操作
add vpn trafficaction tf_act http -SSO ON
add tm trafficaction tf_act -SSO ON
<!--NeedCopy-->
流量策略
add tm trafficpolicy <name> <rule> tf_act
add vpn trafficpolicy <name> <rule> tf-act
<!--NeedCopy-->
管理员必须为流量策略配置相应的规则,以确保仅为可信后端服务器启用 SSO。
AAA-TM
基于全局配置的场景:
set tmsessionparam -SSO ON
<!--NeedCopy-->
解决方法:
add tm trafficaction tf_act -SSO ON
add tm trafficpolicy tf_pol true tf_act
<!--NeedCopy-->
将以下流量策略绑定到所有需要 SSO 的 LB 虚拟服务器:
bind lb vserver <LB VS Name> -policy tf_pol -priority 65345
<!--NeedCopy-->
基于会话策略配置的场景:
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
<!--NeedCopy-->
注意点:
-
必须将前面会话策略的 Citrix ADC AAA 用户/组替换为流量策略。
-
将以下策略绑定到前面会话策略的负载平衡虚拟服务器,
bind lb vserver [LB VS Name] -policy tf_pol -priority 65345
<!--NeedCopy-->
- 如果配置了具有其他优先级的流量策略,则前面的命令不起作用。
以下部分介绍基于与流量相关的多个流量策略冲突的场景:
对于特定的 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
<!--NeedCopy-->
容易出错的方法-要解析全局 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
<!--NeedCopy-->
注意: 前面的修改可能会中断流量的 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
<!--NeedCopy-->
Citrix Gateway 案例
基于全局配置的场景:
set vpnparameter -SSO ON
<!--NeedCopy-->
解决方法:
add vpn trafficaction vpn_tf_act http -SSO ON
add vpn trafficpolicy vpn_tf_pol true vpn_tf_act
bind the following traffic policy to all VPN virtual server where SSO is expected:
bind vpn vserver vpn_vs -policy vpn_tf_pol -priority 65345
<!--NeedCopy-->
基于会话策略配置的场景:
add vpn sessionaction vpn_sess_act -SSO ON
add vpnsession policy <name> <rule> vpn_sess_act
<!--NeedCopy-->
注意事项:
-
必须将前面会话策略的 Citrix ADC AAA 用户/组替换为流量策略。
-
将以下策略绑定到之前的会话策略
bind lb virtual server [LB VS Name] -policy tf_pol -priority 65345
的 LB 虚拟服务器。 -
如果配置了具有其他优先级的流量策略,则前面的命令不起作用。以下部分介绍基于与流量相关的多个流量策略冲突的场景。
基于与流量相关的多个流量策略冲突的功能场景:
对于特定的 Citrix 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
<!--NeedCopy-->
容易出错的方法: 要解析全局 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
<!--NeedCopy-->
注意: 前面的修改可能会中断流量的 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
<!--NeedCopy-->