支持 HTTP 严格传输安全性 (HSTS)
HTTP 严格传输安全性 (HSTS) 是一种有助于防止 HTTP 服务器遭受某些中间人攻击的机制。 它允许服务器指示合规的用户代理程序 (例如 Web 浏览器) 仅通过安全连接 (HTTPS) 与服务器进行交互。
HSTS 由在其 HTTP 响应中返回 Strict-Transport-Security 头的服务器实现。 此头指示用户代理仅应与服务器安全交互的时间段,以及此行为是否扩展至任何子域。
示例 HSTS 头为:
Strict-Transport-Security: max-age=86400; includeSubDomains它指示用户代理程序与服务器安全交互 24 小时 (86400 秒) ,并扩展该行为以包含所有子域。 例如,如果初始请求是针对 example.com,那么将来也将安全地发出针对 server1.example.com 和 server2.example.com 的请求。RFC 6797 中完整描述了 HSTS: HTTP 严格传输安全性 (HSTS)。
在 CICS 中启用对 HSTS 的支持
仅当所有入站连接都受保护并且 CICS 服务器是完全安全域的一部分时,才配置 CICS 以支持 HSTS。 CICS 为 HSTS 支持提供了一组功能切换。
功能部件切换设置适用于具有 PROTOCOL (HTTP) 的所有已安装 TCPIPSERVICEs ,也适用于 CMCI JVM 服务器。
注:
- 功能部件切换不适用于 CICS中的 Liberty JVM 服务器接收到的 HTTP 请求。 请参阅 改为使用 HTTP 严格传输安全性 (HSTS) 来保护 Liberty。
- 如果 CICS 应用程序使用 EXEC CICS WEB WRITE HTTPHEADER提供自己的 HSTS 头,那么将使用该头。 CICS 不会覆盖它。
要在区域级别配置 HSTS ,请使用以下功能切换:
- com.ibm.cics.web.hsts.max-age=秒
- 激活整个区域的 HSTS ,并设置 HSTS 头的 max-age 时间 (以秒计) (0-99999999)。 一年 31536000 秒。
- com.ibm.cics.web.hsts.includesubdomains={true|false}
仅当还指定了
com.ibm.cics.web.hsts.max-age功能切换时才生效。它控制是否将 HSTS 扩展至 CICS 服务器的子域。 当指定了
true时, includeSubDomains将添加到HSTS标头中。
要获取详细程度,可以使用以下功能切换来为各个 TCPIPSERVICE 配置 HSTS 以覆盖区域范围的设置。
但是, CMCI JVM 服务器 只能使用区域范围的 HSTS 设置。
- com.ibm.cics.web.hsts.max-age。TCPIPS= {seconds| -1}
- TCPIPS
指定要具有与区域范围设置不同的 HSTS 设置的单个 TCPIPSERVICE 的名称。
- 秒
在其 HSTS 头中指定 TCPIPSERVICE 的 max-age 值。
- -1
- 对指定的 TCPIPSERVICE 禁用 HSTS。
- com.ibm.cics.web.hsts.includesubdomains。TCPIPS={true|false}
仅当还指定了
com.ibm.cics.web.hsts.max-age.TCPIPS功能切换时才生效。它控制是否将 HSTS 扩展至指定 TCPIPSERVICE 的子域。 当指定了
true时, includeSubDomains将添加到 TCPIPS指定的 TCPIPSERVICE的HSTS标头中。