漏洞描述:Druid是阿里巴巴出品,为监控而生的数据库连接池。它提供监控SQL的执行时间、监控 Web URI的请求、Session监控等功能。
需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。
漏洞影响:未正确配置druid访问控制的用户可能受影响。
漏洞修复方案
修复原理:
若不需要使用此功能可将其关闭,否则使用访问控制规则限定IP或指定用户密 码。
修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复
1、修改web.xml配置
方案描述: 若不需要使用此功能可将其关闭,否则使用访问控制规则限定IP或指定用户密码。
修复流程: 配置监控,使用访问控制规则限定IP或指定用户密码 > 完成
风险概述: 修改配置文件需要重启业务,可能影响业务正常运行
修复依据: 根据漏洞原理修复 操作前提 修改前需要备份web.xml文件
具体操作步骤如下:
步骤1 配置监控,使用访问控制规则限定IP或指定用户密码
更改web.xml配置文件里面的白名单、用户名和密码三处地方。
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.login-username=自定义用户名
spring.datasource.druid.stat-view-servlet.login-password=强口令
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 #禁止暴露公网
步骤2 重启服务
2.禁用Druid监控页功能
为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。
优点:
(1)彻底避免未授权访问风险
(2)配置起来比较更加简单,禁用后无需再关心密码被破解问题
缺点:
(1)彻底禁用后,自己也无法使用Druid监控页功能
(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性
在application.properties配置文件中添加一行代码即可:
#是否启用StatViewServlet(监控页面),true-启动,默认false-不启动,对于某些低版本druid-spring-boot-starter.jar默认是true
spring.datasource.druid.stat-view-servlet.enabled=false

2596

被折叠的 条评论
为什么被折叠?



