限制redis配置文件的访问权限
执行以下命令修改配置文件权限:(表示只有拥有者可读可写)
chmod 600 //redis.conf
禁止监听在公网 访问权限
描述
redis监听在0.0.0.0 , 可能导致服务对外或内网横向移动渗透风险,极易被黑客利用入侵。
加固建议
在redis的配置文件redis.conf中配置如下: bind 127.0.0.1或者内网IP,然后重启redis
其他 :
建议在正式环境禁止redis监听在公网 , 测试环境根据需求而定 , 因为这个配置影响到外网是否可以连接到redis , 有一部分影响到了本地调试。
修改默认6379端口 服务配置
描述
避免使用熟知的端口,降低被初级扫描的风险
加固建议
编辑文件redis的配置文件redis.conf,找到包含port的行,将默认的6379修改为自定义的端口号,然后重启redis
其他
如果redis设置了内网访问 , 那么修改默认的端口已经无意义了
打开保护模式
描述
redis默认开启保护模式。要是配置里没有指定bind和密码,开启该参数后,redis只能本地访问,拒绝外部访问。
检查提示
加固建议
redis.conf安全设置: # 打开保护模式 protected-mode yes
其他
如果redis设置了内网访问和设置了密码 , 请忽略此设置
禁用或者重命名危险命令 入侵防范
描述
Redis中线上使用keys *命令是非常危险的,应该禁用或者限制使用这些危险的命令,可降低Redis写入文件漏洞的入侵风险。
加固建议
修改 redis.conf 文件,添加
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
开启redis密码认证,并设置高复杂度密码 身份鉴别
描述
redis在redis.conf配置文件中,设置配置项requirepass, 开户密码认证。 redis因查询效率高,auth这种命令每秒能处理9w次以上,简单的redis的密码极容易为攻击者暴破。
加固建议
打开redis.conf,找到requirepass所在的地方,修改为指定的密码,密码应符合复杂性要求:
1、长度8位以上
2、包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、#、%、@、^、&)
3、避免使用已公开的弱口令,如:abcd.1234 、admin@123等
再去掉前面的#号注释符,然后重启redis