温馨提示×

centos上mysql如何安全设置

小樊
35
2025-09-03 15:35:31
栏目: 云计算

在CentOS上安全设置MySQL,可以遵循以下步骤:

  1. 更改默认端口

    • 打开MySQL配置文件/etc/my.cnf/etc/mysql/my.cnf
    • [mysqld]部分下,找到port行并修改为非默认端口(例如3307)。
    [mysqld] port=3307 
  2. 禁用远程root登录

    • 登录到MySQL服务器:mysql -u root -p
    • 更改root用户的认证方式为auth_socket(需要SELinux支持)或caching_sha2_password
    ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_password'; FLUSH PRIVILEGES; 
    • 如果使用auth_socket,则不需要密码,但需要确保SELinux允许这种认证方式。
  3. 创建专用数据库用户

    • 为应用程序创建一个专用数据库用户,并仅授予必要的权限。
    CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'appuser_password'; GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES; 
  4. 使用防火墙限制访问

    • 使用firewall-cmd命令来限制MySQL端口(例如3307)的访问。
    firewall-cmd --permanent --zone=public --add-port=3307/tcp firewall-cmd --reload 
  5. 启用SSL/TLS加密连接

    • 在MySQL配置文件中启用SSL/TLS。
    [mysqld] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem 
    • 重启MySQL服务以应用更改:systemctl restart mysqld
  6. 定期更新和维护

    • 定期更新CentOS和MySQL到最新版本,以修复安全漏洞。
    • 使用mysql_secure_installation脚本进行额外的安全设置,如删除匿名用户、禁止root远程登录等。
  7. 监控和日志记录

    • 启用MySQL的详细日志记录,以便在发生问题时进行调查。
    [mysqld] general_log=1 general_log_file=/var/log/mysql/general.log slow_query_log=1 slow_query_log_file=/var/log/mysql/slow-query.log long_query_time=2 log_queries_not_using_indexes=1 
    • 定期检查日志文件,以便及时发现异常活动。
  8. 备份策略

    • 制定并实施定期备份策略,确保数据的安全性和可恢复性。

通过以上步骤,可以显著提高CentOS上MySQL的安全性。请根据实际情况调整配置,并定期审查和更新安全设置。

0