Skip to main content

身份鉴别

测评项

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

测评方法

(1)登录MySQL数据库,执行“mysql -u root -p”命令,查看是否提示输入口令以鉴别用户身份。

(2)使用select user,host FROM mysql.user”命令查询账号,在输出的用户列表中查看是否存在相同的用户名。

(3)执行select * from mysql.user where length(password) = 0 or password is null”语句,查询是否存在空口令用户。

(4)执行show variables like validate”、“show VARIABLES like %password%”命令,查看用户口令复杂度的相关配置。

操作步骤&预期结果

(1)用户登录数据库是,采用“用户名+口令”的方式对其进行身份鉴别。

 

(2)user表中不存在相同的用户名。

 

(3)不存在空口令用户。

 

(4)有如下配置信息。

 

测评项

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

测评方法

(1)询问管理员,了解是否已配置数据库登录失败处理功能。

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

(3)执行show variables like %timeout%”命令,查看返回值。

 

操作步骤&预期结果

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

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

 

 

测评项

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

测评方法

(1)核查是否采用加密等安全方式对系统进行远程管理。

(2)执行mysql>show variables like %have_ssl%”命令,查看是否支持SSL的连接特性(若执行结果为disabled,则说明此功能没有被激活),或者使用 \s 参数查看是否启用了SSL

 

(3)如果采用了本地管理方式,则此项不适用。

测评项

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

测评方法

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

操作步骤&预期结果

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