ubuntu

Ubuntu MariaDB安全设置怎样做

小樊
48
2025-09-12 22:10:36
栏目: 云计算

以下是在Ubuntu上配置MariaDB安全设置的关键步骤,涵盖基础加固、访问控制、审计与加密等核心需求:

一、基础安装与加固

  1. 安装MariaDB

    sudo apt update && sudo apt install mariadb-server  
    sudo systemctl start mariadb && sudo systemctl enable mariadb  
    
  2. 运行安全脚本

    sudo mysql_secure_installation  
    
    • 设置强密码
    • 删除匿名用户、测试数据库
    • 禁止root远程登录(生产环境建议保留本地登录)

二、访问控制与权限管理

  1. 配置远程访问(如需)

    • 编辑配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf,修改 bind-address0.0.0.0(允许所有IP)或指定IP段,重启服务生效。
    • 创建远程用户并授权:
      CREATE USER 'remote_user'@'%' IDENTIFIED BY '强密码';  
      GRANT ALL PRIVILEGES ON 数据库名.* TO 'remote_user'@'%';  
      FLUSH PRIVILEGES;  
      
  2. 限制权限

    • 仅授予用户必要的权限(如 SELECT, INSERT),避免使用 ALL PRIVILEGES
    • 定期清理冗余用户:DROP USER '无用用户'@'主机';

三、安全审计配置

  1. 启用官方审计插件(推荐)
    • 编辑配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf,添加:
      [mariadb]  
      plugin-load-add='server_audit.so'  
      server_audit_logging=ON  
      server_audit_events='CONNECT,QUERY,QUERY_DDL,QUERY_DML'  
      server_audit_file_path='/var/log/mysql/audit.log'  
      server_audit_file_rotate_size=100M  
      server_audit_file_rotations=10  
      
    • 重启服务后验证日志:
      sudo tail -f /var/log/mysql/audit.log  
      

四、数据加密与传输安全

  1. 启用SSL/TLS加密传输
    • 生成证书并配置(需提前准备CA证书):
      sudo mkdir -p /etc/mysql/ssl  
      sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/mysql/ssl/server-key.pem -out /etc/mysql/ssl/server-cert.pem -days 365  
      
    • 编辑配置文件添加:
      [mysqld]  
      ssl-ca=/etc/mysql/ssl/server-cert.pem  
      ssl-cert=/etc/mysql/ssl/server-cert.pem  
      ssl-key=/etc/mysql/ssl/server-key.pem  
      require_secure_transport=ON  
      
    • 验证加密:通过 mysql -u root -p --protocol=tcp --ssl-ca=/etc/mysql/ssl/server-cert.pem 连接,检查 SHOW STATUS LIKE 'Ssl_cipher'; 是否显示加密信息。

五、备份与灾难恢复

  1. 使用Mariabackup工具
    • 安装工具:sudo apt install mariadb-backup
    • 执行全量备份:
      sudo mariabackup --backup --target-dir=/var/backups/mariadb/$(date +%F) --user=root --password='密码'  
      sudo mariabackup --prepare --target-dir=/var/backups/mariadb/$(date +%F)  
      
    • 恢复测试:模拟数据目录替换,验证备份可用性。

六、防火墙与系统级安全

  1. 配置UFW防火墙

    sudo ufw allow 3306/tcp  # 仅允许必要端口  
    sudo ufw reload  
    
  2. 定期更新与监控

    • 升级MariaDB:sudo apt upgrade mariadb-server
    • 监控日志:/var/log/mysql/error.log 和审计日志。

验证清单

以上步骤参考自官方文档及社区实践,可根据实际需求调整细节。

0
看了该问题的人还看了