关闭禁用 Redis 危险命令

Redis 的危险命令主要有:

  • flushdb,清空数据库
  • flushall,清空所有记录,数据库
  • config,客户端连接后可配置服务器
  • keys,客户端连接后可查看所有存在的键,当 redis key 很多时,非常危险,建议使用 scan 命令代替

可以禁用以上命令来使服务器更加安全。禁用方法是:在配置文件 redis.confSECURITY 区域中,新增以下配置:

rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""

如果想要保留命令,但是不能轻易使用,可以重命名命令:

rename-command FLUSHALL XXXXXXXXXXXXXX
rename-command FLUSHDB XXXXXXXXXXXXXX
rename-command CONFIG XXXXXXXXXXXXXX
rename-command KEYS XXXXXXXXXXXXXX
  • XXXXXXXXXXXXXX 用新命令代替

配置完后重启 Redis 服务生效。如果禁用 FLUSHALL 命令,需要设置配置文件中 appendonly no,否则服务无法启动。