Skip to main content

身份鉴别

测评项:a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。

测评点:用户名唯一性、弱口令、空口令、口令强度策略、口令过期策略;

核查注意:MySQL通常不存在空口令账户,弱口令须通过访谈确定。

核查命令:

# MySQL 5.7及更低版本本命令行不适用。
select * from mysql.user where length(authentication_string) = 0 or authentication_string is null;

核查效果:

image.png

核查注意:云服务客户租用数据库时通过云控制台查看,不适用本条命令。

核查注意:MySQL通常未预装validate_password,须先核查是否安装插件后再核查相关参数。

核查命令:(非特权模式)

# 支持user权限查询。
select * from information_schema.plugins where plugin_name = 'validate_password';
# 核查MySQL当前口令策略,默认策略符合要求。
show variables LIKE 'validate_password%';

核查效果:

Snipaste_2025-07-29_16-43-04.png

Snipaste_2025-07-29_16-51-16.png

核查注意:MySQL账户通常无法重复,账户名具有唯一性。账户名具有唯一性;MySQL支持单个用户名配置口令过期策略,仅在缺省时由全局配置确定。云服务客户租用数据库时通过云控制台查看,不适用本条命令。

核查命令:

show variables like 'default_password_lifetime';
select user, host, password_last_changed, password_lifetime from mysql.user;

核查效果:

Snipaste_2025-07-29_18-06-20.png

Snipaste_2025-07-29_18-04-00.png

测评项:b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。

测评点:登录失败锁定、登录超时退出;

核查注意:可以先询问管理员,了解是否已配置数据库登录失败处理功能。

核查命令:

1)执行“show variables like ‘%max_connect_errors%’”命令或核查my.cnf文件中是否有“max_connect_errors = 100”的参数配置。

2)执行“show variables like ‘%timeout%’”命令,查看返回值。

核查效果:

1MySQL数据库采用了第三方管理软件,且第三方管理软件设置了登录失败锁定次数。

2MySQL数据库管理系统本地配置了参数max_connect_errors = 100wait_timeout = 2800。如果MySQL服务器连续收到来自同一主机的请求,且这些连续的请求全都没有成功建立连接就断开了,那么当这些连续的请求的累计值大于max_connect_errors的值时,MySQL服务器就会阻止这台主机的所有后续请求。如果一个连接的空闲超过8小时(默认值28800秒),MySQL就会自动断开这个连接。

image.png

image.png 

测评项:c) 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。

测评点:TLS证书

 核查注意:云服务客户租用数据库时仅核查当前会话,其他信息通过云控制台查看。

# 查看指定用户名(如root)是否强制使用TLS传输
select user, host, ssl_type from mysql.user where user = 'root';
# 查看MySQL是否已开启TLS传输
show variables like 'have_ssl';
# 查看MySQL当前支持的TLS版本
show variables like 'ssl_cipher';
show variables like 'tls_version';
# 查看MySQL当前TLS相关配置信息
show global variables like 'ssl_cipher';
show global variables like 'ssl_ca';
show global variables like 'ssl_cert';
show global variables like 'ssl_key';
# (重点)查看当前会话是否采用TLS传输
show session status like 'ssl_cipher';
show session status like 'ssl_version';

 

测评项:d) 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别, 且其中一种鉴别技术至少应使用密码技术来实现。

测评方法

1)询问系统管理员,了解系统是否采用由口令、数字证书、生物技术等中的两种或两种以上组合的鉴别技术对用户身份进行鉴别,并核查其中一种鉴别技术是否使用密码技术来实现。

操作步骤&预期结果

1)至少采用了两种鉴别技术。其中之一为口令或生物技术,另外一种为基于密码技术的鉴别技术(例如使用基于国密算法的数字证书或数字令牌)。