01 Druid未授权错误及解决方案

目录

[1 问题描述](#1 问题描述)

[2 解决方案](#2 解决方案)

[2.1 处理思路](#2.1 处理思路)

[2.2 具体操作](#2.2 具体操作)

[3 过程中遇到困难](#3 过程中遇到困难)


Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。

1 问题描述

直接在网站的url中后加上:/druid/index.html

如果可以无需登录,即可登录到Druid监控界面,则说明该网站存在Druid未授权访问漏洞!

如果没有安全漏洞,则要么是出现登录界面,要么直接弹Whitelabel Error Page错误了。

危害:

监控界面会显示数据源,sql监控,sql防火墙,web应用,url监控,session监控,spring监控等信息,可以详细监控该网站的情况,获取敏感信息,攻击者无需登录即可直接获取这些信息。如果有Druid未授权漏洞,则可能会造成数据泄露、服务器失陷等危害。

2 解决方案

2.1 处理思路

这类Druid未授权漏洞的处理建议为:

  1. 设置StatViewServlet(监控页面)为 false。
  2. 给druid的web页面设置账户密码,增加访问druid的权限。

2.2 具体操作

修改java程序的yml文件,在yml文件中找到如下内容

java 复制代码
spring:
  datasource:
    druid:
      max-active: 10
      min-idle: 1
      stat-view-servlet:
        # 是否启用StatViewServlet(监控页面),默认true-启动,false-不启动
        enabled: true
        # 禁用HTML页面上的"Reset All"功能
        reset-enable: false
        # 设置账户名称(增加登录权限)
        login-username: xxxx
        # 设置账户密码
        login-password: xxxxxxxx
        # IP白名单(没有配置或者为空,则允许所有访问)
        allow: 127.0.0.1
        # IP黑名单(存在共同时,deny优先于allow)
        deny: 10.0.0.1
        # 自定义druid连接
        url-pattern: '/druid/*'

方案1:如果enabled设置为true,同时设置了账户密码,则用户访问/druid/index.html页面时,会弹出登录界面:

用户在登录之后,即可查看后台监控信息。

方案2:如果enabled设置为false,相当于把监控页面关了,会弹出如下界面:

3 过程中遇到困难

由于我是在本地打的jar包,然后在服务器上启动的,运行过程中遇到的几个坑:

  1. 修改yml文件后,要本地运行一下,如果报错直接跳过不用管,然后再打包;如果直接打包,可能打的不是你修改的yml
  2. 将打的包拷贝到服务器后,在启动服务之前,要使用 ps aux指令查看一下是否存在你这个jar包的进程
    1. 如果有,找到进程的PID,
      1. 然后使用 kill -9 PID命令,将这个正在运行的PID关掉。(排查过程可以从index.html页面上的日期和你的jar包的名称快速定位到要找的PID)
      2. 然后使用 java -jar **.jar命令,启动你新编译的jar包。
    2. 如果没有,直接使用 java -jar **.jar命令,启动你新编译的jar包。
  3. 启动完成后,会在控制台出现 startup的字样,说明启动成功了;如果没弹出来,就再检查下,看看是不是上面的步骤没有做到位。
  4. 在启动jar包时,如果希望该jar包一直运行,则需要使用指令 java -jar **.jar & 命令;不加 & 则可能在息屏时,jar包会停止运行。
相关推荐
计艺回忆路2 小时前
Hive自定义函数(UDF)开发和应用流程
hive·自定义函数·udf
万能小锦鲤16 小时前
《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
java·hadoop·eclipse·hbase·shell·vmware·实验报告
天翼云开发者社区1 天前
数据治理的长效机制
大数据·数据仓库
王小王-1231 天前
基于Hadoop与LightFM的美妆推荐系统设计与实现
大数据·hive·hadoop·大数据美妆推荐系统·美妆商品用户行为·美妆电商
一切顺势而行1 天前
hadoop 集群问题处理
大数据·hadoop·分布式
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践
hive·hadoop·ubuntu·flink·spark·vmware·实验报告
项目題供诗2 天前
Hadoop(二)
大数据·hadoop·分布式
Leo.yuan2 天前
ETL还是ELT,大数据处理怎么选更靠谱?
大数据·数据库·数据仓库·信息可视化·etl
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告五 熟悉 Hive 的基本操作
hive·hadoop·ubuntu·eclipse·vmware·实验报告·hiveql
張萠飛2 天前
flink sql如何对hive string类型的时间戳进行排序
hive·sql·flink