Druid未授权访问漏洞修复
druid
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
项目地址:https://gitcode.com/gh_mirrors/druid/druid
免费下载资源
·
前言
安全组针对系统漏扫发现系统存在Druid未授权访问,会引发泄露系统敏感信息,漏洞链接为ip:端口/druid/index.html
,可以清楚的查看数据库的相关连接信息,如下图所示:
漏洞修复
1、关闭Druid监控页面
在Druid的配置中,有一个控制监控页面是否启用的配置,默认为true,开启监控页面,我们可以设置其为false彻底关闭监控页面,配置如下:
#application.properties配置
spring.datasource.druid.stat-view-servlet.enabled = false
#application.yml配置
spring:
datasource:
druid:
stat-view-servlet:
enabled: false
再次访问Druid监控页面,无法展示
2、设置账密登录监控页面
通过暴力关闭监控页面的方式也阻断了对Druid的监控,因此我们可以配置监控页面的访问控制,注册一个Druid访问控制的bean,如下
import com.alibaba.druid.support.http.StatViewServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/**
* @version V1.0
* @ClassName: DruidConfig
* @Description: Druid 授权访问
*/
@Configuration
public class DruidConfig {
// 注册后台监控界面
@Bean
public ServletRegistrationBean servletRegistrationBean(){
// 绑定后台监控界面的路径 为localhost/druid
ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
Map<String,String>map=new HashMap<>();
// 设置后台界面的用户名
map.put("loginUsername","");
//设置后台界面密码
map.put("loginPassword","");
// 设置那些ip允许访问," " 为所有
map.put("allow","");
bean.setInitParameters(map);
return bean;
}
}
上面配置的用户名密码等属性可以单独抽到配置文件,以配置项的形式读取,配置完成后,启动项目,访问监控页面,如下
GitHub 加速计划 / druid / druid
3
3
下载
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
最近提交(Master分支:4 个月前 )
9faeba9f - 2 天前
5a1a5f0f - 2 天前
更多推荐
已为社区贡献2条内容
所有评论(0)