作者:鲍凤其
爱可生 dble 团队开发成员,次要负责 dble 需要开发,故障排查和社区问题解答。少说废话,放码过去。
本文起源:原创投稿
* 爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。
dble 运行依赖许多组件的 jar 包,当遇到某个组件有破绽时,须要紧急修复。
Apache Log4j2
安全漏洞阐明:https://nosec.org/home/detail…
修复计划
⚠️:计划 1 可施行,截止至北京工夫 2021 年 12 月 14 日 11 时,log4j 官网曾经公布 2.16.0 版本,相干 release notes:https://github.com/apache/log…
⚠️:上面介绍的 2,3 步骤是长期缓解步骤,不排除有其余问题
1. 降级 log4j2 组件
dble 版本:2.19.07.x – 3.21.10.x 版本,2.19.07.x 之前的版本须要自行尝试替换计划,官网不再提供反对
影响:须要重启 dble
步骤:
1.1 进行 dble
1.2 将 dble 服务器上 log4j 的 jar 包进行备份并 mv 至 /tmp/ 目录下
/path/to/dble/lib 下有四个 jar 包别离是:(操作前须要确认一下)
- log4j-1.2-api-2.13.1.jar
- log4j-api-2.13.1.jar
- log4j-core-2.13.1.jar
- log4j-slf4j-impl-2.13.1.jar
执行上面的操作:
mv log4j-1.2-api-2.13.1.jar log4j-1.2-api-2.13.1.jar.bak
mv log4j-1.2-api-2.13.1.jar.bak /tmp/
1.3 将 log4j 2.16.0 版本的相干 jar 包,上传到该门路下 /path/to/dble/lib,并变更权限
参考链接:https://repo1.maven.org/maven…,其余 jar 在此网站上查找
1.4 反复 1.2,1.3 步骤降级其余三个 jar 包
1.5 启动 dble
2. 增加配置
dble 版本:实践上全版本 dble 适配
影响:须要重启 dble
步骤:
在 dble 配置文件 /path/to/dble/conf 下增加配置文件 log4j2.component.properties
批改文件权限:
增加如下配置:
log4j2.formatMsgNoLookups=True
验证形式:
开发环境验证该变量重启后被加载,不重启状况下,不会被加载。
3. 批改 jvm 参数
dble 版本:实用于 dble 版本 < 3.20.07.0
3.20.07.0 及之后的 dble 版本因为对 JVM 参数进行了限度,因而不反对此种形式,会在近期修复。
影响:须要重启 dble
步骤:
在 dble 配置文件 /path/to/dble/conf/wrapper.cof 中增加如下配置,并重启 dble。
配置:
原环境中是否存在 wrapper.java.additional 的参数,上面配置中的 14 在原环境中按需替换
wrapper.java.additional.14=-Dlog4j2.formatMsgNoLookups=true
执行以下命令判断是否应用该参数启动:
ps aux|grep dble|grep 'formatMsgNoLookups'
4. 设置零碎环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置 为 true
不举荐