ADC

配置对 HTTP 严格传输安全性 (HSTS) 的支持

Citrix ADC 设备支持 HTTP 严格传输安全性 (HSTS) 作为 SSL 配置文件和 SSL 虚拟服务器中的内置选项。使用 HSTS,服务器可以在与客户端的所有通信中强制使用 HTTPS 连接。也就是说,只能使用 HTTPS 访问该站点。必须支持 HSTS 才能获得 SSL Labs 的 A+ 认证。

在 SSL 前端配置文件或 SSL 虚拟服务器上启用 HSTS。如果启用 SSL 配置文件,则必须在 SSL 配置文件上启用 HSTS,而不是在 SSL 虚拟服务器上启用。通过设置最长使用期限标头,可以指定 HSTS 在该持续时间内对该客户端有效。还可以指定是否必须包含子域。例如,通过将 IncludeSubdomains 参数设置为 YES,您可以指定只能使用 HTTPS 访问 www.example.com 的子域名,例如 www.abc.example.com 和 www.xyx.example.com。

如果访问任何支持 HSTS 的 Web 站点,来自服务器的响应标头将包含类似于以下内容的条目:

HSTS 响应标头

客户端在 max-age 参数中指定的时间内存储此信息。对于对该 Web 站点的后续请求,客户端会检查其内存中是否有 HSTS 条目。如果找到条目,则只能使用 HTTPS 访问该 Web 站点。

可以在创建 SSL 配置文件或 SSL 虚拟服务器时使用 add 命令配置 HSTS。还可以在现有 SSL 配置文件或 SSL 虚拟服务器上配置 HSTS,方法是使用 set 命令对其进行修改。

使用 CLI 配置 HSTS

在命令提示符下,键入:

add ssl vserver <vServerName> -maxage <positive_integer> -IncludeSubdomains ( YES | NO)
set ssl vserver <vServerName> -HSTS ( ENABLED | DISABLED )
<!--NeedCopy-->

add ssl profile <name> -maxage <positive_integer> -IncludeSubdomains ( YES | NO )
set ssl profile <name> -HSTS ( ENABLED | DISABLED )

Arguments

HSTS

         State of HTTP Strict Transport Security (HSTS) on an SSL virtual server or SSL profile. Using HSTS, a server can enforce the use of an HTTPS connection for all communication with a client.

          Possible values: ENABLED, DISABLED

          Default: DISABLED

maxage

          Set the maximum time, in seconds, in the strict transport security (STS) header during which the client must send only HTTPS requests to the server.

          Default: 0

          Minimum: 0

          Maximum: 4294967294

IncludeSubdomains

         Enable HSTS for subdomains. If set to Yes, a client must send only HTTPS requests for subdomains.

          Possible values: YES, NO

          Default: NO
<!--NeedCopy-->

在以下示例中,客户端只能使用 HTTPS 访问 Web 站点及其子域名 157680000 秒。

add ssl vserver VS-SSL –maxage 157680000 –IncludeSubdomain YES
set ssl vserver VS-SSL –HSTS ENABLED
<!--NeedCopy-->
add sslProfile hstsprofile –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES
set sslProfile hstsprofile –HSTS ENABLED
<!--NeedCopy-->

使用 GUI 配置 HSTS

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,选择 SSL 类型的虚拟服务器,然后单击编辑

如果设备上启用了默认 SSL 配置文件,请执行以下步骤。

  1. 选择一个 SSL 配置文件,然后单击编辑

  2. 基本设置中,单击铅笔图标以编辑设置。向下滚动并选择 HSTS包括子域

    启用 HSTS

如果设备上未启用默认 SSL 配置文件,请执行以下步骤。

  1. 高级设置中,选择 SSL 参数

  2. 选择 HSTS包括子域

    在虚拟服务器上启用 HSTS

支持 HSTS 预加载

Citrix ADC 设备支持在 HTTP 响应标头中添加 HSTS 预加载。要包含预加载,必须将 SSL 虚拟服务器或 SSL 配置文件中的 preload 参数设置为 YES。然后,设备将预加载包含在客户端的 HTTP 响应标头中。可以使用 CLI 和 GUI 配置此功能。有关 HSTS 预加载的详细信息,请参阅 https://hstspreload.org/

下面是带有预加载的有效 HSTS 标头的示例:

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
<!--NeedCopy-->
Strict-Transport-Security: max-age=63072000; preload
<!--NeedCopy-->

使用 CLI 配置 HSTS 预加载

在命令提示符下,键入:

add ssl vserver <vServerName> -maxage <positive_integer> -preload ( YES | NO )
set ssl vserver <vServerName> -HSTS ( ENABLED | DISABLED )
<!--NeedCopy-->

add ssl profile <name> -maxage <positive_integer> -IncludeSubdomains ( YES | NO ) -preload ( YES | NO )
set ssl profile <name> -HSTS ( ENABLED | DISABLED )
<!--NeedCopy-->

使用 GUI 配置 HSTS 预加载

如果设备上启用了默认 SSL 配置文件,请执行以下步骤。

  1. 导航到 系统 > 配置文件 > SSL 配置文件。选择一个 SSL 配置文件,然后单击编辑

  2. 基本设置中,单击铅笔图标以编辑设置。向下滚动并选择 HSTS预加载

    启用 HSTS

如果设备上未启用默认 SSL 配置文件,请执行以下步骤。

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,选择 SSL 类型的虚拟服务器,然后单击编辑

  2. 高级设置中,选择 SSL 参数

  3. 选择 HSTS预加载

    在虚拟服务器上启用 HSTS

配置对 HTTP 严格传输安全性 (HSTS) 的支持