Redis安全配置

禁止监听在公网

在redis的配置文件redis.conf中配置如下:
bind 127.0.0.1或者内网IP,然后重启redis

禁止使用root用户启动

使用root切换到redis用户启动服务:

1
2
useradd -s /sbin/nolog -M redis 
sudo -u redis /<redis-server-path>/redis-server /<configpath>/redis.conf

限制redis 配置文件访问权限

执行以下命令修改配置文件权限:

1
chmod 600 /<filepath>/redis.conf

禁用或者重命名危险命令

修改 redis.conf 文件,添加

1
2
3
4
5
6
7
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""
rename-command SHUTDOWN ""
rename-command DEL ""
rename-command EVAL ""

然后重启redis。
重命名为”” 代表禁用命令,如想保留命令,可以重命名为不可猜测的字符串,如:
rename-command FLUSHALL joYAPNXRPmcarcR4ZDgC

修改默认6379端口

编辑文件redis的配置文件redis.conf,找到包含port的行,将默认的6379修改为自定义的端口号,然后重启redis

开启redis密码认证,并设置高复杂度密码

打开redis.conf,找到requirepass所在的地方,修改为指定的密码,密码应符合复杂性要求:

1
2
3
4
5
6
7
1、长度8位以上
2、包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、%、@、^、&等,#除外)
3、避免使用已公开的弱密码,如:abcd.1234 、admin@123等

再去掉前面的#号注释符,然后重启redis

打开保护模式

redis.conf安全设置: # 打开保护模式 protected-mode yes
useradd -s /sbin/nolog -M redis