前言
安全组针对系统漏扫发现系统存在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;
    }
}
 
上面配置的用户名密码等属性可以单独抽到配置文件,以配置项的形式读取,配置完成后,启动项目,访问监控页面,如下
 












![[第五名公共排行榜] LGB 连续学习 + Catboost 集成](https://img-blog.csdnimg.cn/direct/1ebbb62896e04bfeae8d324b6bb57c13.jpeg)






