SSO for Basic, Digest, and NTLM authentication
Single Sign-On (SSO) configuration in Citrix ADC and Citrix Gateway can be enabled at global level and also per traffic level. By default the SSO configuration isOFFand an administrator can enable the SSO per traffic or globally. From a security point of view, Citrix recommends administrators to turn SSO globallyOFFand enable per traffic basis. This enhancement is to make SSO configuration more secure by dishonoring certain type of SSO methods globally.
Note:
From Citrix ADC feature release 13.0 build 64.35 and above, the following SSO types are dishonored globally.
- Basic authentication
- Digest Access authentication
- NTLM without Negotiate NTLM2 Key or Negotiate Sign
Non-impacted SSO types
The following SSO types are not impacted with this enhancement.
- Kerberos authentication
- SAML authentication
- Form based authentication
- OAuth bearer authentication
- NTLM with Negotiate NTLM2 Key or Negotiate Sign
Impacted SSO configurations
Following are the impacted (dishonored) SSO configurations.
Global configurations
set tmsessionparam -SSO ON set vpnparameter -SSO ON add tmsessionaction tm_act -SSO ON add vpn sessionaction tm_act -SSO ON
Per traffic configurations
add vpn trafficaction tf_act http -SSO ON add tm trafficaction tf_act -SSO ON
You can enable/disable SSO as a whole and cannot modify individual SSO types.
Security measures to be applied
As part of the security measures, security sensitive SSO types are dishonored in the global configuration but are allowed only through a Traffic action configuration. So, if a back-end server expects Basic, Digest, or NTLM without Negotiate NTLM2 Key or Negotiate Sign, the administrator can allow SSO only through the following configuration.
Traffic Action
add vpn trafficaction tf_act http -SSO ON add tm trafficaction tf_act -SSO ON
Traffic Policy
add tm trafficpolicy tf_act add vpn trafficpolicy tf-act
Administrator must have an appropriate rule configured for traffic policy to make sure SSO is enabled for only trusted back-end server.
AAA-TM
Scenarios based on global configuration:
set tmsessionparam -SSO ON
Workaround:
add tm trafficaction tf_act -SSO ON add tm trafficpolicy tf_pol true tf_act
Bind the following traffic policy to all LB virtual server where SSO is expected:
bind lb vserver -policy tf_pol -priority 65345
场景基于会话策略配置:
add tmsessionaction tm_act -SSO ON add tmsession policy tm_act add tm trafficaction tf_act -SSO ON add tm trafficpolicy tf_pol tf_act
Points of note:
Citrix ADC AAA user/group for the preceding session policy must be replaced by traffic policy.
Bind the following policy to the load balancing virtual servers for the preceding session policy,
bind lb vserver [LB VS Name] -policy tf_pol -priority 65345
- 如果交通政策与其他configu优先red, the preceding command does not serve good.
The following section deals with scenarios based on conflict with multiple traffic policies associated with a traffic:
For a particular TM traffic, only one TM traffic policy is applied. Because of global setting of SSO feature changes, applying an additional TM traffic policy with low priority might not be applicable in case a TM traffic policy with high priority (that does not have required SSO configuration) is already applied. The following section describes method to ensure that such cases are handled.
Consider that the following three traffic policies with higher priority are applied to load balancing (LB) virtual server:
add tm trafficaction tf_act1 add tm trafficaction tf_act2 add tm trafficaction tf_act3 add tm trafficpolicy tf_pol1 tf_act1 add tm trafficpolicy tf_pol2 tf_act2 add tm trafficpolicy tf_pol3 tf_act3 bind lb vserver -policy tf_pol1 -priority 100 bind lb vserver -policy tf_pol2 -priority 200 bind lb vserver -policy tf_pol3 -priority 300
Error prone method - To resolve the Global SSO configuration, you add the following configuration:
add tm trafficaction tf_act_default -SSO ON add tm trafficpolicy tf_pol_default true tf_act_default bind lb vserver -policy tf_pol_default -priority 65345
Note:The preceding modification can break SSO for traffic which hits
Correct method - To mitigate this, the SSO property must be applied individually for each of the corresponding traffic actions:
For example, in the preceding scenario, for SSO to happen for the traffic hitting tf_pol1/tf_pol3, the following configuration must be applied along with
add tm trafficaction tf_act1 -SSO ON add tm trafficaction tf_act3 -SSO ON
Citrix Gateway cases
Scenarios based on global configuration:
set vpnparameter -SSO ON
Workaround:
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
场景基于会话策略配置:
add vpn sessionaction vpn_sess_act -SSO ON add vpnsession policy vpn_sess_act
Points to note:
Citrix ADC AAA user/group for the preceding session policy must be replaced by traffic policy.
Bind the following policy to the LB virtual servers for the preceding session policy,
bind lb virtual server [LB VS Name] -policy tf_pol -priority 65345
.如果交通政策与其他configu优先red, the preceding command does not serve good. The following section deals with scenarios based on conflict with multiple traffic policies associated with traffic.
Functional scenarios based on conflict with multiple traffic policies associated with a traffic:
为特定的Citrix网关流量,只有一个VPN traffic policy is applied. Because of global setting of SSO feature changes, applying an additional VPN traffic policy with low priority might not be applicable if there are other VPN traffic policies with high priority that does not have a required SSO configuration.
The following section describes method to ensure such cases are handled:
Consider there are three traffic policies with higher priority applied to a VPN virtual server:
add vpn trafficaction tf_act1 add vpn trafficaction tf_act2 add vpn trafficaction tf_act3 add vpn trafficpolicy tf_pol1 tf_act1 add vpn trafficpolicy tf_pol2 tf_act2 add vpn trafficpolicy tf_pol3 tf_act3 bind vpn vserver -policy tf_pol1 -priority 100 bind vpn vserver -policy tf_pol2 -priority 200 bind vpn vserver -policy tf_pol3 -priority 300
Error prone method:To resolve the Global SSO configuration, you add the following configuration:
add vpn trafficaction tf_act_default -SSO ON add vpn trafficpolicy tf_pol_default true tf_act_default bind vpn vserver -policy tf_pol_default -priority 65345
Note:The preceding modification can break SSO for the traffic that hits
Correct method:To mitigate this, the SSO property must be applied individually for each of the corresponding traffic actions.
For example in the preceding scenario, for SSO to happen for traffic hitting tf_pol1/tf_pol3, the following configuration must be applied along with
add vpn trafficaction tf_act1 [Additional config] -SSO ON add vpn trafficaction tf_act3 [Additional config] -SSO ON