5月30日 19:40

MariaDB 如何做安全配置?哪些设置最容易被忽略?

MariaDB 安全配置不能只理解成“把 root 密码改复杂一点”。更稳妥的做法是从账号权限、网络入口、传输加密、文件导入导出、审计日志和备份存放几个层面一起收紧。很多事故不是数据库漏洞导致的,而是测试账号没删、远程访问开太大、备份文件裸放。

追问

最小权限应该怎么落地?

应用不要连 root,也不要授予 ALL PRIVILEGES。按业务库创建专用账号,只授予需要的 SELECT、INSERT、UPDATE、DELETE 等权限。

远程访问应该怎么限制?

bind-address 不要直接监听公网地址,账号 host 也不要写成 %。需要临时排障时可以开白名单,但结束后要及时移除。

SSL/TLS 一定要开启吗?

跨主机连接建议开启 require-secure-transport,避免账号密码和查询内容明文暴露。上线前要确认客户端驱动和证书配置支持。

哪些文件相关配置容易被忽略?

local_infile 建议关闭,secure_file_priv 应限制导入导出目录。备份文件要加密并放在受控目录。

审计和日常运维要看什么?

关注失败登录、权限变更、异常来源 IP、大批量导出和高危 DDL。日志要轮转,否则磁盘打满也是事故。

写段配置

sql
CREATE USER 'app_user'@'10.%' IDENTIFIED BY 'strong_password'; GRANT SELECT, INSERT, UPDATE ON app_db.* TO 'app_user'@'10.%';
ini
bind-address=10.0.0.5 local_infile=0 require-secure-transport=ON
标签:MariaDB