页面树结构

版本比较

标识

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

...

二、V11的安全加固建议

1.安全加固类型

根据实际需求选择安全加固优先级

需求分类

风险特征

风险事件

数据权限加固

用于不同用户访问数据的范围是不一样的,如处理财务数据、客户信息、核心业务数据,

数据越权访问、内部人员滥用权限、数据篡改或窃取

资源权限加固

如基于财务数据创建的报表,只有财务人员和领导层可看,主要控制基于系统创建的报表、数据模型等资源的查看/编辑权限,敏感报表建议设置用户访问权限

用户访问超出权限的目录

操作权限加固

敏感功能限制,如自定义计划任务、自助ETL、原生SQL等给用户很大灵活空间的功能同样会带来操作风险

功能包含敏感信息或开放风险较高

系统攻击防御

安全漏洞、界面暴力破解、

IP地址伪造

已存在的安全漏洞没有更新安全补丁、登录界面或配置界面被暴力破解

按场景进行区分攻击防御的手段

场景分类

场景示例

风险

必须加固措施

建议增强措施

外网暴露环境

  • 考核认证服务器(需要开放报表开发功能的系统,例如数据分析师认证考核系统、技能比赛系统)

  • 攻击导致服务不可用

  • 暴力破解获取管理员账号

  • 及时更新系统安全补丁

  • 限制IP地址访问config、monitor、defender页面

  • 关闭DDL/DML语句执行权限

  • 敏感功能的权限控制

  • 数据挖掘安全配置

  • 导出引擎配置白名单

  • 限制前端获取系统选项中的敏感信息

  • 通过安全卫士设置内外网访问请求黑名单限制

  • IP地址伪造

  • 限制config/chooser.jsp文件访问路径

  • 防止 index 登录界面暴力破解

  • 数据加密传输

  • 删除tomcat/webapps目录下的多余应用

外网仅浏览权限场景

  • 对外展示型系统(如企业官网、产品手册)

  • 用户只能查看数据,无写入/导出权限

  • 目录遍历攻击

  • 获取系统敏感信息

  • 限制config/chooser.jsp文件访问路径

  • 数据挖掘安全配置

  • 导出引擎配置白名单

  • 及时更新系统安全补丁

  • 限制 IP地址访问config、monitor、defender页面

  • 限制前端获取系统选项中的敏感信息

  • 通过安全卫士设置内外网访问请求黑名单限制

  • IP地址伪造

  • 关闭DDL/DML语句执行权限

  • 敏感功能的权限控制

  • 防止 index 登录界面暴力破解

  • 数据加密传输

  • 删除tomcat/webapps目录下的多余应用

内网场景

  • 仅限内部员工访问,无外网入口

  • 内部越权操作

  • 员工导出敏感数据

  • 限制config/chooser.jsp文件访问路径

  • IP地址伪造

  • 防止 index 登录界面暴力破解

2.数据权限加固

【按需加固】数据权限设置

数据权限设置:数据权限

...

强制启用导出规则控制数据导出,在系统选项-安全设置中配置

Image Modified

3.资源权限加固

【建议加固】限制config/chooser.jsp文件访问路径

在 运维设置>常用功能>系统选项>高级设置 中,设置JSP_CHOOSER_ROOT_PATH设置项可限制config/chooser.jsp页面文件访问路径,值为限制用户可选的最大可选择根目录。

Windows环境部署smartbi应用,注意路径斜杠的区别:

Image Modified

Linux环境部署smartbi应用,注意路径的反斜杠的区别:
Image Modified
注意: 展示的“文件位置”以高级系统选项中配置的目录为准,不允许用户选择超出的目录,或者弹出提示超出配置的目录的范围
Image Modified
Image Modified

4.操作权限加固

【必须加固】敏感功能的权限控制

功能

建议加固级别

权限建议

安全设置->定制任务

必须加固

只开放给管理用户

安全设置->系统监控

必须加固

只开放给管理用户

安全设置->错误详情

建议加固

只开放给管理用户

安全设置->系统日志

建议加固

只开放给管理用户

数据准备->数据集->数据模型->脚本查询

建议加固

只开放给管理用户

数据准备->数据集->数据模型->SQL查询

建议加固

只开放给管理用户

数据准备->数据集->数据模型->JAVA查询

建议加固

只开放给管理用户

数据准备->数据集->数据模型->存储过程查询

建议加固

只开放给管理用户

数据准备->自助 ETL->Python 脚本

建议加固

只开放给管理用户

数据挖掘->实验管理->Python 脚本

建议加固

只开放给管理用户

