redis漏洞修复-使用redis普通用户启动redis服务程序(禁止root用户权限)
2.Redis服务以root权限运行
应用:Redis
危险程度:高危
风险描述:Redis服务以root权限运行,攻击者可通过Redis对服务器文件进行任意操作或者执行命令。通过查询命令获取敏感信息,通过写入公钥信息获取ssh登录权限等。如果Redis为root权限,攻击者则无需提权直接对服务器进行操作。
验证信息:检查Redis运行的uid和gid是否为0,运行Redis服务的uid为:0,gid为: 0
修复建议:备份数据(bgsave/save)后,在系统中新增加用户(useradd redis) 并给Redis数据文件赋予该新用户的权限,然后使用该新增加的用户(非root权限的用户)运行Redis,使得Redis启动后仍然可以从rdb或aof数据文件中快速建立缓存内容
修复方式:
在root用户下执行
useradd redis #创建用户,采用默认的用户组redis即可
chown -R ./redis安装目录日志目录文件目录等 redis:redis #将redis应用文件的所有者更换为redis
chmod -R 750 ./redis安装目录日志目录文件目录等 #将redis应用文件的权限改为750
#启动redis,root用户下可以用systemctl status/start/stop/restart redis-server.service管理服务,但是改为普通用户(不具备systemctl管理服务的权限)运行后,采用此命令启动
sudo -u redis /usr/bin/redis-server /etc/redis.conf --daemonize yes
或
su redis
/usr/bin/redis-server /etc/redis.conf --daemonize yes
修复影响:服务重启