mysql如何通过防火墙保护MySQL权限_MySQL网络层安全配置

MySQL 默认监听0.0.0.0:3306,必须通过bind-address限制监听地址、系统防火墙(ufw/firewalld)设置IP白名单、云平台安全组精确放行,并与MySQL用户host字段协同配置,四层防护缺一不可。MySQL 默认监听所有网卡,不设防火墙等于裸奔MySQL 安装后默认绑定 0.0.0.0:3306,只要端口开放,任何能连上服务器的机器都可能暴力试探 root 密码。权限控制(比如 GRANT)只管「登录后能做什么」,不管「谁可以连上来」------这是网络层的事,得靠防火墙兜底。实操建议:先确认 MySQL 实际监听地址:ss -tlnp | grep :3306 或查 my.cnf 中的 bind-address;若为 0.0.0.0 或注释掉,说明已暴露全网生产环境必须设为 127.0.0.1(仅本地)或具体内网 IP(如 192.168.10.5),再配合防火墙白名单别依赖 skip-networking:它会禁用 TCP 连接,导致无法远程管理、备份工具(如 mysqldump 通过网络调用)失效ufw / firewalld 开放指定 IP 访问 3306 端口Linux 主流发行版用 ufw(Ubuntu)或 firewalld(CentOS/RHEL),核心原则是:默认拒绝所有入站,只放行可信来源。常见错误现象:开了 ufw allow 3306,结果整个互联网都能连 ------ 因为这等价于放行所有 IP 的 3306 端口。正确做法:Ubuntu(ufw):ufw allow from 192.168.10.100 to any port 3306(仅允许可信应用服务器)CentOS(firewalld):firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.100" port port="3306" protocol="tcp" accept',之后 firewall-cmd --reload若需多 IP,逐条添加;别用 /24 网段掩码,除非该网段内所有机器都可信检查是否生效:ufw status verbose 或 firewall-cmd --list-all云服务器安全组比系统防火墙更优先阿里云、AWS、腾讯云等平台的安全组是第一道网关,规则匹配早于系统防火墙。即使你本地 ufw 拒绝了所有连接,安全组开着 3306 全放行,MySQL 依然裸奔。使用场景:数据库与应用部署在不同云主机,且走内网通信。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
light blue bird几秒前
工序路径主子表单工序组装图表组件
前端·数据库·信息可视化·.net·web端·razor page
我叫张小白。1 分钟前
基于Redis与FastAPI的分布式共享会话体系
数据库·redis·分布式·缓存·中间件·fastapi·依赖注入
Cthy_hy3 分钟前
Python算法竞赛:集合去重+字典映射 核心用法一站式整理
数据结构·python·算法
java_cj4 分钟前
MySQL 8.0新特性详解:从隐藏索引到窗口函数全面解析
数据库·mysql·架构·开源
数据库安全4 分钟前
业务可用、数据可控:美创“动态脱敏+数据库透明加密“合规方案
数据库
索西引擎5 分钟前
【langchain 1.0】ChromaDB 原生 API 实战:为 LangChain 向量库打造管理工具集
python·ai·langchain
Sirius.z6 分钟前
第J6周:Inception v1算法实战
python
山上三树6 分钟前
Python 高频报错速查表(开发通用版)
开发语言·python
Wonderful U8 分钟前
AI智能日志异常检测告警平台:告别人工排查,秒级定位线上故障
数据库·人工智能·python·django
天河归来10 分钟前
国产数据库安全可靠测评产品观察:从集中式、分布式到 HTAP 的发展趋势
数据库·分布式