近日,我们部署的服务器扫描到了xxl-job-admin定时任务的漏洞,需要进行修复,特此记录。
一、问题描述
详细描述:
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。executor默认没有配置认证,未授权的攻击者可以通过RESTful API执行任意命令。
二、修复思路
修复:
增加授权验证,配置 xxl.job.accessToken 防止未授权访问漏洞。
三、解决方案
具体步骤(容器部署):
(1)重新运行xxl-job-admin容器,加参数。
docker run -d --restart=always --network host \
-e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.1.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver --xxl.job.accessToken=Abvsdf23459fdhsdg8fdg503" \
-v /home/xxl-job:/data/applogs/xxl-job \
--name xxl-job-admin \
xxl-job-admin:2.4.1
(2)对应调用的应用程序修改配置文件,之后重启程序即可。(自定义复杂的随机字符串)
xxl.job.accessToken=Abvsdf23459fdhsdg8fdg503
四、验证
# 响应code500
curl -X POST "http://192.168.1.1:9090/xxl-job-admin/api/checkToken" -H "XXL-JOB-ACCESS-TOKEN: Abvsdf23459fdhsdg8fdg503"
# 响应code200
curl -X POST "http://192.168.1.1:9994/beat" -H "XXL-JOB-ACCESS-TOKEN: Abvsdf23459fdhsdg8fdg503"

358

被折叠的 条评论
为什么被折叠?



