MySQL审计audit

MySQL审计audit,第1张

概述导读: MySQL社区版是不带审计功能的,如果要使用MySQL审计,可以考虑使用中间件(例如proxysql)或者是MariaDB的审计插件。这里以MariaDB的审计插件为例,实现MySQL 5.7
导读:MysqL社区版是不带审计功能的,如果要使用MysqL审计,可以考虑使用中间件(例如proxysql)或者是MariaDB的审计插件。这里以MariaDB的审计插件为例,实现MysqL 5.7的审计功能。
 版本信息 *** 作系统版本               :CentOS 7.4MysqL数据库版本       :MysqL 5.7.27 社区版MariaDB审计插件版本 :1.4.0 Note:1.MariaDB审计插件一直在更新,不同版本的审计插件功能也不同,每个版本的功能见:https://mariadb.com/kb/en/mariadb-audit-plugin-options-and-system-variables/#server_audit_file_rotate_Now2.我们在给MysqL数据库安装审计插件时,需要从MariaDB里面拷贝审计插件。MariaDB版本与审计插件版本关系如下:https://mariadb.com/kb/en/mariadb-audit-plugin-versions/3.MysqL版本与审计插件版本没有特别的联系,建议下载最新。  (一)下载安装直接下载MariaDB的二进制安装包,下载链接如下:https://downloads.mariadb.com/MariaDB/mariadb-10.1.23/bintar-linux-x86_64/mariadb-10.1.23-linux-x86_64.tar.gz下载完成之后,解压安装包。然后到plugin路径下,该路径是MariaDB存储插件的地方:
mariadb-10.1.23-linux-x86_64/lib/plugin@H_502_53@

在该路径下存在 server_audit.so 文件,将其拷贝到MysqL服务器上。

 在MysqL数据库上查看其插件存放路径,如下:
MysqL> show variables like 'plugin_dir';+---------------+------------------------------+| Variable_name | Value || plugin_dir | /usr/local/MysqL/lib/plugin/ -------------+------------------------------+@H_502_53@

 将MariaDB的审计插件server_audit.so存放到该路径下

[root@pro1 plugin]# ll...-rw-r--r--. 1 root root 176810 Jan 7 16:17 server_audit.so... # 修改插件权限[root@pro1 plugin]# chown MysqL:MysqL server_audit.so[root@pro1 plugin]# chmod 755 server_audit.so[root@pro1 plugin]# ll...-rwxr-xr-x. 1 MysqL MysqL  server_audit.so...@H_502_53@

 进入数据库安装插件

MysqL> INSTALL PLUGIN server_audit SOname server_audit.so;query OK,0 rows affected (0.00 sec)@H_502_53@

安装之后,可以看到数据库插件了

MysqL> show plugins ;--------------------------+----------+--------------------+-----------------+---------+| name         | Status | Type  | library         | license --------------------------+----------+--------------------+-----------------+---------+...| SERVER_AUDIT | ACTIVE | AUDIT | server_audit.so | GPL --------------------------+----------+--------------------+-----------------+---------+@H_502_53@

 

(二)审计配置审计配置即修改参数信息即可,需要注意的是最好将其放入MysqL的参数文件(my.cnf),如果仅在数据库层面做修改,数据库重启后参数将失效。
MysqL%audit% ;-----------------------------+-----------------------+| Variable_name                 | Value                 | server_audit_events           |                       | server_audit_excl_users       | server_audit_file_path        | server_audit.log      | server_audit_file_rotate_Now  | OFF                   | server_audit_file_rotate_size 1000000               | server_audit_file_rotations   9                     | server_audit_incl_users       | server_audit_loc_info         | server_audit_logging          | server_audit_mode             1                     | server_audit_output_type      file                  | server_audit_query_log_limit  1024                  | server_audit_syslog_facility  | LOG_USER              | server_audit_syslog_IDent     | MysqL-server_auditing | server_audit_syslog_info      | server_audit_syslog_priority  | LOG_INFO              -----------------------------+-----------------------+@H_502_53@

这里罗列了重点参数的含义:

 我的最终配置如下:

MysqL| CONNECT               100000000             ON                    -----------------------------+-----------------------+@H_502_53@

 

(三)审计日志解析一行代表一条完成的审计日志,日志中的字段用逗号分隔。各种事件将产生不同的审计记录,这些记录的格式个各不相同。根据审计事件,主要分为3类:(3.1)连接审计主要审计连接数据库、断开连接、连接失败等 *** 作,其日志格式如下:
[timestamp],[serverhost],[username],[host],[connectionID],0,CONNECT,[database],1)">0[timestamp],disCONNECT,Failed_CONNECT,[retcode]@H_502_53@

 (3.2)查询审计

即审计select语句,其日志格式如下:
[timestamp],[queryID],query,[object],[retcode]@H_502_53@

 (3.3)表相关审计

如果审计开启table事件,则会审计创建、删除、重命名表等 *** 作,日志格式如下:
[timestamp],CREATE,1)">object],[timestamp],READ,[[database_new].[object_new],DROP,@H_502_53@

 

 【完】

总结

以上是内存溢出为你收集整理的MySQL审计audit全部内容,希望文章能够帮你解决MySQL审计audit所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存