配置对 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 的网站,服务器的响应标头将包含类似于以下内容的条目:
客户端存储在 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)
<!--NeedCopy-->
或
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
<!--NeedCopy-->
在以下示例中,客户端只能使用 HTTPS 才能访问网站及其子域名 157,680,000 秒。
add ssl vserver VS-SSL –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES
<!--NeedCopy-->
add sslProfile hstsprofile –HSTS ENABLED –maxage 157680000 –IncludeSubdomain YES
<!--NeedCopy-->
使用 GUI 配置 HSTS
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”,选择 SSL 类型的虚拟服务器,然后单击“编辑”。
如果设备上启用了默认 SSL 配置文件,请执行以下步骤。
-
选择 SSL 配置文件,然后单击 编辑。
-
在“基本设置”中,单击铅笔图标以编辑设置。向下滚动并选择 HSTS 和 包括子域 。
如果设备上未启用默认 SSL 配置文件,请执行以下步骤。
-
在“高级设置”中,选择 SSL 参数。
-
选择 HSTS 和 包含子域 。
支持 HSTS 预加载
注意:
此功能在 12.1 Build 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
<!--NeedCopy-->
Strict-Transport-Security: max-age=63072000; preload
<!--NeedCopy-->
使用 CLI 配置 HSTS 预加载
在命令提示符下,键入:
add ssl vserver <vServerName> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -preload ( YES | NO )
<!--NeedCopy-->
或
add ssl profile <name> -HSTS ( ENABLED | DISABLED ) -maxage <positive_integer> -IncludeSubdomains ( YES | NO ) -preload ( YES | NO )
<!--NeedCopy-->
使用 GUI 配置 HSTS 预加载
如果设备上启用了默认 SSL 配置文件,请执行以下步骤。
-
导航到 系统 > 配置文件 > SSL 配置文件。选择 SSL 配置文件,然后单击 编辑。
-
在“基本设置”中,单击铅笔图标以编辑设置。向下滚动并选择 HSTS 和 预加载 。
如果设备上未启用默认 SSL 配置文件,请执行以下步骤。
-
导航到“流量管理”>“负载平衡”>“虚拟服务器”,选择 SSL 类型的虚拟服务器,然后单击“编辑”。
-
在“高级设置”中,选择 SSL 参数。
-
选择 HSTS 和 预加载 。