页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。


目录

背景

近日, Apache Log4j2 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害;此漏洞对Smartbi各版本影响范围以及相关解决方法如下:近日,Apache Log4j2 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。

此漏洞对Smartbi各版本影响范围以及相关解决方法如下:

影响范围

模块Smartbi版本Apache Log4j版本解决方法Smartbi war包
V8系列 2.8.2
关于Smartbi war包存在Apache Log4j2 漏洞的解决方法V9系列V10系列数据挖掘
V8系列--无影响V9系列2.11.0关于数据挖掘存在Apache Log4j2 漏洞的解决方法
V10系列2.14.0跨库联合数据源
V8系列1.2.17无影响V9系列1.2.17、2.9.1关于跨库联合数据源存在Apache Log4j2 漏洞的说明
V10系列SmartbiMPP
V8系列--
无影响
V9系列V10系列多维引擎
V8系列1.2.8无影响
V9系列1.2.17V10系列1.2.17
2.12.1无影响导出引擎
V8系列--
无影响V9系列V10系列

1、Smartbi应用服务器:V8~V10版本 , V8以下版本无影响。 解决方案

2、数据挖掘服务器:V9~V10版本 ,  V8及以下版本无影响。解决方案

3、跨库联合数据源:V9~V10版本 ,V8及以下版本无影响。解决方案

4、其它版本及组件服务器无影响

注意

当前Smartbi V7及以下系列版本使用的是log4j 1.4以下,不存在远程代码执行漏洞x,不存在远程代码执行漏洞

解决方法

Smartbi应用服务器

Smartbi war包

Smartbi应用服务器

 1. Smartbi

war包

 1、Smartbi war包

Smartbi War 包中存在的Apache Log4j2 漏洞可以通过更新以下补丁包进行修复,

应用服务器

通过更新以下补丁包进行修复, 根据实际情况可选择在线更新补丁包 “手动更新补丁包 ,详情请参考文档  ,补丁包下载:安全补丁下载   补丁包更新参考文档 安全补丁

补丁包资源:patch (4).patches

数据挖掘

数据挖掘服务器

数据挖掘

数据挖掘服务器

 2、数据挖掘

该方法通过修改JVM 参数的添加方式,适用于V95,V97,V10。

 Windows

 2. 数据挖掘服务器

通过修改JVM 参数的方式解决,适用于V95,V97,V10。

Windows 环境

(1) 修改"挖掘引擎启动文件" 增加 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

此文件位于:“挖掘引擎安装目录\engine\sbin\experiment-daemon-start.bat”,在文件中找到如下内容

代码块
languagejava
java -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx2g -Xms2g -cp .;../lib/* smartbix.datamining.engine.experiment.ExperimentApplication

将其修改为:

代码块
languagejava
java -Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx2g -Xms2g -cp .;../lib/* smartbix.datamining.engine.experiment.ExperimentApplication

(2) 修改“服务引擎启动文件

此文件位于:挖掘引擎安装目录\engine\sbin\service-daemon-start.bat”,在文件内找到如下内容

代码块
languagejava
java -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx1g -Xms1g -cp .;../lib/* smartbix.datamining.engine.service.ServiceApplication

修改为:

代码块
languagejava
java -Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx1g -Xms1g -cp .;../lib/* smartbix.datamining.engine.service.ServiceApplication

 linux环境

(1)编辑“挖掘引擎启动文件”

Linux环境

(1)编辑“挖掘引擎启动文件”,增加 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

文件位于:“挖掘引擎安装目录/smartbi-mining-engine-bin/engine/sbin/experiment-daemon.sh,在文件中找到如下内容

代码块
languagejava
JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx5g -Xms5g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

将其修改为

代码块
languagejava
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx5g -Xms5g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

(2)编辑“服务引擎启动文件”服务引擎启动文件”,增加 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

文件位于:“挖掘引擎安装目录/smartbi-mining-engine-bin/engine/sbin/service-daemon.sh”,在文件中找到如下内容

代码块
languagejava
JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx3g -Xms1g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

将其修改为

代码块
languagejava
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx3g -Xms1g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

(3)编辑“python服务启动文件”(3)编辑“python服务启动文件”,增加 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

注意

此方法适用于V9.5版本

文件位于:挖掘引擎安装目录/smartbi-mining-engine-bin/engine/sbin/python-daemon.sh,在文件内找到如下内容

代码块
languagejava
JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx2g -Xms2g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

Image Added

将其修改为

代码块
languagejava
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx2g -Xms2g -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/../logs/dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$APP_HOME/../logs/gc-detail-`date +%s`.log"

(4)编辑python服务启动文件(4)编辑python服务启动文件,增加 jvm 参数 -Dlog4j2.formatMsgNoLookups=true

注意

此方法适用于V97、V10 版本

文件位置:挖掘引擎安装目录/smartbi-mining-engine-bin/engine/sbin/agent-daemon.sh,在文件内找到如下内容

代码块
languagejava
JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx$AGENT_ENGINE_XMX -Xms$AGENT_ENGINE_XMS -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR/agent-dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$LOG_DIR/agent-gc-detail-`date +%s`.log"

将其修改为

代码块
languagejava
JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xmx$AGENT_ENGINE_XMX -Xms$AGENT_ENGINE_XMS -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:MaxGCPauseMillis=50 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR/agent-dump.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:$LOG_DIR/agent-gc-detail-`date +%s`.log"


跨库联合数据源
跨库联合数据源

3、跨库联合数据源

3. 跨库联合数据源

注意

跨库联合数据源包含了不同的内置连接器以及Smartbi 开发的连接器,其中Smartbi 开发的连接器不包含Log4j2,即不会包含此漏洞

若内置的 若发现内置的 presto-elasticsearch 连接器存在此漏洞; Smartbi 本身不会使用此连接器;此连接器的使用连接器存在此漏洞,但Smartbi 不会主动使用此连接器;此连接器的使用必须由用户手工在跨库联合数据源的配置目录中,手工上传或编辑 配置文件,指定使用。

因此,如果项目中没有手工配置 连接文件,不会触发此漏洞。因此,如果项目中没有手工配置连接文件,不会触发此漏洞。

如果用户仍有担忧,可在停止跨库联合数据源的服务后,手动删除目录“ <SmartbiUnionServer安装目录>/plugin/presto-elasticsearch”,然后重启即可