1. Redis密码安全防护的必要性
最近处理了一个典型的Redis安全事件:某台公网服务器的Redis实例被植入了挖矿脚本。攻击者通过未授权访问的Redis服务,注入了四个定时任务(backup1到backup4),这些任务会定期从恶意域名下载并执行init.sh脚本。这个脚本会执行一系列危险操作,包括关闭安全防护、植入挖矿程序、建立SSH后门等。
1.1 Redis未授权访问的危害链分析
攻击者利用Redis未授权漏洞实施攻击的完整链条如下:
- 初始入侵:攻击者扫描公网6379端口,发现未设置密码的Redis实例
- 持久化机制滥用:通过Redis的
set命令写入定时任务到/etc/crontab - 恶意脚本下载:定时任务从攻击者控制的服务器下载init.sh脚本
- 横向渗透:脚本进一步下载masscan/pnscan等工具扫描其他主机
- 挖矿程序部署:最终下载执行门罗币挖矿程序xmrig
1.2 安全防护的基本原则
根据Redis官方安全建议和实际运维经验,应遵循以下原则:
- 最小暴露原则:非必要不开放公网访问,通过安全组限制访问IP
- 认证授权原则:必须启用密码认证,且密码强度需符合要求
- 权限最小化:Redis服务应以非root用户运行
- 日志审计:开启Redis的慢查询日志和操作日志
重要提示:即使在内网环境,如果存在多租户场景,也应启用密码认证。内网安全同样不容忽视。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Redis密码设置全方案详解
2.1 配置文件永久设置法
这是生产环境推荐的标准做法,通过修改redis.conf实现持久化配置。
2.1.1 配置文件位置查找
| 系统环境 | 默认路径 | 查找方法 |
|---|---|---|
| Linux源码安装 | /usr/local/redis/redis.conf | find / -name redis.conf |
| Linux包管理安装 | /etc/redis/redis.conf | whereis redis |
| Windows | 安装目录下的redis.windows.conf | 资 |
