安全
执行在可信环境
Redis的安全设计是在"Redis执行在可信环境"这个前提下做出的。在生产环境执行时不能同意外界直接连接到Redisserver上。而应该通过应用程序进行中转,执行在可信的环境中是保证Redis安全的最重要方法。
Redis的默认配置会接受来自不论什么地址发送来的请求,即在不论什么一个拥有公网IP的server上启动Redisserver,都能够被外界直接訪问到。要更改这一设置,在配置文件里改动bind參数,如仅仅同意本机应用连接Redis,能够将bind參数改成:
bind 127.0.0.1
为Redis设置password
为redis设置password的方法
- 在redis.conf中进行配置
requirepass hellocarl
- 通过命令行进行社设置
redis> CONFIG set requirepass "hellocarl"
若为redis设置了password,则client每次连接到Redis时都须要发送password,否则Redis会拒绝运行client发来的命令
redis>GET foo (error) ERR operation not permitted redis>AUTH hellocarl # 验证password须要使用**AUTH**命令 OK redis>GET foo # 如今能够运行命令了 "1"
因为Redis的性能极高,而且输入错误password后Redis并不会进行主动延迟(考虑到Redis的单线程模型),所以攻击者可以通过穷举法破解Redis的password(1秒内可以尝试十几万个password),因此在设置时一定要选择复杂的password。
提示
配置Redis复制的时候假设主数据库设置了password,须要在从数据库的配置文件里通过masterauth參数设置主数据库的password,以使从数据库连接主数据库时自己主动使用AUTH命令认证。
命令重命名
在配置文件里进行设置
rename-command FLUSHALL oyfekmjvmwxq5a9c8usofuo369x0it2k # 重命名FLUSHALL命令 rename-command FLUSHALL "" # 禁用FLUSHALL命令
注意: 不管设置password还是重命名命令,都须要保证配置文件的安全性。否则就没有不论什么意义了。
假设发现错误,请轻拍,欢迎留言交流。谢谢
时间: 2024-10-24 09:25:51