1. MySQL数据库等保测评核心要点解析
从事信息安全工作的同行们都知道,等级保护测评是每个系统上线前必须经历的"体检"。而数据库作为承载业务数据的核心组件,其安全配置直接关系到整个系统的合规性。今天我就结合多年实战经验,详细拆解MySQL数据库在等保测评中的关键检查项和实操命令。
重要提示:不同等保级别(二级/三级)对数据库的要求存在差异,本文以三级等保为基础进行说明,二级等保可适当放宽部分要求。
1.1 身份鉴别与访问控制
用户权限最小化原则是数据库安全的基石。我们首先需要检查所有账户的权限分配情况:
sql复制-- 查看所有用户及主机权限
SELECT user, host FROM mysql.user;
-- 查看具体用户权限(替换username)
SHOW GRANTS FOR 'username'@'host';
常见问题处理:
- 发现存在
'user'@'%'这类开放主机访问的账户时,应当立即限制访问IP范围 - 对于默认创建的test数据库和匿名账户,建议执行删除操作:
sql复制DROP DATABASE test; DELETE FROM mysql.user WHERE user='';
密码复杂度策略需要通过插件实现。MySQL 5.7+版本建议安装validate_password组件:
sql复制INSTALL COMPONENT 'file://component_validate_password';
SET GLOBAL validate_password.policy=LOW; -- 可设为MEDIUM/STRONG
1.2 安全审计配置
三级等保明确要求开启数据库审计功能。对于社区版MySQL,可以采用以下替代方案:
方案一:开启general log(适合轻量级审计)
sql复制SET GLOBAL general_log = 'ON';
SET GLOBAL log_output = 'TABLE'; -- 存储到mysql.general_log表
方案二:使用MariaDB审计插件(推荐)
- 在配置文件中添加:
ini复制[mysqld]
