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

Citrix ADC 设备支持 HTTP 严格传输安全性 (HSTS),作为 SSL 配置文件和 SSL 虚拟服务器中的内置选项。使用 HSTS,服务器可以强制使用 HTTPS 连接进行与客户端的所有通信。也就是说,只能通过使用 HTTPS 访问该网站。SSL 实验室的 A+ 认证需要对 HSTS 的支持。

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

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

HSTS 响应标题

客户端存储在 max-age 参数中指定的时间内的此信息。对于对该网站的后续请求,客户端将检查其内存中的 HSTS 条目。如果找到一个条目,它只能通过使用 HTTPS 访问该网站。

您可以在创建 SSL 配置文件或 SSL 虚拟服务器时使用 add 命令配置 HSTS。您还可以通过使用 set 命令修改现有 SSL 配置文件或 SSL 虚拟服务器上配置 HSTS。

使用 CLI 配置 HSTS

在命令提示窗口中,键入:

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

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

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

在以下示例中,客户端必须仅通过使用 HTTPS 访问网站及其子域,持续 157,680,000 秒。

add ssl vserver VS-SSL –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES
add sslProfile hstsprofile –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES

使用 GUI 配置 HSTS

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

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

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

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

    启用 HSTS

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

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

  2. 选择 HSTS包含子域

    在虚拟服务器上启用 HSTS

支持 HSTS 预加载

注意

此功能在 12.1 版本 51.x 及更高版本中可用。

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

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

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Strict-Transport-Security: max-age=63072000; preload

使用 CLI 配置 HSTS 预加载

在命令提示窗口中,键入:

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

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

使用 GUI 配置 HSTS 预加载

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

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

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

    启用 HSTS

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

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

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

  3. 选择 HSTS预加载

    在虚拟服务器上启用 HSTS

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