一、身份鉴别
a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
1、登录mysql查看是否使用了口令和密码的组合鉴别身份
mys ql-h 192.168.100.16 -ur o ot-p
2、使用如下命令查询用户列表,是否存在相同用户名。结果默认不存在同名用户
sel ect us er , hos t FR OM my sql.u ser;
3、执行如下命令查看是否存在空口令用户
se lect u ser,h ost,aut hentication_string,passw ord_lifetime,account_locked f rom mys ql.user;
4、执行如下命令查看密码复杂度设置
showvaria bleslike'validate%';
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
1、询问管理员是否采取其他手段配置数据库登录失败处理功能。
2、查看是否安装插件,并增加失败处理功能
showvariableslike'%connection_control%';showvariableslike'%max_connect_errors%'; # 查看登录失败策略
3、 操作超时自动退出功能
showvariableslike"%timeout%";
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
1、询问是否采用远程管理,如果本地管理则不适用,远程管理是否启用SSL
showvariableslike"%have_ssl%";showvariableslike"%have_openssl%";d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
对于数据库基本不符合。
二、访问控制
a)应对登录的用户分配账户和权限
1、使用命令查看,是否为登录的用户创建了不同账户和权限。
sele ctuser,ho st f rom my sql.u ser ;SHOWg rantsfor'roo t'@'loca lhost';
询问数据库管理员各个账户的作用与权限,输出结果是否与实际人员是否相符
注:此项基本上是默认符合,因为至少有个root用户存在
b)应重命名或删除默认账户,修改默认账户的默认口令
1、查看root用户是否被删除或者重命名,不修改需要增加口令复杂度,避免空口令弱口令出现
c)应及时删除或停用多余的、过期的账户,避免共享账户的存在
selectuser,host,authentication_string,password_lifetime,account_locked from mysql.user;2、询问管理员是否不同用户采用不同账户登录,避免共享账户的存在
d)应授予管理用户所需的最小权限,实现管理用户的权限分离
1、是否对用户进行角色划分且只授予账号必须的权限,除ro ot外,任何用户不应该有mysql库user表的存取权限,禁止将fil、proc ess、 sup er权限授予管理员以外的账户