漏洞描述
Redis 服务因配置不当,可被攻击者恶意利用。黑客借助 Redis 内置命令,可将现有数据恶意清空;如果 Redis 以 root 身份运行,黑客可往服务器上写入 SSH 公钥文件,直接登录服务器。
受影响范围
对公网开放,且未启用认证的 Redis 服务器
修复方案
注意:以下操作,均需重启 Redis 后才能生效。
-
绑定需要访问数据库的 IP。 将
Redis.conf
中的bind 127.0.0.1
修改为需要访问此数据库的 IP 地址。 -
设置访问密码。在
Redis.conf
中requirepass
字段后,设置添加访问密码。 -
修改 Redis 服务运行账号。以较低权限账号运行 Redis 服务,且禁用该账号的登录权限
-
下面我们配置普通用户启动redis
1 、安装redis之类的简单操作就忽略,yum -y install redis (简单的yum 安装实验即可)。
2 、创建普通用户:
useradd -s /sbin/nologin redistest
3 、创建需要到的文件夹:
cd /home/redistest
mkdir log dbdata run
cp /etc/redis.conf /home/redistest/redistest.conf
4 、并且修改文件夹权限:
chow -R redistest:redistest /home/redistest/*
5 、修改redis.conf的配置文件
vim redis.conf
下面的pid路径,log路径和db路径都写到对应的位置。
pidfile "/home/redistest/run/redis_6379.pid"
logfile "/home/redistest/log/redis.log"
dbfilename "dump.rdb"
dir "/home/redistest/dbdata"
6 、修改redis 的启动方式 vim /usr/lib/systemd/system/redis.service:
6 、启动redis ,systemctl restart redis.service
7 、查看进程,ps -aux|grep redis 即可看到redis 的启动方式。