MySQL在CentOS上的安全性如何保障
导读:MySQL 在 CentOS 上的安全性保障 一 系统与服务加固 保持系统更新:执行 sudo yum update -y,及时修补内核与组件漏洞。 最小安装与权限收敛:仅安装必要包,运行 mysql 服务使用专用的低权限系统账号,禁止以...
MySQL 在 CentOS 上的安全性保障
一 系统与服务加固
- 保持系统更新:执行 sudo yum update -y,及时修补内核与组件漏洞。
- 最小安装与权限收敛:仅安装必要包,运行 mysql 服务使用专用的低权限系统账号,禁止以 root 直接运行数据库进程。
- 启动与自启:使用 systemctl 管理,确保 mysqld 按预期启动与开机自启,异常时第一时间查看 /var/log/mysqld.log。
- 安全基线脚本:首次部署后立即运行 mysql_secure_installation,完成设置 root 强密码、删除匿名用户、禁止 root 远程登录、删除测试库等基础加固。
二 网络与访问控制
- 监听地址最小化:在 /etc/my.cnf 的 [mysqld] 中设置 bind-address=127.0.0.1 仅本地访问;确需远程时,改为内网地址并配合防火墙白名单。
- 防火墙精细化:仅放通必要来源与端口,例如
- 放通本机访问:sudo firewall-cmd --permanent --zone=public --add-service=mysql & & sudo firewall-cmd --reload
- 放通内网网段:sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port port=“3306” protocol=“tcp” accept’ & & sudo firewall-cmd --reload
- 端口与来源审计:避免使用默认端口 3306 可被猜测,必要时变更端口并同步更新防火墙与应用配置;仅允许来自应用服务器的源地址访问。
- 强制加密传输:在 [mysqld] 中启用
- require_secure_transport=ON
- 配置 ssl-ca / ssl-cert / ssl-key 指向有效证书,强制客户端以 SSL/TLS 连接,防止凭据与数据在网络中被窃听。
三 身份认证与权限治理
- 强密码策略:启用 validate_password 插件并设置强度与长度,例如
- SET GLOBAL validate_password_policy=STRONG;
- SET GLOBAL validate_password_length=12;
- 最小权限原则:按库/表/列授予所需权限,避免使用 GRANT ALL;业务账号默认仅允许 localhost,远程访问须显式授权并限定来源主机。
- 示例:
- CREATE USER ‘app’@‘192.168.1.%’ IDENTIFIED BY ‘强密码’;
- GRANT SELECT,INSERT,UPDATE ON appdb. TO ‘app’@‘192.168.1.%’; *
- FLUSH PRIVILEGES;
- 示例:
- 清理高危默认项:删除匿名用户、测试库,禁止 root@‘%’ 远程登录,定期审查 mysql.user 与 mysql.db 授权表。
- 账号生命周期管理:定期轮换高权限账号密码,离职或项目下线即回收账号与权限。
四 加密与审计
- 传输加密:除启用 require_secure_transport 与证书外,可在客户端连接串中显式使用 –ssl-mode=REQUIRED,确保全链路加密。
- 存储加密:结合 InnoDB 表空间加密 或文件系统/磁盘加密,保护数据静态安全;密钥与证书妥善管控与轮换。
- 审计与合规:安装并启用 audit_log 插件,记录关键操作以满足审计与等保要求。
- 示例:
- INSTALL PLUGIN audit_log SONAME ‘audit_log.so’;
- SET GLOBAL audit_log_policy=‘ALL’;
- 示例:
- 日志与监控:开启 general_log / error_log / slow_query_log 辅助排障与取证;部署 Zabbix / Prometheus + Grafana 监控连接数、复制延迟、慢查询与错误告警。
五 备份恢复与合规落地
- 定期备份与验证:使用 mysqldump 或物理备份,保留多份与异地副本,定期做恢复演练验证可用性与完整性。
- 示例:mysqldump -u backup -p --single-transaction --routines --triggers --databases appdb > backup.sql
- 备份安全:备份文件加密与权限最小化,传输走内网或加密通道,妥善保存凭据。
- 合规要求:围绕等保二级开展制度与技术双轮驱动,重点覆盖用户权限管理、审计日志、数据加密、备份与监控等控制点,形成台账与定期复评机制。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MySQL在CentOS上的安全性如何保障
本文地址: https://pptw.com/jishu/762985.html
