系统审计
系统审计日志
#将下面这段内容添加在/etc/profile文件末尾,完事后执行
source /etc/profile
HISTSIZE=1000
HISTTIMEFORMAT="%Y/%m/%d %T ";export HISTTIMEFORMAT
#审计文件保存路径
export HISTORY_FILE=/var/log/audit.log
#审计内容
export PROMPT_COMMAND='{ thisHistID=`history 1|awk "{print \\$1}"`;lastCommand=`history 1| awk "{\\$1=\"\" ;print}"`;user=`id -un`;whoStr=(`who -u am i`);realUser=${whoStr[0]};logMonth=${whoStr[2]};logDay=${whoStr[3]};logTime=${whoStr[4]};pid=${whoStr[6]};ip=${whoStr[7]};if [ ${thisHistID}x != ${lastHistID}x ];then echo -E `date "+%Y/%m/%d %H:%M:%S"` $user\($realUser\)@$ip[PID:$pid][LOGIN:$logMonth $logDay $logTime] --- $lastCommand ;lastHistID=$thisHistID;fi; } >> $HISTORY_FILE'
查看是否生效
cat /var/log/audit.log
数据库审计策略 插件下载地址(https://bintray.com/mcafee/mysql-audit-plugin/) 先下载好审计插件(audit-plugin-mysql-5.6-1.1.2-667.zip) 解压后进入文件夹下的lib目录,将内容复制到/app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/目录下
cp libaudit_plugin.so /app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/
进入plugin目录 cd /app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/
给该文件增加执行权限 chmod +x libaudit_plugin.so
修改配置文件 Vim /etc/my.cnf 在【mysqld】下面增加 plugin-load=AUDIT=libaudit_plugin.so
重启服务 service mysqld restart
在命令行进入mysql mysql –uroot –p 输入密码进入
查看plugin show plugins;
在最后一行会看到如下图即为按照成功
运行 SHOW GLOBAL VARIABLES LIKE 'audit%';
显示的是audit记录的命令,默认为记录所有命令,可以设置为任意dml、dcl、ddl的组合 如:audit_record_cmds=select,insert,delete,update audit_record_objs audit记录操作的对象,默认为记录所有对象, 可以用SET GLOBAL audit_record_objs=NULL设置为默认 也可以指定为下面的格式 audit_record_objs=,test.*,mysql.*,information_schema.*
接下来查看是否开启audit功能 show variables like 'audit_json_file';
显示没有开启,接下来我没进行开启 set global audit_json_file=on;
show variables like 'audit_json_file';
已经开启
审计bjggzy库的所有对象 SET GLOBAL audit_record_objs='bjggzy.*';
审计test库的insert,update和delete操作 set global audit_record_cmds='insert,delete,update';
查看记录文件的路径和名称信息: show variables like 'audit_json_log_file';
文件路径如下: system find / -name mysql-audit.json |