XXL-JOB 针对未授权访问导致远程命令执行漏洞的声明

果子爸聊技术 2020-10-31 09:58:45 ⋅ 1781 阅读

对于日前 XXL-JOB 被各大云厂商报出存在远程命令执行漏洞的情况,XXL-JOB 作者表示此问题本质上不是“漏洞”,因为官网版本已提供鉴权组件,开启即可防护。具体回应如下:

该问题本质上不属于“漏洞”,官网版本提供了鉴权组件,开启即可进行防护。

该问题类似于将一台 Mysql、Redis 实例,不设置密码并开放给公网,严格来说不能因此说 Mysql、Redis 有漏洞,只需要设置密码即可。

针对此问题,XXL-JOB 作者提供了以下安全防护策略:

  1. 开启 XXL-JOB 自带的鉴权组件:官方文档中搜索 “xxl.job.accessToken” ,按照文档说明启用即可。
  2. 端口防护:及时更换默认的执行器端口,不建议直接将默认的 9999 端口开放到公网。
  3. 端口访问限制:通过配置安全组限制只允许指定 IP 才能访问执行器 9999 端口。

作者还表示后续迭代版本将默认开启鉴权组件,同时重点提升安全性。

根据作者对“漏洞”的分析,问题核心是 GLUE 模式。XXL-JOB 通过“GLUE模式”支持多语言以及脚本任务,该模式任务特点如下:

  • 多语言支持:支持 Java、Shell、Python、NodeJS、PHP、PowerShell……等类型。

  • Web IDE:任务以源码方式维护在调度中心,支持通过 Web IDE 在线开发、维护。

  • 动态生效:用户在线通过 Web IDE 开发的任务代码,远程推送至执行器,实时加载执行。

如上图所示,如果在 GLUE 模式任务代码中写入攻击代码,推送到执行器执行即可造成远程攻击。(问题点)

由于 XXL-JOB 官方版本原生自带鉴权组件,开启后可保障系统底层通讯安全。XXL-JOB 作者表示正常情况下调度中心与执行器底层通讯是安全的,不存在远程命令漏洞。但如果执行器未开启访问令牌,会导致无法识别并拦截非法的调度请求。恶意请求方可以借助 GLUE 模式,推送恶意攻击代码实现远程攻击。如下图所示:

因此,XXL-JOB 作者认为该问题本质上不属于 “漏洞”,官网版本提供了鉴权组件,开启即可进行防护。


XXL-JOB 远程命令执行漏洞的部分通告:

稿源:
https://mp.weixin.qq.com/s/jzXIVrEl0vbjZxI4xlUm-g


全部评论: 0

    我有话说:

    HashiCorp开源Boundary:安全访问动态主机服务

    HashiCorp 宣布开源 Boundary,此项目可帮助运维人员及从业者通过细粒度授权安全地访问动态主机和服务,无需管理凭据或公开网络。 Boundary 旨在使用最小特权原则 (POLP

    XXL-JOB v2.2.0 发布 | 跨语言特性增强

    XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

    Projector 1.0 GA,JetBrains 出品远程访问 IDE 工具

    JetBrains 出品 Projector 1.0 已正式 GA。根据发布公告介绍,Projector 是用于在网络上远程运行 JetBrains IDE 和 Swing 应用程序工具和框架

    「传世之作」Linux命令速查手册出炉!

    查看Linux系统信息 arch      #显示机器处理器架构(1)uname -m  #显示机器

    MongoDB实战篇:数据库备份与恢复/导出导入

    mongodump命令可以通过参数指定导出数据量级转存服务器......

    Java Web实战篇:发布和运维必备12条Linux命令

    作为一名Java起步从业人员,学会一些常用Linux命令是必须

    挖一挖那些让公司网站瘫痪SQL“终结者”

    一条慢查询会造成什么后果?之前我一直觉得不就是返回数据会慢一些么,用户体验变差? 其实远远不止,我经历过几次线上事故,有一次就是由一条 SQL 慢查询导致。 那次是一条 SQL 查询耗时达到 2

    架构实战篇(六):Spring Boot RestTemplate使用

    RestTemplate是Spring提供用于访问Rest服务客户端,RestTemplate提供了多种便捷访问远程Http服务方法,能够大大提高客户端编写效率。

    Nacos 1.4.1 发布,修复指定特殊 UA 可绕过所有鉴权安全漏洞

    Nacos 1.4.1 已发布,此版本主要新功能是支持 IPv6 服务注册,以及为 Csharp 客户端提供 UDP push 支持。 更值得关注是,1.4.1 版本解决了此前被曝出绕过鉴权

    京东技术:如何实现靠谱分布式锁?(附SharkLock设计选择)

    分布式锁,是用来控制分布式系统中互斥访问共享资源一种手段,从而避免并行导致结果不可控。

    微信小程序微商城(九):微信授权并实现个人中心页面页面

    实现微商城微信授权并获取用户信息和个人中心页面布局

    Node实战篇:使用joi来验证数据模型 (十)

    Joi 是 hapijs 自带数据校验模块,他已经高度封装常用校验功能,本文就是介绍如何优雅地使用 joi 对数据进行校验......

    微信小程序:最新微信登录授权并获取openid等信息

    为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏体验版、开发版调用 wx.getUserInfo 接口,将

    老板逼你上微服务了吗?

    “ 这些年软件设计规模越来越庞大,业务需求也越来越复杂,针对系统性能、高吞吐率、高稳定性、高扩展等特性提出了更高要求。   图片来自 Pexels可以说业务需求是软件架构能力

    「开源资讯」MyExcel 3.3.0.GA 发布,终于支持图片导入

    MyExcel,是一个集导入导出、加密Excel等多项功能Java工具包。

    pgAdmin 4 v4.29 发布,PostgreSQL 开源图形化管理工具

    pgAdmin开发团队近期宣布pgAdmin 4小版本v4.29发布。该版本pgAdmin 4包含18个bug修复和新特性。想要获取详细更新列表,请访问版本发布公告。 pgAdmin是一款针对

    BeetlSQL 3.2.3 发布,Java 数据库访问工具

    日常版本更新,包含如下内容 solon 集成使用最新版本1.2.12 新增DebugInterceptor子类SimpleDebugInterceptor,简化SQL日志输出

    消息队列常见问题(二):消息队列产生大量消息堆积怎么解决?

    上一节列举了生产上消息队列产生大量消息堆积会有哪些后果,那相对应解决方法有哪些呢?1、消息被丢弃情况如果要实现防止消息过期问题,最好不要设置过期时间!那设置了过期时间导致消息丢失怎么补救呢?答案

    Google 宣布正式开源 Jib ,帮助 Java 应用快速容器化

    Google 本周宣布开源一款新 Java 工具 Jib ,旨在让开发者使用他们熟悉工具更轻松地将 Java 应用程序容器化。