一、身份鉴别a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换 1、登录mysql查看是否使用了口令和密码的组合鉴别身份
2、使用如下命令查询用户列表,是否存在相同用户名。结果默认不存在同名用户
3、执行如下命令查看是否存在空口令用户
4、执行如下命令查看密码复杂度设置
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施 1、询问管理员是否采取其他手段配置数据库登录失败处理功能。 2、查看是否安装插件,并增加失败处理功能
3、 操作超时自动退出功能
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听 1、询问是否采用远程管理,如果本地管理则不适用,远程管理是否启用SSL
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现 对于数据库基本不符合。 二、访问控制a)应对登录的用户分配账户和权限 1、使用命令查看,是否为登录的用户创建了不同账户和权限。
询问数据库管理员各个账户的作用与权限,输出结果是否与实际人员是否相符 注:此项基本上是默认符合,因为至少有个root用户存在 b)应重命名或删除默认账户,修改默认账户的默认口令 1、查看root用户是否被删除或者重命名,不修改需要增加口令复杂度,避免空口令弱口令出现 c)应及时删除或停用多余的、过期的账户,避免共享账户的存在
2、询问管理员是否不同用户采用不同账户登录,避免共享账户的存在 d)应授予管理用户所需的最小权限,实现管理用户的权限分离 1、是否对用户进行角色划分且只授予账号必须的权限,除root外,任何用户不应该有mysql库user表的存取权限,禁止将fil、process、 super权限授予管理员以外的账户
2、查看用户权限表,并验证用户是否具有自身角色外的其他用户的权限。
e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
1、访谈管理员是否制定了访问控制策略。 2、执行命令查看用户权限列表 3、检查数据库权限列表
4、检查用户表权限列表
5、检查列权限列管理员
输出的权限列是是否与管理员制定的访问控制策略及规则一致 f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级 1、执行如下sql语句 select * from mysql.user -检查用户权限列表 2、访谈管理员并核查访问控制粒度主体是否为用户级,客体是否为数据库表级,基本都满足。 g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问 MySQL不提供该项功能,访谈管理员,是否采用其他技术手段。 三、安全审计a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计 1、执行下列语句:show global variables like ‘%general%’。默认为OFF,不符合。应设置为ON为开启审计。
访谈管理员是否通过第三方插件收集审计数据进行分析。 b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息 1、只要启用了审计功能,无论是自带的审计还是插件,在记录的信息上都能满足这个要求。 c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等 |