12、MySQL测评命令

MySQL 测评核查命令速查:版本与账户、口令策略与登录失败、传输加密、审计与日志、安装路径与数据目录五组只读取证命令及速判口径。

定位:MySQL 测评核查命令速查(配套 01、MySQL 测评命令单)。 配套加固:12、MySQL数据库加固(含 5.6/5.7/8.0/8.4 版本差异表);高风险口径:22、高风险判定指引与加固对照表。 适用版本:MySQL 5.6~8.4(字段名/组件差异见加固篇差异表)。

使用说明:

  • 本文所有命令均为只读取证命令,不修改配置、不重启服务、不执行清除类操作;确需变更由被测单位运维方在授权下实施。
  • 命令回显本身即证据,须连同命令行一起截图;示例中的地址、账户、路径均为演示值,现场须替换为真实取证结果,并对个人信息与内网管理地址脱敏后再入报告。
  • 命令不存在或输出与示例差异较大时,先确认产品版本与部署形态(单机/集群/容器/云托管),再换用等效命令或转入配置文件、管理控制台取证,不得据命令缺失直接判不符合
  • 文中「默认」「一般」等表述均为初判倾向,须经上机核查 + 访谈 + 配置/制度核对三方印证后定论,并在报告中写明取证来源。

不适用标识说明:

  • 使用 【不适用】 明确标记现场可判定为不适用的控制点,并写明判定依据。
  • 依据 GB/T 28448-2019「按测评对象实际承载功能与数据处理范围判定」原则:控制能力由上层应用、统一认证平台、前置代理、堡垒机、宿主操作系统或云托管平台承载时,应注明测评单元边界后判定不适用或转由上位组件核查,不得机械按缺失判不符合。
  • 产品版本确实不提供该能力(如社区版无审计插件)时,须核查替代措施并按替代措施的实际效果定档,不得直接判不适用。

一、版本与账户

对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)、8.1.4.2 访问控制 a)c)、8.1.4.4 入侵防范 e)

select version();                                   -- 版本(配合漏洞通告核查)
select @@version_compile_os;                        -- 编译平台
select user();                                      -- 当前登录用户
select user,host from mysql.user;                   -- 账户与来源(host 为 % 即不限来源)
select user,authentication_string,host from mysql.user;   -- 5.7+ 口令字段(5.6 为 password 列)
show grants for 'root'@'localhost';                 -- 指定用户权限
select * from information_schema.user_privileges;   -- 全部用户权限
select * from mysql.role_edges;                     -- 8.0 角色映射
  • 判定:空口令、host=’%’、共享账户 → 不符合;root 远程可达 → 高风险线索。

二、口令策略与登录失败

对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)b)

show variables like 'validate_password%';           -- 复杂度策略(8.0 为 component,变量同名)
show variables like '%connection_control%';         -- 登录失败延迟(需安装 connection_control 插件:Windows .dll / Linux .so)
show global variables like '%timeout%';             -- 会话超时
show variables like 'default_password_lifetime';    -- 口令有效期(0=不过期)
  • 判定:未安装连接控制插件且无替代措施 → 登录失败处理不符合;核查 my.cnf/my.ini 与插件安装情况。

三、传输加密

对应控制点:GB/T 22239-2019 8.1.4.7 数据完整性 a)、8.1.4.8 数据保密性 a)

show variables like 'have%ssl%';
show variables like 'require_secure_transport';     -- 强制 TLS(ON 为符合)
show variables like 'ssl_cipher';
show variables like 'ssl_cert';
show variables like 'ssl_key';
  • 判定:have_ssl=DISABLED 且允许远程连接 → 传输加密不符合;仅本地连接(skip-networking 或 host 限定)可闭环。

四、审计与日志

对应控制点:GB/T 22239-2019 8.1.4.3 安全审计 a)b)

show global variables like '%general%';             -- general_log 默认 OFF
select * from mysql.general_log;                    -- 开启后记录全部 SQL(未开启为空表)
show variables like 'log_error';
show variables like 'log_output';
show binary log status;                             -- binlog 记录情况(8.4+ 写法)
show master status;                                 -- 同上,8.3 及以前写法(8.4 已移除)
  • 判定:general_log 默认关闭,仅错误日志不足以满足审计 → 通常部分符合,整改见加固篇第八节(审计插件/日志外发)。

五、安装路径与数据目录(备份核查输入)

show variables like 'basedir';                      -- 安装路径(定位配置文件)
show variables like 'datadir';                      -- 数据目录
show variables like 'innodb_data_home_dir';
show variables like 'innodb_log_group_home_dir';

参考依据

关联文章