温馨提示×

centos mysql如何安全

小樊
37
2025-12-19 09:16:41
栏目: 云计算

CentOS 上 MySQL 的安全加固清单

一 系统与服务加固

  • 保持系统与数据库更新:执行yum update -y,及时修补漏洞。
  • 启动并自启服务:使用systemctl start mysqld && systemctl enable mysqld确保 MySQL 持续可用。
  • 获取并记录初始密码:通过grep ‘temporary password’ /var/log/mysqld.log查看并记录临时 root 密码,用于首次加固。
  • 运行安全初始化脚本:执行mysql_secure_installation,按向导完成设置,包括修改 root 密码、删除匿名用户、禁止 root 远程登录、移除测试库等。

二 访问控制与防火墙

  • 仅必要时开放远程:默认建议仅本地访问,编辑**/etc/my.cnf[mysqld]中设置bind-address=127.0.0.1**;确需远程时再改为服务器内网/管理网地址。
  • 防火墙放行规则:
    • 按端口放行:firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload
    • 按服务放行:firewall-cmd --zone=public --add-service=mysql --permanent && firewall-cmd --reload
    • 验证规则:firewall-cmd --list-all
  • 远程访问最小化授权:优先创建专用于应用的主机白名单账户,例如仅允许内网网段:
    • 创建用户:CREATE USER ‘app’@‘192.168.1.%’ IDENTIFIED BY ‘StrongPass!’;
    • 授予最小权限:GRANT SELECT, INSERT, UPDATE, DELETE ON appdb. TO ‘app’@‘192.168.1.%’;*
    • 刷新权限:FLUSH PRIVILEGES;
    • 如需撤销:REVOKE ALL PRIVILEGES ON appdb. FROM ‘app’@‘192.168.1.%’;* 后再次 FLUSH。

三 身份鉴别与加密

  • 强密码策略:启用并配置密码强度校验(如validate_password_policy=STRONGvalidate_password_length=8),确保复杂度与长度。
  • 安全传输:
    • 服务端强制加密:在**[mysqld]中设置require_secure_transport=ON**,并配置证书:
      • ssl-ca=/etc/mysql/cert/ca-cert.pem
      • ssl-cert=/etc/mysql/cert/server-cert.pem
      • ssl-key=/etc/mysql/cert/server-key.pem
    • 客户端连接启用 SSL:使用参数**–ssl-ca/–ssl-cert/–ssl-key**进行验证。
  • 主机限制:避免使用通配符主机**'%'赋予高权限账户,优先采用localhost**或精确网段。

四 审计与日志

  • 审计日志(企业版或支持插件的版本):安装审计插件并配置策略,例如:
    • 安装:INSTALL PLUGIN audit_log SONAME ‘audit_log.so’;
    • 策略:SET GLOBAL audit_log_policy=‘ALL’;
    • 格式:SET GLOBAL audit_log_format=‘NEW’;
  • 通用查询日志(仅用于排障,生产慎用):在**[mysqld]中设置general_log=1general_log_file=/var/log/mysql/query.log**,用毕关闭以降低性能与信息泄露风险。

五 备份恢复与合规巡检

  • 定期备份:使用mysqldump进行逻辑备份,例如:mysqldump -u backup -p --single-transaction --routines --triggers --databases appdb > backup_appdb.sql;建议纳入crontab并设置异地/离线留存。
  • 监控与告警:部署Zabbix/Prometheus等监控,关注连接数、慢查询、复制延迟与错误日志异常。
  • 合规要点(等保二级常见要求):落实最小权限登录失败处理安全审计加密传输/存储备份与恢复定期漏洞扫描等控制点,形成台账与周期复核机制。

0