Citrix ADC

Citrix ADC作为活动目录联合服务代理

Active Directory联合服务(ADFS)是一项Microsoft服务,它为经过Active Directory身份验证的客户端访问企业数据中心以外的资源提供了单点登录(SSO)体验。ADFS服务器场允许内部用户访问外部云托管服务。但是,一旦外部用户加入进来,就必须为外部用户提供一种通过联邦身份远程连接和访问基于云的服务的方法。大多数企业不喜欢将ADFS服务器暴露在DMZ中。因此,ADFS代理在远程用户连接和应用程序访问中起着至关重要的作用。

十多年来,Citrix ADC设备一直扮演着远程用户连接和应用程序访问的类似角色。Citrix ADC设备成为ADFS代理的首选解决方案,用于支持新的ADFS实现,以启用以下服务:

  • 安全连接。
  • 联邦身份的身份验证和处理。

有关Citrix ADC作为SAML IdP的更多信息,请参见Citrix ADC作为SAML IdP

ADFS代理的优点

  • 减少DMZ中的占用空间,以满足大多数企业的需求。
  • 为最终用户提供SSO体验。
  • 支持丰富的预认证方法,支持多因素认证。
  • 支持主动和被动客户端。

使用Citrix ADC作为ADFS代理的前提条件

在将Citrix ADC设备配置为ADFS代理之前,请确保满足以下先决条件。

  • 具有12.1版本或更高版本的Citrix ADC设备。
  • 域ADFS服务器。
  • 域SSL证书。
  • 内容交换虚拟服务器的虚拟IP。
  • 在Citrix ADC设备上启用负载平衡、SSL卸载、内容交换、重写以及身份验证、授权和审计流量管理特性。

将Citrix ADC设备配置为ADFS代理

为了实现这个用例,您将Citrix ADC配置为DMZ区域中的ADFS代理。ADFS服务器在后端与AD域控制器一起配置。

ADFS代理

  1. 访问Microsoft Office365的客户端请求被重定向到作为ADFS代理部署的Citrix ADC。

  2. 用户的凭据被传递到ADFS服务器。

  3. ADFS服务器使用域的本地AD对凭据进行身份验证。

  4. ADFS服务器在使用AD成功验证凭据后,生成一个令牌,该令牌传递给Microsoft Office365以建立会话。

以下是在配置为ADFS代理之前配置Citrix ADC设备所涉及的高级步骤。

在Citrix ADC命令提示符下,输入以下命令:

  1. 为后端创建SSL配置文件,并在SSL配置文件中启用SNI。禁用SSLv3 / TLS1。

    add ssl profile <新的ssl profile> -sniEnable ENABLED -ssl3 DISABLED -tls1 DISABLED -commonName < ADFS>的FQDN

  2. 禁用服务的SSLv3/TLS1协议。

    设置ssl服务 -sslProfile <在上面步骤中创建的ssl配置文件>

  3. 为后端服务器握手启用SNI扩展。

    • 设置vpn参数- backendserverni ENABLED
    • 设置ssl参数-denySSLReneg NONSECURE

使用CLI将Citrix ADC设备配置为ADFS代理

以下部分是根据完成配置步骤的需求进行分类的。

配置ADFS服务

  1. 在Citrix ADC上为ADFS服务器配置ADFS服务。

    add service SSL 443 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO

    例子

    添加服务CTXTEST_ADFS_Service 1.1.1.1 SSL 443 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO

  2. 为内容交换虚拟服务器配置FQDN,并开启SNI功能。

    set ssl service -SNIEnable ENABLED -commonName

    例子

    set ssl service CTXTEST_ADFS_Service -SNIEnable ENABLED -commonName sts.ctxtest.com

配置ADFS负载均衡虚拟服务器

重要的

为了保证流量安全,需要使用域SSL证书(SSL_CERT)。

  1. 配置ADFS负载均衡虚拟服务器。

    add lb vserver SSL -persistenceType NONE -cltTimeout 180 .使用实例

    例子

    add lb vserver CTXTEST_ADFS_LBVS SSL 192.168.1.0 -persistenceType NONE -cltTimeout 180

  2. 绑定ADFS负载均衡虚拟服务器和ADFS服务。

    bind lb vserver

    例子

    绑定lb vserver CTXTEST_ADFS_LBVS CTXTEST_ADFS_Service

  3. 绑定SSL虚拟服务器证书密钥对。

    bind ssl vserver -certkeyName

    例子

    绑定ssl vserver CTXTEST_ADFS_LBVS -certkeyName ctxtest_newcert_2019

为域配置内容交换虚拟服务器

请注意

内容交换虚拟服务器需要一个免费的虚拟IP地址(如2.2.2.2),该IP地址为公网IP地址。它必须对外部和内部流量都可访问。

  1. 创建一个免费VIP的内容交换虚拟服务器。

    add cs vserver SSL 443 -cltTimeout 180 -persistenceType NONE

    例子

    add cs vserver CTXTEST_CSVS SSL 2.2.2.2 443 -cltTimeout 180 -persistenceType NONE

  2. 绑定内容切换虚拟服务器和负载均衡虚拟服务器。

    bind cs vserver -lbvserver

    例子

    • 绑定cs vserver CTXTEST_CSVS -lbvserver CTXTEST_ADFS_LBVS
    • 设置ssl vserver CTXTEST_CSVS -sessReuse DISABLED
  3. 绑定SSL虚拟服务器证书密钥对。

    bind ssl vserver -certkeyName

    例子

    绑定ssl vserver CTXTEST_CSVS -certkeyName ctxtest_newcert_2019

支持的协议

微软提供的协议在与Citrix ADC设备的集成中起着至关重要的作用。Citrix ADC作为ADFS代理支持以下协议:

请注意

Citrix ADC设备在作为ADFS代理部署时不支持设备证书身份验证。

Citrix ADC作为活动目录联合服务代理