Debian MySQL安全设置方法

814
2025/3/8 21:31:49
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统上设置MySQL的安全配置是一个重要的步骤,可以显著提高数据库的安全性。以下是一些关键的安全设置方法:

1. 使用SSH隧道代替远程连接

  • 编辑MySQL配置文件 /etc/mysql/my.cnf(或 /etc/mysql/mariadb.conf.d/50-server.cnf,如果是MariaDB),将 bind-address 设置为 127.0.0.1,以限制MySQL只监听本地连接。
  • 重启MySQL服务以应用更改:
    sudo systemctl restart mysqld
    
    sudo systemctl restart mariadb.service
    

2. 设置本地文件访问屏障

  • 在MySQL配置文件中禁用 local-infile 函数,以防止MySQL直接访问本地文件系统:
    [mysqld]
    local-infile=0
    
  • 重启MySQL服务以应用更改。

3. 设置应用用户和密码

  • 创建具有有限权限的新用户,并为这些用户分配特定的数据库访问权限。例如:
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'newuser'@'localhost';
    FLUSH PRIVILEGES;
    
  • 定期更新密码,并遵循强密码策略。

4. 删除匿名用户

  • 删除MySQL中的匿名用户,以防止未经授权的访问:
    DELETE FROM mysql.user WHERE USER='';
    
  • 刷新权限以应用更改:
    FLUSH PRIVILEGES;
    

5. 禁用远程root登录

  • 通过 mysql_secure_installation 脚本设置root密码,并禁用远程root登录:
    sudo mysql_secure_installation
    

6. 配置SSL/TLS加密连接

  • 生成SSL证书和私钥文件:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/mysql/mysql-server.key -out /etc/mysql/mysql-server.crt
    
  • 编辑MySQL配置文件(通常是 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf),添加以下配置:
    [mysqld]
    ssl-ca=/path/to/ca.pem
    ssl-cert=/path/to/server-cert.pem
    ssl-key=/path/to/server-key.pem
    
  • 重启MySQL服务以应用更改:
    sudo systemctl restart mysql
    
  • 使用MySQL客户端工具测试SSL连接是否成功。

7. 定期审计和监控

  • 定期审计MySQL用户权限,确保没有不必要的权限设置。
  • 监控MySQL和系统日志,以便及时发现并响应任何异常活动。

通过以上步骤,可以显著提高Debian系统上MySQL数据库的安全性。建议定期检查和更新安全设置,以应对不断变化的安全威胁。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Debian下Node.js网络如何配置