系统选项->不允许调用没有用权限的服务接口(越权访问)

建议加固

手工修改为 true

【外网-必须加固】数据挖掘安全配置

配置为只允许内部服务器的 IP 访问数据挖掘相关的服务,不开放外网访问。

...

  1. 进入到实际应用服务器环境的bin目录找到 smartbi.properties 文件,以tomcat服务器为例子,如下图:

Image Modified

在文件中新增如下配置项目

配置方式如下:
设置config.jsp可以使用英文逗号分隔设置多个IP属性,例如smartbi.allowedConfigIps=10.10.23.11,10.10.201.1-10.10.201.254,10.10.202.0/24
设置monitor可以使用英文逗号分隔设置多个IP属性,例如smartbi.allowedMonitorIps=10.10.23.11,10.10.201.1-10.10.201.254,10.10.202.0/24
设置defender.jsp可以使用英文逗号分隔设置多个IP属性,例如smartbi.allowedDefenderConfigIps=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

Image Modified

  • 验证是否配置成功

使用非开放ip的电脑访问config界面,提示没有权限,联系管理员则表示配置成功,反之则不成功。

下图表示是配置成功的提示内容

Image Modified

如果使用未配置IP访问,则显示如下截图:

Image Modified

详细说明可查看当前Wiki文档的【说明事项】章节:

...

登录config.jsp页面内的知识库的【密码】项要勾选【加密保存】

Image Modified

【必须加固】限制前端获取系统选项中的敏感信息

...

对于系统安全来说,用户登录密码强度是一个系统安全检测点,如何提高用户密码的安全性,比如说进行口令复杂度校验以及定期更新密码:
1)密码位数要求8位以上(含8位);
2)密码需有一定的复杂度(有字母、数字的混合);
3)设置密码有效期;
可以通过【运维设置】>【常用功能】>【系统选项】>【用户管理】–>用户密码复杂度设置(正则表达式)以及密码有效周期(天)
正则表达式:^(?![^a-zA-Z]+$)(?!\D+$)[a-zA-Z0-9]{8,}$

Image Modified

PS:密码有效期周期(天):用于限制用户密码的有效时间,到使用期限前3天,消息中心中会提示用户联系管理员、修改密码。 

效果验证:
当用户设置密码的时候,就会校验密码复杂度。对于之前已设置密码的,需要单独进行修改,登录界面不会进行密码复杂度设置校验。

Image Modified

更多详情请查看:https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=76679302

...

2、进行黑名单限制,需要对外网流量入口进行识别,比如说可以通过代理将互联网流量转发到smartbi,这时候设置的就是代理的IP或者请求头标识。设置方式参考 wikihttps://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=119277439

Image Modified

3、设置启用安全卫士。

...

默认限制请求勾选【高危类别】,拦截执行计划任务、java 查询等高危动作的请求;请务必勾选此选项。

Image Modified


还可以根据实际需要,自定义添加白名单/黑名单请求;

Image Modified


更多详情请查看:内外网隔离最小化

...

1、进入tomcat的配置目录下(%tomcatHome%\conf)修改server.xml文件中的Host的name属性为指定ip或域名。

Image Modified

nginx配置方式:

  1. 进入到nginx目录下的conf/nginx.conf文件中的server server_name 指定ip或域名。

...

这里的ip要根据需要进行替换 192.168.137.1 10.11.27.46 、 192.168.137.1|10.11.27.46

Image Modified

SSL弱密码支持

通过配置中间件或代理来排除不安全的加密方式。

...

代码块
languagejava
linenumberstrue
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE;

Image Modified

Tomcat暴露异常堆栈信息

...

代码块
languagejava
linenumberstrue
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />

Image Modified

启用了没必要的 http 请求类型

...

代码块
languagejava
if ($request_method ~ ^(PUT|DELETE|OPTIONS|HEAD)$) {
return 403;
}

Image Modified

【必须加固】IP地址伪造

...

代码块
languagejava
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

Image Modified

注意

$proxy_add_x_forwarded_for会将和Nginx直接连接的客户端IP追加在请求原有X-Forwarded-For值的右边。所以依然可以伪造 IP。检查 nginx 是否有proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;这个配置项,如果有要删除。

...

Tomcat自带很多应用,非项目需要情况下,建议可考虑移除相关文件夹,避免因这类多余应用造成安全问题。

Image Modified

其他组件

其他组件比如 mysql、redis、smartbimpp、跨库、proxy 的推荐配置。

http://10.10.109.93:8090/pages/viewpage.action?smt_poid=43&pageId=146441245

Image RemovedImage Added