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包会停止运行。
相关推荐
RestCloud5 小时前
从架构师视角看ETL工具选型:如何构建可演进的数据集成平台
数据仓库·etl·cdc·数据处理·数据传输·elt
卷毛迷你猪15 小时前
快速实验篇(A3)基于 Hive 的气象数据数仓构建与干旱指标初步分析
大数据·hadoop·分布式
卷毛迷你猪15 小时前
快速实验篇(A4)Hive 数据仓库进阶:全站点干旱事件识别与多维统计分析
数据仓库·hive·hadoop·分布式
冰上浮云16 小时前
Gravitino iceberg catalog backend 为hive 获取元数据过程
数据仓库·hive·hadoop·gravitino
段一凡-华北理工大学16 小时前
工业领域的Hadoop架构学习~系列文章06:Hive数据仓库
数据仓库·hadoop·架构·高炉炼铁·工业智能体·高炉智能化·hive数据仓库
zgl_200537791 天前
源代码:跨数据库通用SQL语法解析与标注拆解
大数据·数据库·数据仓库·sql·etl·源代码管理
暴躁小师兄数据学院1 天前
【AI大数据工程师特训笔记】第13讲:数据库性能手术刀
大数据·数据库·数据仓库·sql·postgresql
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章04:YARN资源调度架构
人工智能·hadoop·学习·架构·系统架构·高炉炼铁·高炉炼铁智能化
卷毛迷你猪2 天前
快速实验篇(A2-2)数据清洗规则修正与多语言实现验证
hadoop·分布式
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章05:Kafka消息队列 - 工业数据流传输
人工智能·hadoop·学习·架构·kafka·工业智能体·高炉炼铁智能化