上一篇
凌晨3点,运维小王的手机突然狂震——监控系统显示某台Redis服务器CPU飙到100%,他连滚带爬打开电脑,发现有人通过未授权访问连上Redis,正在用FLUSHALL
清空数据,更糟的是,对方已经通过CONFIG SET
修改了持久化配置……这种噩梦场景,其实可以通过禁用危险命令来避免。
Redis默认开放所有命令,就像把服务器root密码贴在公告栏上,高危操作如:
KEYS *
:阻塞整个服务 FLUSHDB/FLUSHALL
:瞬间清空数据 CONFIG
:修改服务端参数 SHUTDOWN
:直接关闭服务 在redis.conf中加入:
rename-command FLUSHALL "" # 彻底禁用命令 rename-command CONFIG "CONFIG-锁" # 重命名命令(知道新命令才能用)
重启生效,支持通配符:
rename-command DEBUG "*禁用的命令*"
如果无法重启服务,用Redis自己锁死自己:
redis-cli CONFIG SET rename-command SHUTDOWN "NO_SHUTDOWN"
注意:这种方式重启后会失效,需配合持久化配置。
更狠的做法是在防火墙层面封杀:
iptables -A INPUT -p tcp --dport 6379 -m string --algo bm --string "FLUSHALL" -j DROP
(适合已出现攻击时的紧急处置)
别把自己锁外面
禁用CONFIG
前,务必先测试重命名后的命令是否生效,否则可能连自己都无法修改配置。
留个后门命令
建议保留一个特殊命名权限命令供紧急使用,
rename-command CONFIG "SUPERADMIN_123_CONFIG"
影响评估
禁用KEYS
可能影响某些老旧程序,改用SCAN
替代;禁用SAVE
会影响手动持久化。
bind 127.0.0.1
限制只允许本地访问 requirepass 复杂密码
根据2025年Redis安全报告,未禁用危险命令的实例平均存活时间不超过72小时就会遭到入侵,花10分钟配置,省下72小时加班救火,这买卖划算。
本文由 贝夏萱 于2025-08-02发表在【云服务器提供商】,文中图片由(贝夏萱)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/517629.html
发表评论