上一篇
场景引入:
凌晨3点,运维小张被报警短信惊醒——公司Redis数据库突然出现大量可疑的FLUSHDB
操作,调查发现,某台测试服务器因配置疏漏暴露在公网,被黑客扫描到6379端口后直接入侵,这种本可避免的安全事故,其实只需要一个简单的防护措施:Redis IP白名单。
Redis默认监听0.0.0
且无密码时(常见于测试环境),相当于向全网敞开大门,黑客只需两步就能攻破:
nmap
扫描开放6379端口的服务器 redis-cli -h 目标IP
直接连入 白名单的核心作用:
通过iptables/firewalld实现网络层防护,性能损耗最低:
# 清空旧规则(谨慎操作) iptables -F # 允许特定IP访问6379端口 iptables -A INPUT -p tcp --dport 6379 -s 192.168.1.100 -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -s 10.0.0.2 -j ACCEPT # 拒绝其他所有访问 iptables -A INPUT -p tcp --dport 6379 -j DROP # 永久保存规则(CentOS) service iptables save
适用场景:生产环境多服务器互通
修改redis.conf
限制监听IP(需重启服务):
# 只允许本地和指定IP连接 bind 127.0.0.1 192.168.1.100 # 必须设置密码才更安全 requirepass YourStrongPassword123
注意:
redis-cli config rewrite
生效 结合hosts.allow/deny做应用层过滤:
# /etc/hosts.allow 添加 redis-server: 192.168.1.100, 10.0.0.2 # /etc/hosts.deny 添加 redis-server: ALL
优势:无需重启Redis服务,修改即时生效
云服务器特殊配置
动态IP处理技巧
# 通过脚本自动更新白名单(示例) */10 * * * * /usr/bin/curl -s api.getip.com | xargs -I {} iptables -A INPUT -p tcp --dport 6379 -s {} -j ACCEPT
紧急恢复通道
保留一个跳板机IP作为应急入口,避免误封后无法连接
# 从非白名单IP测试连接(应被拒绝) redis-cli -h 目标服务器IP -p 6379 (error) NOAUTH Authentication required. # 看到这个说明至少密码生效 (如果直接超时则网络层拦截成功) # 查看当前连接IP redis-cli client list | awk '{print $2}'
最后建议:
通过以上配置,你的Redis服务将告别"裸奔"状态,黑客扫描到端口也只能望而却步,安全无小事,现在就去检查你的Redis配置吧!
本文由 和骊婷 于2025-08-01发表在【云服务器提供商】,文中图片由(和骊婷)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/503677.html
发表评论