阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL之MariaDB启用审计插件

150次阅读
没有评论

共计 4464 个字符,预计需要花费 12 分钟才能阅读完成。

对于 MySQL Percona MariaDB 三家都有自己的审计插件,但是呢,MySQL 的审计插件是只有企业版才有的,同时也有很多第三方的的 MySQL 的审计插件,而 Percona 和 MariaDB 都是 GPL 的审计插件

首先看一下 mariaDB 的审计插件

[root@linuxidc /usr/local/mysql]# mysql -uroot -ppassword
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 42804
Server version: 10.0.14-MariaDB-log Source distribution
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> show variables like ‘%audit%’;
Empty set (0.00 sec)
MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME ‘server_audit.so’; #安装审计插件
Query OK, 0 rows affected (0.18 sec)
MariaDB [(none)]> show variables like ‘%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_logging | OFF |
| server_audit_mode | 0 |
| server_audit_output_type | file |
| server_audit_syslog_facility | LOG_USER |
| server_audit_syslog_ident | mysql-server_auditing |
| server_audit_syslog_info | |
| server_audit_syslog_priority | LOG_INFO |
+——————————-+———————–+
14 rows in set (0.00 sec)
MariaDB [(none)]> SHOW VARIABLES LIKE ‘plugin_dir’; #插件地址路径
+—————+—————————— -----+
| Variable_name | Value |
+—————+—————————— +
| plugin_dir | /usr/local/mysql/lib/plugin/ |
+—————+—————————–------+
1 row in set (0.00 sec)

如果想永久加载,只需在配置文件里指定如下行即可,此时卸载该插件时会报错,插件将无法卸载,直到配置文件变更

 [mysqld]
plugin-load=server_audit=server_audit.so
server_audit=FORCE_PLUS_PERMANENT

命令行启用 audit,重启后失效

MariaDB [(none)]> set global server_audit_file_rotate_size=1024*1024*1024;
Query OK, 0 rows affected (0.01 sec)
 
MariaDB [(none)]> set global server_audit_events=’query,table’;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> set global server_audit_file_rotate_now=on;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> set global server_audit_logging=’ON’;
Query OK, 0 rows affected (0.00 sec)

为了使 MySQL 重启设置的变量仍然生效,需要在配置文件添加相应配置:

[mysqld]
server_audit_events=’CONNECT,QUERY,TABLE’
server_audit_logging=on
server_audit_file_rotate_size=2000000
server_audit_file_rotations=10

查看审计日志:
[root@linuxidc ~]# tail -n 20 /mydata/data/server_audit.log

wKioL1izjhDygLwJAAPILiARNzU698.png

参数说明:
server_audit_output_type:指定日志输出类型,可为 SYSLOG 或 FILE

server_audit_logging:启动或关闭审计

server_audit_events:指定记录事件的类型,可以用逗号分隔的多个值 (connect,query,table),如果开启了查询缓存 (query cache),查询直接从查询缓存返回数据,将没有 table 记录

server_audit_file_path:如 server_audit_output_type 为 FILE,使用该变量设置存储日志的文件,可以指定目录,默认存放在数据目录的 server_audit.log 文件中

server_audit_file_rotate_size:限制日志文件的大小

server_audit_file_rotations:指定日志文件的数量,如果为 0 日志将从不轮转

server_audit_file_rotate_now:强制日志文件轮转

server_audit_incl_users:指定哪些用户的活动将记录,connect 将不受此变量影响,该变量比 server_audit_excl_users 优先级高

server_audit_syslog_facility:默认为 LOG_USER,指定 facility

server_audit_syslog_ident:设置 ident,作为每个 syslog 记录的一部分

server_audit_syslog_info:指定的 info 字符串将添加到 syslog 记录

server_audit_syslog_priority:定义记录日志的 syslogd priority

server_audit_excl_users:该列表的用户行为将不记录,connect 将不受该设置影响

server_audit_mode:标识版本,用于开发测试

MySQL 添加审计功能:

wget https://dl.bintray.com/mcafee/mysql-audit-plugin/:audit-plugin-mariadb-10.0-1.1.0-625-linux-x86_64.zip
unzip audit-plugin-mariadb-10.0-1.1.0-625-linux-x86_64.zip
cd audit-plugin-mariadb-10.0-1.1.0-625/lib
mysql -uroot -p -e “show global variables like ‘plugin_dir’;”
‘plugin_dir’, ‘/usr/local/mysql/lib/plugin/’
#拷贝插件到 mysql 的插件目录
cp libaudit_plugin.so /usr/local/mysql/lib/plugin/’
#安装审计插件
mysql -uroot -p -e “INSTALL PLUGIN AUDIT SONAME ‘libaudit_plugin.so’;”

其他配置和 MariaDB 一样。

Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress  http://www.linuxidc.com/Linux/2016-10/136435.htm

Ubuntu 16.04 Dockerfile 安装 MariaDB  http://www.linuxidc.com/Linux/2016-09/135260.htm

Linux 系统教程:如何检查 MariaDB 服务端版本  http://www.linuxidc.com/Linux/2015-08/122382.htm

MariaDB Proxy 读写分离的实现 http://www.linuxidc.com/Linux/2014-05/101306.htm

Linux 下编译安装配置 MariaDB 数据库的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm

CentOS 系统使用 yum 安装 MariaDB 数据库 http://www.linuxidc.com/Linux/2014-11/109048.htm

二进制安装 MariaDB 5.5.36 http://www.linuxidc.com/Linux/2017-02/140233.htm

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10  http://www.linuxidc.com/Linux/2014-11/109471.htm

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB  http://www.linuxidc.com/Linux/2014-12/110048htm

Ubuntu 14.04(Trusty) 安装 MariaDB 10 数据库  http://www.linuxidc.com/Linux/2016-11/136833.htm

MariaDB 的详细介绍 :请点这里
MariaDB 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/141121.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4464字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中