JumpServer是全球首款完全开源的堡垒机,基于Python/Django开发,使用 GNU GPL v2.0 开源协议,是符合4A的专业运维审计系统。
编号 | (2021-0115) | 日期 | 2021-01-15 |
特征 | 远程代码执行漏洞 | 等级 | 严重 |
描述 | 由于JumpServer某些接口未做授权限制,攻击者可构造恶意请求获取敏感信息,或者执行相关操作控制其中所有机器,执行任意命令。 相关链接 |
||
影响 | JumpServer < v2.6.2 JumpServer < v2.5.4 JumpServer < v2.4.5 JumpServer = v1.5.9 |
解决方案
升级版本
将JumpServer升级至安全版本:
JumpServer >= v2.6.2
JumpServer >= v2.5.4
JumpServer >= v2.4.5
临时修复方案
修改Nginx配置文件屏蔽漏洞接口:
/api/v1/authentication/connection-token/ /api/v1/users/connection-token/
Nginx配置文件位置:
# 社区老版本
/etc/nginx/conf.d/jumpserver.conf# 企业老版本
jumpserver-release/nginx/http_server.conf# 新版本
jumpserver-release/compose/config_static/http_server.conf
修改 Nginx 配置文件实例:
### 保证在 /api 之前 和 / 之前 location /api/v1/authentication/connection-token/ { return 403; } location /api/v1/users/connection-token/ { return 403; } ### 新增以上这些 location /api/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://core:8080; } ...
修改完成后重启nginx:
# docker docker restart jms_nginx # nginx systemctl restart nginx
修复验证
$ wget https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_bug_check.sh # 使用方法 bash jms_bug_check.sh HOST $ bash jms_bug_check.sh demo.jumpserver.org 漏洞已修复
入侵检测
下载脚本到jumpserver日志目录,这个目录中存在gunicorn.log,然后执行:
$ pwd /opt/jumpserver/core/logs $ ls gunicorn.log gunicorn.log $ wget 'https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_check_attack.sh' $ bash jms_check_attack.sh 系统未被入侵
原创文章禁止转载:技术学堂 » JumpServer远程代码执行漏洞