MySQL在云服务器上如何配置安全组保障数据库安全?

夜瑶酱_6722

夜瑶酱_6722

2026-07-14

509人浏览

原创

仅开放3306端口不够,需结合最小ip段白名单、bind-address严格配置(如10.0.1.10而非0.0.0.0)、mysql用户host精确授权(如'10.0.1.%')及rds与自建环境差异处理,三者形成漏斗式防护。

mysql在云服务器上如何配置安全组保障数据库安全?

云服务器安全组只放行3306端口还不够

仅开放3306端口是基础操作,但生产环境里这等于把门虚掩着。真实风险来自:允许0.0.0.0/0访问、没限制源IP段、没区分内网/公网流量。AWS、阿里云、腾讯云的安全组规则本质是无状态防火墙,它不识别MySQL协议内容,只按IP+端口+协议放行。

  • 必须用最小IP段,比如应用服务器所在VPC子网的CIDR(如10.0.1.0/24),而不是单个IP——后者运维成本高且易失效
  • 禁止0.0.0.0/0或::/0(IPv6全放行),哪怕临时调试也不该写进安全组
  • 若数据库与应用同VPC,优先用内网域名(如rds.mysql.internal)连接,此时安全组规则应只允许内网IP段,彻底屏蔽公网路径
  • 跨区域或混合云场景下,别走公网,改用云厂商私有链路(如AWS Direct Connect、阿里云CEN),此时安全组只需放行对端私网IP,而非互联网出口IP

MySQL服务本身bind-address配置常被忽略

安全组只是第一道过滤,MySQL进程自己是否监听公网才是第二关。默认bind-address在多数Linux发行版中是127.0.0.1,意味着即使安全组开了3306,外部也连不上——这是保护机制,不是bug。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 要支持远程连接,必须显式修改my.cnf里的bind-address为0.0.0.0或具体内网IP(如10.0.1.10),不能只改安全组
  • bind-address = 0.0.0.0后,务必配合安全组做IP白名单,否则等于主动暴露端口
  • Windows环境下MySQL 8.0+默认可能启用skip-networking,需确认该配置项已被注释或删除
  • 重启MySQL服务后,用netstat -tlnp | grep :3306验证监听地址是否生效(Linux)或Get-NetTCPConnection -LocalPort 3306(PowerShell)

远程用户授权必须限定host,不能用'%'通配

安全组放行IP、MySQL监听了外网端口,接下来就是权限控制。很多故障源于GRANT ... TO 'user'@'%'这种写法——它允许该用户从任意IP登录,一旦密码泄露或弱口令被爆破,数据库就裸奔了。

  • 授权时host部分必须和安全组白名单严格对应,例如安全组只放10.0.1.0/24,那就用'user'@'10.0.1.%'或更精确的'user'@'10.0.1.5'
  • 避免'root'@'%',root账号应仅限'localhost'或跳板机IP
  • 执行GRANT后必须跟FLUSH PRIVILEGES,否则权限不生效;但注意该命令不刷新当前已建立的连接权限
  • 检查现有用户:运行SELECT user, host FROM mysql.user;,删掉所有host列为%且非业务必需的账号

云数据库RDS和自建MySQL的安全组逻辑不同

如果你用的是云厂商托管的RDS(如AWS RDS、阿里云RDS),安全组配置对象不是EC2/CVM实例,而是RDS实例本身。这意味着:规则作用范围更窄、无需关心OS层firewalld/ufw、且RDS默认禁用root远程登录。

  • RDS安全组规则目标是RDS实例的ENI(弹性网卡),源IP填应用服务器的私网IP段即可,不用管RDS自己的IP(它是动态分配的)
  • RDS不支持bind-address配置,它的网络入口完全由安全组和VPC路由表控制
  • 自建MySQL跑在ECS上时,既要配ECS的安全组,也要配ECS操作系统自带的防火墙(如ufw或firewalld),而RDS省去了后者
  • RDS强制要求TLS连接时,安全组仍只管3306端口通断,加密协商由MySQL协议层完成,不依赖安全组
真正卡住数据库安全命脉的,从来不是某一条规则,而是安全组、bind-address、用户host三者形成的“漏斗”——任何一环过宽,整个防护就失效。尤其容易被忽略的是:安全组改了但MySQL没重启,或者MySQL重启了但没检查netstat输出,又或者授权用了%却以为安全组已经兜底。这些细节不验证,配置就只是纸面功夫。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2652

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

789

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2396

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4432

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 178人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 285人学习