安全审计
测评项:a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
核查点:日志要素
MySQL不对特定用户执行日志收集策略,默认覆盖所有用户。仅关注登录失败(log_error)/ SQL语句执行(log_bin)是否处于开启状态。
测评方法核查命令
(1)执行“mysql>show variables like ‘log_%’”命令,查看输出的日志内容是否覆盖所有用户,并核查审计记录类型是否满足要求。
(2)核查是否已使用第三方审计工具增强MySQL的日志审计功能。如果使用了第三方审计工具,则查看其审计内容是否包含时间的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
操作步骤&预期结果
(1)数据库本地启用了日志审计功能,审计内容覆盖每个用户、能够记录重要的用户行为和重要安全事件。
核查效果 测评项:b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。 测评方法 (1)执行“mysql>show variables like ‘log_%’”命令,查看输出的日志内容是否覆盖所有用户,并核查审计记录覆盖的内容。 (2)核查是否已使用第三方审计工具增强MySQL的日志审计功能。如果使用了第三方审计工具,则查看其审计内容是否包含事件的日期和事件、用户、事件类型、事件是否成功及其他与审计相关的信息。 操作步骤&预期结果 (1)数据库本地启用了日志审计功能,审计内容覆盖每个用户,能够记录重要的用户行为和重要安全事件。 ① show variables like 'log_%'; ② show global variables like '%general%'; (2)使用了第三方数据库审计产品,审计内容覆盖每个用户,能够记录重要的用户行为和重要安全事件。 测评项:c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。 测评方法 (1)访谈管理员,了解审计记录的保护方式。核查审计记录是否定期备份,了解备份策略。 (2)核查是否已严格限制用户访问审计记录的权限。 操作步骤&预期结果 (1)采用备份、转存等手段对审计记录进行保护,避免未预期的删除、修改或覆盖,数据库本地日志保存时间超过6个月。 exprie_logs_days为日志存储时间(已经通过“set global expire_logs_days = 180;”命令设置保存时间) (2)采用第三方数据库审计产品审计记录保存时间超过6个月。 测评项:d) 应对审计进程进行保护,防止未经授权的中断。 测评方法 (1)核查是否已严格限制管理员、审计员的权限。 (2)尝试以用户身份重启实例、关闭审计功能,查看是否能成功(应为否)。 操作步骤&预期结果 (1)非审计员账户无法中断审计进程,审计进程已受到保护。 (2)非审计员账户无法对审计进程纪念性开启、关闭操作。对这类操作有日志记录。 ① show variables like 'log_%log%';
② show global variables like '%general%';
(2)启用审计功能的策略为:配置了审计日志的存储位置或部署了第三方数据库审计产品;审计内容覆盖所有用户。




