主页 > 网络知识 > 等保测评2.0:MySQL安全审计(3)

等保测评2.0:MySQL安全审计(3)

控制审核日志插件如何将连接事件写入其日志文件的策略

等保测评2.0:MySQL安全审计

 

audit_log_exclude_accounts:

不应记录事件的帐户,除此之外的账户的事件都会被记录。该值应为NULL或包含一个或多个用逗号分隔的帐户名列表的字符串。

audit_log_file:

日志记录的文件名,可以是相对路径(相对于数据库目录)和完整路径。

audit_log_format:

日志格式,可以是 OLD(旧样式XML), NEW(新样式XML,默认值)和(从MySQL 5.7.21开始)JSON。

audit_log_include_accounts:

要包括在审核日志记录中的帐户。如果设置了此变量,则仅审核这些帐户。

注意,audit_log_exclude_accounts与audit_log_include_accounts是互斥的,它们之间只有一个的值为非null,不能同时为非null。

audit_log_policy:

事件记录策略

等保测评2.0:MySQL安全审计

 

audit_log_rotate_on_size:
如果 audit_log_rotate_on_size 值为0,则审核日志插件不会执行自动日志文件轮换。而是手动使用audit_log_flush刷新日志文件。在这种情况下,请在刷新文件之前在服务器外部手动重命名该文件(要不然原来的记录就没了)。

如果该 audit_log_rotate_on_size 值大于0,则会自动进行基于大小的日志文件轮换。每当写入日志文件导致其大小超过该 audit_log_rotate_on_size 值时,审核日志插件都会关闭当前日志文件,将其重命名,然后打开一个新的日志文件。

如果将此变量设置为不是4096的倍数的值,它将被截断为最接近的倍数。(因此,将其设置为小于4096的效果是将其设置为0且不进行旋转,除非手动进行。)

audit_log_statement_policy:

应该被记录的语句事件,在服务器启动的时候如果audit_log_statement_policy和audit_log_policy都显示赋予了值,那么audit_log_statement_policy可能会被audit_log_policy覆盖。

等保测评2.0:MySQL安全审计

 

更多详细的解释请看官方文档:MySQL Enterprise Audit

基本上默认配置也足够满足测评项要求了。

3.4. McAfee的libaudit_plugin

也是一个审核插件,其相关参数如下:

SHOW GLOBAL VARIABLES LIKE '%audi%'; audit_json_file        #是否开启audit功能(ONOFF) audit_json_log_file     #log日志名称及存储位置,默认mysql的data目录 audit_record_cmds=''    #设置需要监控的SQL命令,默认全部(即该值为null) audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate' #这是一些例子 audit_record_objs='' #设置需要监控的数据库名称和表名,默认全部(即该值为null) audit_record_objs=‘mysql.*’   #一个例子 audit_whitelist_users    #用户白名单

更多详细解释请查看官方文档:McAfee的audit

基本上启用后就满足测评项要求了。

四、测评项b

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

只要启用了审计功能,无论是自带的审计还是插件,在记录的信息上都能满足这个要求。

4.1. 自带的审计功能

其记录内容如下:

mysql> select * from general_log; | 2018-07-17 23:00:12 | root[root] @ localhost [] | 2 | 1132333306 | Query | select * from test.student3 4.2. MariaDB的Audit Plugin插件
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!