mysql审计开启后项目进不去_mysql开启数据审计

插件方式

安装

社区版不提供审计功能,可以使用https://github.com/mcafee/mysql-audit, 这个审计插件

使用方式:

先下载插件:https://bintray.com/mcafee/mysql-audit-plugin/release

查看插件安装的目录

show global variables like 'plugin_dir';

解压安装包,将安装包/lib/libaudit_plugin.so文件复制到插件安装目录/usr/lib64/mysql/plugin/

增加可执行权限:chmoa a+x libaudit_plugin.so

在/etc/my.cnf中增加plugin-load=AUDIT=libaudit_plugin.so

关闭SELinux(重要)

需要关闭SELinux,否则将安装将出现error 1123 (hy000): can't initialize function 'audit'; plugin initialization function failed.,

/usr/sbin/sestatus -v查看SELinux状态,enabled:表示开启SELinux status: enabled

SELinuxfs mount: /sys/fs/selinux

SELinux root directory: /etc/selinux

Loaded policy name: targeted

Current mode: enforcing

Mode from config file: enforcing

Policy MLS status: enabled

Policy deny_unknown status: allowed

Max kernel policy version: 31

关闭SELinux

临时关闭(无需重启,但重启后失效)

setenforce 0# 设置SELinux 成为permissive模式

setenforce 1 # 设置SELinux 成为enforcing模式

永久关闭(需重启)

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

在mysql控制台下执行

INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';

如果还是出现错误:error 1123 (hy000): can't initialize function 'audit'; plugin initialization function failed.

解决办法:

解决办法:用offest-extract.sh解决,方法如下:

下载offset-extract.sh脚本: https://raw.github.com/mcafee/mysql-audit/master/offset-extract/offset-extract.sh

加上可执行权限:chmod a+x offset-extract.sh

执行:offset-extract.sh /usr/sbin/mysqld, 执行成功后会出现如下信息:

{"5.7.24","ae633eb887552a3bbb5db3a1eea73d48", 76992, 7040, 4000, 4520, 72, 2704, 96, 0, 32, 104, 136, 7128, 4392, 2800, 2808, 2812, 536, 0, 0, 6360, 6384, 6368, 13048, 548, 516},

然后在配置文件/etc/my.cnf中添加:

audit_offsets=6992, 7040, 4000, 4520, 72, 2704, 96, 0, 32, 104, 136, 7128, 4392, 2800, 2808, 2812, 536, 0, 0, 6360, 6384, 6368, 13048, 548, 516

重启mysql服务

验证插件是否安装成功

show plugins;

使用

查看版本:show global status like 'AUDIT_version';

查看可配置的参数:SHOW GLOBAL VARIABLES LIKE '%audi%';

查看审计功能是否开启:Show variables like "audit_json_file";

开启审计功能:SET GLOBAL audit_json_file=ON;

查看数据存放目录:show global variables like 'datadir';

查看审计日志:tail -f /var/lib/mysql/mysql-audit.json

查看用户白名单(即不审计的用户):show global variables like 'audit_whitelist_users';

查看需要审计的命令种类(默认所有命令):show global variables like 'audit_record_cmds';

推荐配置

为了保证重启数据库,配置不丢失,修改my.cnf 配置文件,将下面的配置添加到[mysqld]中,所以在配置文件中my.cnf加入参数:

audit_json_file=on:保证mysql重启后自动启动插件

plugin-load=AUDIT=libaudit_plugin.so:防止删除了插件,重启后又会加载

audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate':要记录哪些命令语句,默认记录所有操作;

例如:

plugin-load=AUDIT=libaudit_plugin.so

audit_offsets=7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080, 13464, 148, 672

audit_json_file=on

audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate'

标签:审计,audit,插件,plugin,SELinux,show,开启,mysql

来源: https://blog.csdn.net/skygm/article/details/90288734

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值