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

MySQL审计插件的测试(mcafee和mariadb版本)

127次阅读
没有评论

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

测试用服务器配置:Dell R730; 24 核; 64G 内存; ssd 磁盘。
CentOS 版本:6.4;MySQL 版本:Community 5.6.12;测试数据库大小:24G。
sysbench 参数:64 线程 10 表,每个表预先初始化好一千万数据,读写混合 OLTP 模式。和 mysql 跑在同一台机器上。
测试时长:5 分钟 / 场景。
 
未安装插件
OLTP test statistics:
queries performed:
read: 15377012
write: 4393432
other: 2196716
total: 21967160
transactions: 1098358 (3661.01 per sec.)
read/write requests: 19770444 (65898.21 per sec.)
other operations: 2196716 (7322.02 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
 
 
Mcafee 插件 官网地址:https://github.com/mcafee/mysql-audit/wiki
使用版本:v1.0.9
安装
INSTALL PLUGIN AUDIT SONAME ‘libaudit_plugin.so’;
启用
set global audit_json_file=1;
停用
set global audit_json_file=0;
重启 mysql
插件不会卸载,不会启用记录日志。
卸载
直接执行 UNINSTALL PLUGIN AUDIT; 卸载会报错:Uninstall AUDIT plugin disabled。
同时发现 Variable ‘audit_uninstall_plugin’ is a read only variable
需要在 my.cnf 中添加 audit_uninstall_plugin=1,重启 mysql。
重启完毕后 执行两次 UNINSTALL PLUGIN AUDIT; 可以卸载。
卸载完成后需要从 my.cnf 中删除 audit_uninstall_plugin=1,否则下次 mysql 启动会报错:[ERROR] /data/mysql/bin/mysqld: unknown variable ‘audit_uninstall_plugin=1’
日志格式:json
{“msg-type”:”activity”,”date”:”1484795122970″,”thread-id”:”557″,”query-id”:”61687115″,”user”:”root”,”priv_user”:”root”,”ip”:”127.0.0.1″,”cmd”:”select”,”objects”:[{“db”:”sysbench_test”,”name”:”sbtest7″,”obj_type”:”TABLE”}],”query”:”SELECT c FROM sbtest7 WHERE id=5015211″}
只会记录操作成功的日志
 
OLTP test statistics:
queries performed:
read: 8376872
write: 2393392
other: 1196696
total: 11966960
transactions: 598348 (1994.38 per sec.)
read/write requests: 10770264 (35898.81 per sec.)
other operations: 1196696 (3988.76 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
 
 
Mariadb 插件 官网地址:https://mariadb.com/kb/en/mariadb/about-the-mariadb-audit-plugin/
使用版本:1.1.7
安装
INSTALL PLUGIN server_audit SONAME ‘server_audit.so’;
启用
set global server_audit_logging=1;
set global server_audit_file_rotate_size=1073741824; set global server_audit_file_rotations=4;
停用
set global server_audit_logging=0;
重启 mysql
插件不会卸载,不会启用记录日志。但是所有参数会重置,再次启用的时候需要执行需要的参数配置。
卸载
UNINSTALL PLUGIN server_audit;
卸载插件无须重启 mysql。
日志格式:固定格式文本
20170119 10:39:19,localhost.localdomain,root,127.0.0.1,375,8330400,QUERY,sysbench_test,’SELECT c FROM sbtest5 WHERE id=5037936′,0
所有操作都会记录。可以记录 SQL 注入。
 
OLTP test statistics:
queries performed:
read: 9098362
write: 2599532
other: 1299766
total: 12997660
transactions: 649883 (2166.16 per sec.)
read/write requests: 11697894 (38990.84 per sec.)
other operations: 1299766 (4332.32 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
 
小结:
mcafee 的审计插件:
性能下降约 46%,产生日志 3.0G
卸载插件需要重启一次 mysql。插件没有自动滚动,需要另外部署清理任务,会有清理任务失败导致的磁盘空间不够的风险,拉取日志到其他服务器分析与清理任务有协调困难,清理任务会有一定耦合性。
mariadb 的审计插件:
性能下降约 41%,产生 1864M 日志。
性能略好于 mcafee 的插件。审计日志有自动滚动。卸载方便。兼容性方面 5.6.12 的版本测试不适配 1.1.7 以上版本,使用的话 MySQL 守护进程会无限重启 mysql,官方说是 1.2.0 以上版本要在 MySQL5.6.17 以上版本使用,使用前要先测试。
percona 的审计插件:
没有适配 5.6.17 以前版本的,暂未做测试。

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

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