安全检查扩展包:
本扩展包的核心功能为预防攻击者通过弱密码用户或外链分享功能登录到系统中。
功能包括:
弱密码检查。可以一键检查系统内置的弱密码账户,是否存在常见的弱密码,及时修改,避免攻击者枚举出弱密码登录系统。
弱密码登录拦截。由于弱密码只能检查内置用户的部分常见的弱密码,用户自己创建的账号密码也可能存在弱密码,因此可以配置密码复杂度规则,不符合复杂度的弱密码将无法登录系统,攻击者即使枚举出弱密码也无法登录系统。
关闭外链分享功能。分享功能只建议使用站内分享功能,而外链分享可免密登录系统,若分享的外链泄露了,攻击者便可轻易登录到系统中,因此提供了一键开关,可关闭通过外链分享登录系统的功能(仍可分享外链,但外链无法使用)。
部署扩展包,详细说明请参考Wiki链接::部署扩展包
适用版本: 该扩展包支持V8-V11,jdk 要1.8及以上,所有发包版本的war包需要在2023年9月22号以后的才生效、V87在2023年11月9号以后的生效。
部署好扩展包并启动 Smartbi 后,登录管理员,之后访问 /smartbi/vision/securechecker.jsp 打开配置页面,之后按照页面上的提示操作即可。
首先来到内置用户弱密码检查页面,点击开始检查按钮,稍等一会即可出现结果。如下图所示,检查到首页和 config 页均存在弱密码用户。
检查到弱密码后,需要及时修改密码为复杂密码。
若未检查出弱密码,并不代表系统中不存在弱密码。
其中 config.jsp 页面请主动确认是否为弱密码,并修改为复杂密码。
由于只能检测部分弱密码,因此可以开启登录密码复杂度限制,不符合复杂度的账户不允许登录系统。
如下图所示,开启限制开关并配置正则表达式后,限制就生效了。
图中的表达式的含义为:必须包含数字和字母,并且为 8 位以上。
若管理员账号的密码不符合要求,注销登录后,管理员将无法登录系统。
需要确保当前登录的管理员账号的密码是符合复杂度要求的,可在下方的复杂度测试中验证。
开启限制后,新开一个无痕浏览器前往首页登录系统,若密码不符合正则表达式,则会提示禁止操作:
同样的,已登录的用户,修改密码为弱密码,也会提示禁止操作。
报表集成时,若在 url 上的参数中有 password 且值为弱密码,则页面也会提示禁止操作。
因此在开启该功能前,需要确保类似方式用到的密码都要先改成复杂密码。
开启登录密码复杂度限制后,若用户因弱密码无法登录系统,则只能由管理员在用户管理中修改密码。
若管理员也因弱密码无法登录系统,则需要使用数据库工具连接知识库执行以下 sql:
delete from t_systemconfig where c_key = 'securityCheckerConfig' |
执行完后重启 Smartbi,此时会禁用复杂度限制。
点击开关关闭外链分享功能(默认是启用)
关闭后,仍可通过外链分享报表,但是打开外链(share.jsp)时,会提示模块已被禁用。
注:部分低版本 Smartbi 无外链分享功能,也可禁用外链分享,或者忽略该功能即可。