支持 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.comserver2.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标头中。