[转帖]Redis 禁用 危险命令

redis,禁用,危险,命令 · 浏览次数 : 0

小编点评

## Redis危险命令 **一、keys * :** * 虽然模糊匹配功能强大,但使用量太少时会导致 Redis locks 及 CPU 飙升。 * 建议禁用或重命名 keys * 命令。 **二、# 进入 redis.conf 默认配置文件:** * SECURITY 区域里添加 `rename-command` 配置。 * 例如:`rename-command FLUSHALL \"\"rename-command FLUSHDB \"\"rename-command KEYS \"\"\"rename-command CONFIG \"\""` **三、重命名:** * 可以重新命名命令来设置随机字符代替,避免使用旧命令。 * 例如:`rename-command FLUSHALL \"dcec4362797e4684b4aaef3c467cbd54\"rename-command FLUSHDB \"48eab610b9fa474fbff2e2f8288e99b1\"rename-command KEYS \"1bd08134aecf48aeb2b418db034e6414\"rename-command CONFIG \"0095e05639824bf5b9912055bc243c45\""

正文

一、Redis 危险命令

  • keys * :虽然其模糊匹配功能使用非常方便也很强大,在小数据量情况下使用没什么问题,数据量大会导致 Redis 锁住及 CPU 飙升,在生产环境建议禁用或者重命名!
  • flushdb :删除 Redis 中当前所在数据库中的所有记录,并且此命令从不会执行失败
  • flushall :删除 Redis 中所有数据库中的所有记录,不只是当前所在数据库,并且此命令从不会执行失败。
  • config :客户端可修改 Redis 配置。

二、禁用 Reids 命令

  1. # 进入 redis.conf 默认配置文件,找到 SECURITY 区域;添加如下配置
  2. rename-command FLUSHALL ""
  3. rename-command FLUSHDB ""
  4. rename-command KEYS ""
  5. rename-command CONFIG ""

三、重命名(未尝试)

  1. # 如果想要保留命令,但是不能轻易使用,可以重命名命令来设定,设置随机字符代替:
  2. # 注意:重启服务器后,则需要用新命令来执行操作,否则服务器会报错 unknown command。
  3. # 对于FLUSHALL命令,需要设置配置文件中appendonly no,否则服务器无法启动。
  4. rename-command FLUSHALL "dcec4362797e4684b4aaef3c467cbd54"
  5. rename-command FLUSHDB "48eab610b9fa474fbff2e2f8288e99b1"
  6. rename-command KEYS "1bd08134aecf48aeb2b418db034e6414"
  7. rename-command CONFIG "0095e05639824bf5b9912055bc243c45"

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

与[转帖]Redis 禁用 危险命令相似的内容: