對於生產環境中使用的Redis一定要禁用一些高危命令,避免因誤操作而造成的巨大損失。
高危命令
1. KEYS # 雖然該命令的模糊匹配功能很強大,但只適用於小數據量,當數據量很大時會導致Redis鎖住及CPU飆升,建議禁用或重命名
2. FLUSHDB # 刪除Redis中當前所在數據庫中的所有記錄,並且此命令不會執行失敗
3. FLUSHALL # 刪除Redis中所有數據庫的記錄,並且此命令不會失敗
4. CONFIG # 客戶端可修改Redis配置
禁用或重命名
在配置文件redis.conf中找到SECURITY區域,添加如下命令
- 禁用命令
rename-command KEYS ""
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command EVAL ""
- 重命名命令
rename-command KEYS "XXXXX" # XXXXX可用任意隨機字符串代替
rename-command FLUSHALL "XXXXY"
rename-command FLUSHDB "XXXXXZ"
rename-command CONFIG "XXXXXX"
rename-command EVAL "YYYYY"