温馨提示×

MariaDB Linux版安全性如何保障

小樊
36
2025-12-10 11:39:51
栏目: 云计算

MariaDB Linux 版安全性保障要点

一 基础加固

  • 运行安全初始化向导:执行 mysql_secure_installation,设置 root 强密码、删除匿名用户、移除测试库、禁止 root 远程登录,并重新加载权限表。完成后确认仅保留必要账户与库。
  • 限制网络面:在 /etc/mysql/mariadb.conf.d/50-server.cnf(或 /etc/my.cnf)的 [mysqld] 中设置 bind-address = 127.0.0.1,仅本地访问;如确需远程,仅在内网接口或跳板机开放。
  • 禁用危险功能:在 [mysqld] 中关闭 local_infile=0,防止通过 LOAD DATA LOCAL INFILE 读取服务器文件;按需设置 secure_file_priv 为固定目录,避免任意文件读写。
  • 最小权限账户:为每个应用创建最小权限专用账户,避免使用 root 直连应用;不再使用的账户及时回收。
  • 文件与进程安全:确保数据库以 mysql 非特权用户运行;配置文件 /etc/my.cnf 权限 644;清理历史泄露风险(如 ~/.mysql_history 清空或软链到 /dev/null);避免在命令行明文写密码(使用 mysql -u user -p 交互输入)。

二 传输与静态加密

  • 强制加密传输:为客户端连接启用 SSL/TLS,仅允许有效证书连接;在备份、复制、应用接入侧统一使用加密通道,防止凭据与数据在网络中被窃听。
  • 静态数据加密:启用 InnoDB 表空间加密(TDE)InnoDB 重做/撤销日志加密;使用 file_key_management 等密钥管理插件集中管理密钥,确保密钥文件权限最小化并纳入备份。
  • 备份链路加密:使用 mariabackup 执行物理热备,备份与恢复流程均通过加密通道与受控目录完成,演练恢复以验证密钥与流程可用性。

三 审计与监控

  • 启用服务器审计:加载 server_audit 插件,记录 CONNECT、QUERY、DML/DDL 等关键事件;将日志写入 /var/log/mysql/server_audit.log 并设置 1G 轮转、保留 10 个文件,便于合规与取证。
  • 系统侧日志与告警:开启/审计 general log/error log,结合 Logwatch/Nagios 等做异常连接、失败登录与性能突变监控与告警,形成闭环响应。

四 网络与主机防护

  • 主机与端口加固:仅在内网开放 3306(如使用防火墙 UFW/iptables 白名单放行),数据库服务器置于 私有子网,对外服务通过反向代理/应用网关隔离。
  • 服务最小化:禁用不必要的插件与功能模块,关闭未使用的监听端口与协议,减少攻击面。

五 运维与备份恢复

  • 持续更新与补丁:定期执行 apt/yum update 更新 MariaDB 与依赖组件,及时修复已知漏洞;变更配置后按需重启服务。
  • 备份与演练:制定包含 全量+增量mariabackup 策略,定期恢复演练验证 TDE 密钥与数据一致性;备份文件加密存储并设置保留周期与异地副本。
  • 安全核查清单:
    • 仅本地监听(或受控网段)、禁用 local_infilesecure_file_priv 已限定;
    • 所有账户使用强密码并最小权限、无匿名/测试账户;
    • SSL/TLS 强制开启、证书有效;
    • server_audit 运行且日志轮转正常;
    • 防火墙仅放行业务必需来源 IP;
    • 备份成功、可恢复、密钥与流程受控。

0