Redis从3.2版本添加的新功能。主要是限制远程IP对Redis服务的访问。
一、概述
之前很多部署Redis服务的Linux机器因为没有做好安全设置,被hacker攻克。
1.1、错误使用场景
一般情况下,Redis服务会使用ROOT账号启动后台运行;并监听的网络端口,对外提供访问。
很多人在使用Redis时,不会对其设置用户登录验证。在以上的情况下,如果没有在防火墙上限制可以访问Redis服务端口的客户端IP地址的话,机器很容易会被攻克。
1.2、攻击原理简述
因 Redis 服务没有对登录用户开启验证功能;hacker通过远程用户登录到我们的Redis服务上。通过使用config命令,hacker可以修改系统的任意文件。比如ssh的证书文件,这样用户就可以使用key登陆系统了。
$ redis-cli -h 192.168.1.100
$ 192.168.1.100:6379> config set dir /root/.ssh/
OK
$ 192.168.1.100:6379> config get dir
1) "dir"
2) "/root/.ssh"
$ 192.168.1.100:6379> config set dbfilename "authorized_keys"
OK
$ 192.168.1.100:6379> save
OK
二、bind 绑定网卡
默认情况redis绑定所有的网卡,监听6379端口。
可以设置只绑定在回环网卡(127.0.0.1)上,这样只能本机访问。
三、protected-mode 保护模式
默认开启;如果你需要远程IP访问此Redis服务,不进行用户登录验证的情况下,访问Reids服务;需要禁用保护模式。
禁用方式:CONFIG SET protected-mode no