在 26.0.0.7 中默认启用已注销 SSO Cookie 跟踪、控制 mpHealth REST 端点等更新
本次发布默认启用已注销 SSO Cookie 跟踪,以防止注销后的 Cookie 重放,并在启用基于文件的健康检查时新增了禁用 mpHealth REST 端点的选项。
在 Open Liberty 26.0.0.7 中:
除了运行时中新增加的特性和功能外,我们还对指南进行了更新。
查看 26.0.0.7 中已修复 bug 的列表。
使用 26.0.0.7 开发和运行应用程序
如果您使用 Maven,请在 pom.xml 文件中包含以下内容:
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.12.0</version>
</plugin>
或者,如果您使用 Gradle,请在 build.gradle 文件中包含以下内容:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0'
}
}
apply plugin: 'liberty'
或者,如果您使用 容器镜像:
FROM icr.io/appcafe/open-liberty
或者访问我们的 下载页面。
如果您使用 IntelliJ IDEA、Visual Studio Code 或 Eclipse IDE,还可以利用我们的开源 Liberty 开发工具,直接在 IDE 中高效完成开发、测试、调试和应用程序管理。
默认启用已注销 SSO Cookie 跟踪
为了持续增强应用程序的内置安全性,Open Liberty 26.0.0.7 现在默认启用对已注销单点登录(SSO)Cookie 的跟踪。借助此功能,已注销的 SSO Cookie 在注销后将无法再被重放。
有什么潜在影响?
当已注销的 SSO Cookie 被重放时,系统会明确提示用户重新进行身份验证,从而进一步增强应用程序安全性。
仍然可以通过以下服务器配置禁用已注销 SSO Cookie 跟踪:
<webAppSecurity trackLoggedOutSSOCookies="false"/>
更多信息,请参阅关于跟踪已注销 SSO Cookie 的 文档。
启用基于文件的健康检查时禁用 mpHealth-4.0 REST 端点
mpHealth-4.0 功能为 Open Liberty 增加了对 MicroProfile Health 4.0 的支持。该功能包含一种基于文件的健康检查机制,可作为 /health REST 端点的替代方案。启用基于文件的健康检查机制后,您可以使用服务器配置属性禁用 /health/started、/health/live 和 /health/ready REST 端点。
此前,即使启用了基于文件的健康检查,基于 REST 的 MicroProfile Health 端点仍会被注册并可访问。对于依赖基于文件的健康检查的 Kubernetes 部署而言,这种行为通常是多余的,因为用户通常使用 exec 策略而不是 httpGet 或 gRPC 来配置探针。在这些场景中,REST 健康检查端点不会被使用。
为解决这一冗余问题,本次发布在 server.xml 文件中的 mpHealth 服务器配置元素上引入了一个新的可选属性 enableEndpoints="false"。同时也支持等效的环境变量 MP_HEALTH_ENABLE_ENDPOINTS=false。
当此选项设置为 false 且启用了基于文件的健康检查时,服务器不会注册或公开 MicroProfile Health REST 端点(/health, /health/live, /health/ready, /health/started)。对这些端点发出的请求将返回 '404 Not Found' 响应。
可以通过 checkInterval 配置属性或 MP_HEALTH_CHECK_INTERVAL 环境变量启用基于文件的健康检查。
如果同时指定了环境变量和 server.xml 文件中的配置,则运行时以 server.xml 文件中的设置为准。
<server>
<featureManager>
<feature>mpHealth-4.0</feature>
</featureManager>
<!-- Enable file-based health checks but disable HTTP endpoints -->
<mpHealth startupCheckInterval="1s" checkInterval="5s" enableEndpoints="false" />
...
</server>
如果未设置 enableEndpoints 配置属性或 MP_HEALTH_ENABLE_ENDPOINTS 环境变量,则默认值为 true,健康检查 REST 端点会启用并公开。
注:只有在启用基于文件的健康检查机制时才支持此功能。如果未启用基于文件的健康检查,但指定了 enableEndpoints 配置属性或环境变量,则会记录一条警告消息。REST 健康检查端点默认仍保持启用。
更多信息,请参阅 文档。
本次发布中的安全漏洞(CVE)修复
| CVE | CVSS 分数 | 漏洞评估 | 受影响版本 | 说明 |
|---|---|---|---|---|
8.1 |
HTTP 请求走私 |
17.0.0.3-26.0.0.6 |
影响 servlet-3.0、servlet-3.1、servlet-4.0、servlet-5.0、servlet-6.0、servlet-6.1、websocket-1.0、websocket-1.1、websocket-2.0、websocket-2.1 和 websocket-2.2 功能 |
|
5.9 |
拒绝服务 |
17.0.0.3-26.0.0.6 |
影响 servlet-3.0、servlet-3.1、servlet-4.0、servlet-5.0、servlet-6.0、servlet-6.1、websocket-1.0、websocket-1.1、websocket-2.0、websocket-2.1 和 websocket-2.2 功能 |
|
7.1 |
拒绝服务 |
17.0.0.3-26.0.0.6 |
影响 servlet-3.0、servlet-3.1、servlet-4.0、servlet-5.0、servlet-6.0、servlet-6.1、websocket-1.0、websocket-1.1、websocket-2.0、websocket-2.1 和 websocket-2.2 功能 |
|
7.5 |
拒绝服务 |
17.0.0.3-26.0.0.6 |
影响 jaxws-2.2、xmlWS-3.0 和 xmlWS-4.0 功能 |
|
7.5 |
拒绝服务 |
17.0.0.3-26.0.0.6 |
影响 jaxws-2.2、xmlWS-3.0 和 xmlWS-4.0 功能 |
|
7.2 |
服务器端请求伪造 |
17.0.0.3-26.0.0.6 |
影响 jaxws-2.2、xmlWS-3.0 和 xmlWS-4.0 功能 |
|
7.2 |
HTTP 请求走私 |
17.0.0.3-26.0.0.6 |
影响 restConnector-2.0 功能 |
|
7.4 |
HTTP 请求走私 |
17.0.0.3-26.0.0.6 |
如需查看以往版本中的安全漏洞修复列表,请参阅 安全漏洞(CVE)列表。
本次发布中值得关注的 bug 修复
我们投入了一些时间修复 bug。以下部分仅介绍了本次发布中解决的部分问题。如果您感兴趣,可查看 26.0.0.7 中修复 bug 的完整列表。
立即获取 Open Liberty 26.0.0.7
可通过 Maven、Gradle、Docker 以及可下载归档包 获取。