页面树结构

版本比较

标识

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

Smartbi添加了一种安全补丁机制,能够在不更新war包的前提下,只更新安全补丁。

该安全补丁可以修复一些系统漏洞,避免发生由于漏洞引起的安全事故。

在Smartbi中安装安全补丁涉及以下两个文件:

补丁工具包:补丁工具包是用来上传安全补丁文件的载体,通过此工具包可在Smartbi服务器中上传安全补丁文件。(当前补丁工具包最新版本为1.0)


面板
borderColor#BBBBBB
bgColor#F0F0F0
borderWidth1
borderStylesolid

目录


安全补丁文件:安全补丁文件中包含了目前我们检测修复的安全漏洞程序。Smartbi会不定期在官网更新安全补丁文件,用户可下载此文件,并直接更新到Smartbi服务器中,已解决已知的一些安全漏洞。

根据实际情况,在官网下载补丁工具包或安全补丁文件,官网如图:

Image Modified

更新流程

更新安全补丁的具体流程如下:

Image Modified

按照上述流程图进行操作即可。

判断系统版本

在系统的右上角上点击 用户名称 > 关于 ,判断系统版本是否为V8.5.655,再进行下一步操作:

  • 如果当前系统版本为V8.5.655以前的版本,则表明系统没有默认带有补丁工具包,需要先到官网安装补丁工具包,具体请参考 安装补丁工具包
  • 如果当前系统版本为V8.5.655及以后的版本,则表明系统默认带有补丁工具包,需要检查补丁工具包版本是否需要更新,具体请参考 更新补丁工具包

Image Modified

安装补丁工具包
123
123

前提:当前系统版本为V8.5.655以前的版本,且未安装过安全补丁。

具体操作如下:

1、去官网根据版本下载最新的补丁工具包。下载地址:Smartbi安全补丁包下载

2、参考文档 扩展包部署 ,将获取到的安装补丁工具包部署到Smartbi应用服务器上。

3、完成部署后,重启Smartbi应用服务器,验证是否安装成功。可在系统监控面板查看是否补丁工具包安装成功:

Image Modified

安装完补丁工具包后,补丁工具包版本已是最新的,接下来 更新安全补丁文件 即可。

V8_001
V8_001
更新补丁工具包
1234
1234

前提:当前系统版本为V8.5.655及以后的版本,或曾经安装过补丁工具包但不确定补丁工具包是否为最新。

具体操作如下:

1、登录服务器,打开系统监控面板。查看当前补丁工具包版本,再与官网上最新的补丁工具包对比,判断当前补丁工具包的版本是否为最新。

  • 如果是最新,则只需更新安全补丁文件。详情请参考 更新安全补丁文件
  • 如果不是最新,则需先更新补丁工具包,之后再更新安全补丁文件。具体请看下个步骤。

Image Modified

2、去官网根据版本下载最新的补丁工具包。下载地址:Smartbi安全补丁包下载

3、参考文档 扩展包部署 ,将获取到的安装补丁工具包部署到Smartbi应用服务器上。

4、完成部署后,重启Smartbi应用服务器,再次打开系统监控界面,查看补丁工具包的版本信息,验证是否更新成功。

Image Modified

V8_002
V8_002
更新安全补丁文件

前提:安全补丁文件需要更新,且当前补丁工具包的版本为最新。

更新安全补丁文件的方法有两种,分别为“在线更新”和“手动更新”。

注意
补丁工具包的日期为2020年3月10号之后的才支持“在线更新”功能,并且“在线更新”功能要求当前系统环境能正常访问外网,否则会提示更新失败。

在线更新

打开“系统监控 > 安全补丁”界面,点击 在线更新 按钮,系统会到官网上自动获取最新的安全补丁文件进行更新。

Image Modified

更新完成提示如下:

Image Modified

如果当前版本的补丁更新文件已为最新版本,则会提示“已经是最新版本”。

Image Modified

手动更新

1、 先从官网上下载最新的补丁更新文件。下载地址 :Smartbi安全补丁包下载

2、打开“系统监控 > 安全补丁”界面,点击 手动更新 按钮,选择刚下载的安全补丁文件并上传。

Image Modified

