Linux MySQL如何进行安全加固

小樊
33
2025-09-12 08:21:06
栏目: 云计算

以下是Linux下MySQL的安全加固要点:

  1. 系统与软件更新
    定期更新操作系统和MySQL软件,修复漏洞:

    sudo apt update && sudo apt upgrade mysql-server  # Ubuntu/Debian  
    sudo yum update mysql-server  # CentOS/RHEL  
    
  2. 权限管理

    • 遵循最小权限原则,仅授予必要权限,删除默认用户(如匿名用户、test库):
      DROP USER ''@'localhost';  
      DROP DATABASE test;  
      
    • 限制远程访问,仅允许特定IP或localhost
      CREATE USER 'app_user'@'192.168.1.100' IDENTIFIED BY 'strong_password';  
      GRANT SELECT, INSERT ON mydb.* TO 'app_user'@'192.168.1.100';  
      
  3. 网络与防火墙

    • 配置防火墙(如ufw/firewalld)限制MySQL端口(默认3306)访问:
      sudo ufw deny 3306/tcp  # 拒绝所有外部访问  
      sudo ufw allow from 192.168.1.0/24 to any port 3306  # 允许特定IP段  
      
    • 修改MySQL监听地址为127.0.0.1,禁止远程监听:
      # /etc/my.cnf  
      [mysqld]  
      bind-address = 127.0.0.1  
      
  4. 数据加密

    • 传输层加密:启用SSL/TLS(需配置证书):
      ALTER INSTANCE ENABLE SSL;  
      GRANT ALL ON *.* TO 'user'@'host' REQUIRE SSL;  
      
    • 存储层加密:对敏感数据使用列级加密或文件系统加密(如LUKS)。
  5. 审计与监控

    • 启用日志记录(查询日志、错误日志):
      # /etc/my.cnf  
      [mysqld]  
      log-bin=mysql-bin  # 二进制日志(记录所有修改操作)  
      general_log=1  # 通用查询日志(可选,影响性能)  
      
    • 使用监控工具(如Prometheus+Grafana)实时监控数据库状态。
  6. 其他安全措施

    • 定期备份数据,并存储在安全位置:
      mysqldump -u root -p mydb > /backup/mydb_$(date +%F).sql  
      
    • 禁用不必要的服务和插件(如performance_schema若无需使用)。

参考来源

0
Baidu
map