...
需求分类 | 风险特征 | 风险事件 |
数据权限加固 | 用于不同用户访问数据的范围是不一样的,如客户信息、核心业务数据,各个区域负责人只能看自己区域 | 数据越权访问、内部人员滥用权限、数据篡改或窃取 |
资源权限加固 | 如基于财务数据创建的报表,只有财务人员和领导层可看,主要控制基于系统创建的报表、数据模型等资源的查看/编辑权限,敏感报表建议设置用户访问权限编辑权限,敏感报表建议设置用户访 问权限 | 用户访问超出权限的目录 |
操作权限加固 | 敏感功能限制,如自定义计划任务、自助ETL、原生SQL等给用户很大灵活空间的功能同样会带来操作风险 | 功能包含敏感信息或开放风险较高 |
系统攻击防御 | 安全漏洞、界面暴力破解、IP地址伪造 | 已存在的安全漏洞没有更新安全补丁、登录界面或配置界面被暴力破解 |
...
强制启用导出规则控制数据导出,在系统选项-安全设置中配置。具体配置请参考文档:系统选项-安全设置
3.资源权限加固
锚限制config/chooser.jsp文件访问路径 限制config/chooser.jsp文件访问路径
限制config/chooser.jsp文件访问路径 | |
限制config/chooser.jsp文件访问路径 |
...
登录config.jsp页面内的知识库的【密码】项要勾选【加密保存】
【建议加固】防止 index 登录界面暴力破解
...
对于系统安全来说,用户登录密码强度是一个系统安全检测点,如何提高用户密码的安全性,比如说进行口令复杂度校验以及定期更新密码:
1)密码位数要求8位以上(含8位);
2)密码需有一定的复杂度(有字母、数字的混合);
3)设置密码有效期;
可以通过【运维设置】>【常用功能】>【系统选项】>【用户管理】–>用户密码复杂度设置(正则表达式)以及密码有效周期(天)
正则表达式:^(?![^a-zA-Z]+$)(?!\D+$)[a-zA-Z0-9]{8,}$
PS:密码有效期周期(天):用于限制用户密码的有效时间,到使用期限前3天,消息中心中会提示用户联系管理员、修改密码。
效果验证:
当用户设置密码的时候,就会校验密码复杂度。对于之前已设置密码的,需要单独进行修改,登录界面不会进行密码复杂度设置校验。
更多详情请查看:用户密码复杂度设置参考
【建议加固】开启双因素验证、登录锁定的功能
在V11版本5月7日之后的安装包,可以开双因素验证、登录锁定的功能。结合密码+动态验证方式登录、密码多次错误即锁定账号等手段,可以大大降低黑客通过暴力破解或猜测密码等手段获取用户账户控制权的可能性。
更多详情请查看:用户管理-用户登录管理(双因素验证、登录锁定)
【外网-必须加固】通过安全卫士设置内外网访问请求黑名单限制
如项目必须要开放外网访问smartbi系统的权限,为提升系统访问安全性,建议开启黑名单访问限制。对于功能权限以及接口权限进行外网限制调用,从而降低外网系统被攻击后所带来的系统风险。
...
2、进行黑名单限制,需要对外网流量入口进行识别,比如说可以通过代理将互联网流量转发到smartbi,这时候设置的就是代理的IP或者请求头标识。设置方式参考 wiki内外网隔离最小化网络请求安全卫士
3、设置启用安全卫士。
...
默认限制请求勾选【高危类别】,拦截执行计划任务、java 查询等高危动作的请求;请务必勾选此选项。
还可以根据实际需要,自定义添加白名单/黑名单请求;
(wiki 文档还没更新新功能的说明)
【建议加固】防止会话固定攻击/会话劫持
...
1、进入tomcat的配置目录下(%tomcatHome%\conf)修改server.xml文件中的Host的name属性为指定ip或域名。
nginx配置方式:
进入到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
SSL弱密码支持
通过配置中间件或代理来排除不安全的加密方式。
...
代码块 | ||||
---|---|---|---|---|
| ||||
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE; |
Tomcat暴露异常堆栈信息
...
代码块 | ||||
---|---|---|---|---|
| ||||
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" /> |
启用了没必要的 http 请求类型
...
代码块 | ||
---|---|---|
| ||
if ($request_method ~ ^(PUT|DELETE|OPTIONS|HEAD)$) { return 403; } |
【必须加固】防止IP地址伪造
...
代码块 | ||
---|---|---|
| ||
proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; |
提示 |
---|
注意
|
...
如果无法配置前置代理,可以通过运维设置>常用功能>系统选项>高级设置进行配置:
# 是否开启防止IP伪造,如果有前置代理的情况下不能开启。
HAS_ENABLED_IP_PORGERY=true
...
Tomcat自带很多应用,非项目需要情况下,建议可考虑移除相关文件夹,避免因这类多余应用造成安全问题。
7.其他组件
其他组件比如 mysql、redis、smartbimpp、跨库、proxy 的推荐配置。
...