3、 安全补丁文件更新成功后立即生效,不需要重启服务器。重新进入“安全补丁”界面查看其版本信息,验证是否更新成功。

Image Modified

说明事项

授权IP地址访问config页面

如果访问smartbi的config和monitor配置页面时,提示“未授权的IP地址,该页面需要授权IP地址才能访问,请联系管理员添加”。

需要找到Smartbi安装目录下的smartbi.properties文件配置你需要允许的

IP,

IP。

信息

可以使用英文逗号分隔设置多个IP属性,例如smartbi.allowedConfigIps=10.10.23.11,10.10.201.1-10.10.201.254,10.10.202.0/24

配置说明如下:

类别
方法
示例
允许所有IP

*号代表全部IP

注:这里不支持10.10.202.*

smartbi.allowedConfigIps=*
精确指定某个ip直接设置对应的ip地址即可。smartbi.allowedConfigIps=10.10.101.11
指定多个ip地址各个ip地址以英文逗号分隔。

smartbi.allowedConfigIps=10.10.101.11,10.10.101.21,

10.10.101.31

指定某个ip段地址指定ip段地址区间,中间用减号(-)连接。smartbi.allowedConfigIps=10.10.101.0-10.10.101.255
指定ip支持标准的掩码

使用 标准CIDR 格式。计算方法可参考:计算方法

smartbi.allowedConfigIps=10.10.23.0/24

注意

1、修改后只需刷新页面即可,无需重启服务器。

2、allowedConfigIps这个属性控制的是config界面 ;如果控制的是monitor界面,对应的属性是allowedMonitorIps。

3、“smartbi.这个前缀是上下方路径 。如果项目不是使用/smartbi/vision访问,而是/smartbiNew/vision/index.jsp这样,则前缀应当是“smartbiNew.”,即smartbiNew.allowedConfigIps。

面板
borderColor#BBBBBB
bgColor#F0F0F0
borderWidth1
borderStylesolid
toc

4、如果服务器为Linux,可以将configip.sh上传到smartbi.properties所在目录,并通过 chmod 755 configip.sh 修改为可执行,再运行 ./configip.sh 通过命令行修改。

命令行修改工具:configip.sh

限制config页面文件访问路径

新建任务,任务类型选择定制,粘贴如下脚本代码:

Image Added

代码块
languagejs
linenumberstrue
//定制任务脚本
importPackage(Packages.smartbi.sdk.service.datasource);

/**
 * 配置路径,请按实际情况修改
 * linux格式:/data/tomcat/bin;windows格式需要转义处理:D:\\\\tomcat\\\\bin
 */
var path="D:\\\\tomcat\\\\bin";

//////////////////////以下部分为判断是否存在key,不存在则新增,存在则更新值,默认即可不需要修改///////////////////////////////
//t_systemconfig表中的key
var key = "JSP_CHOOSER_ROOT_PATH";

//查询知识库中是否存在key的语句
var querySql="select c_value from t_systemconfig where c_key='"+key+"'";

//插入key和value语句
var insertSql="insert into t_systemconfig(c_key, c_value) values('"+key+"','"+path+"')";

//更新value语句
var updateSql="update t_systemconfig set c_value='"+path+"' where c_key='"+key+"'";

//知识库数据源ID
var dsId="DS.SYSTEM知识库";

 var datasrcService = new DataSourceService(connector);
 
  try {
    var res = datasrcService.executeNoCacheable(dsId, querySql);
    
    //logger.info("返回行数:"+res.getRowsCount());
    //如果已经存在key,则更新
    if(res.getRowsCount()>0){
        datasrcService.executeUpdate(dsId, updateSql);
    }else{
       //如果不存在key,则新增
       datasrcService.executeUpdate(dsId, insertSql);
    }
	//清空缓存,如果不需要清空缓存,可手动屏蔽,一般不清空缓存不会立刻生效
    connector.remoteInvoke("CompositeService", "clearCache", []);
  } catch (e) {
        logger.error(e);
    }


修改第9行的路径设置,保存后运行即可:

Image Added

说明:该逻辑会先判断对应的key是否存在,不存在则新增,存在则更新value值;

如果不需要清空缓存,可手动屏蔽第41行代码,一般不清空缓存不会立刻生效

Image Added