按照三级登报2.0 要求,mysql开启审计日志
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计; b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息; c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等; d)应对审计进程进行保护,防止未经授权的中断。
查看审计日志,默认关闭
临时打开:
这只是临时性的开启,当数据库重新启动时general_log审计功能又会变回关闭状态,要想永久开启就必须修改配置文件“my.cnf”中的“general_log”参数为“ON”,就可以永久开启了。
查看审计日志
2. 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
审计记录所包含的内容都符合该测评项所要求的内容,其中包括日期和时间、用户、事件类型为“query”查询,具体语句为“select * from user”等。
3. 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
来查看审计记录的保存方式,“file”表示文件存储,“table”表示数据表存储,采用什么存储方式就需要查看对应文件的权限,只允许数据库管理员之类的人员才可以访问、修改等。
应对审计进程进行保护,防止未经授权的中断。
这个就比较简单了,有两个地方可以对审计进程进行配置。一个是my.cnf,这里就需要操作系统上对配置文件的权限进行限制,只允许数据库管理有权限进行修改。(同时也要限制MySQL中的file_priv权限。)另外一个就是那些变量了,似乎是需要super权限才可以设置全局变量,那么这里的话就需要查看super权限给了哪些账户。
参考:
https://www.toutiao.com/i6895602393728156173/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1606268078&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=2020112509343801002607708834590078&group_id=6895602393728156173