MySQL8.0数据库审计

CentOS 7.6 安装 MySQL 8.0.28
数据库审计属于数据库安全范畴。

序号 数据库安全
1 数据库审计
2 数据库防火墙
3 数据库加密
4 数据脱敏
5 数据库漏洞扫描
6 数据库安全运维

背景

  1. 主动安全防护:缩短攻击从发生到发现的时间。
  2. 法律刚需:日志存储至少180天。

插件

  1. 官方企业版
  2. Percona MySQL
  3. MariaDB审计插件
  4. McAfee审计插件(支持 MySQL 8.0)

McAfee审计插件

使用 sysbench 压测,开启审计后约有25%的性能损耗

下载路径

文档路径

安装

# 解压
unzip audit-plugin-mysql-8.0-1.1.12-999-linux-x86_64.zip

# 將插件拷贝到 MySQL 的 plugin 下
cp /root/audit-plugin-mysql-8.0-1.1.12-999/lib/libaudit_plugin.so /usr/lib64/mysql/plugin/
chown -R mysql.mysql /usr/lib64/mysql/plugin/libaudit_plugin.so
chmod +x /usr/lib64/mysql/plugin/libaudit_plugin.so

# 连接 MySQL,加载插件
mysql> INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';
Query OK, 0 rows affected (5.97 sec)

mysql> show global status like 'AUDIT_version';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| Audit_version | 1.1.12-999 |
+---------------+------------+
1 row in set (0.01 sec)

# 开启审计
mysql> set global audit_json_file=ON;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'audit_json_file';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| audit_json_file | ON    |
+-----------------+-------+
1 row in set (0.01 sec)

# 为了重启能生效,写入到 /etc/my.cnf 中
[mysqld]
audit_json_file=on
plugin-load=AUDIT=libaudit_plugin.so

默认会在 data_dir(/var/lib/mysql)路径下生成一个mysql-audit.json文件

切换日志

mv mysql-audit.json mysql-audit.json.`date +%F`
mysql -e 'set global audit_json_file_flush=on;'

追踪日志

tail -f -n 20 mysql-audit.json | gerp "关键词"

猜你喜欢

转载自blog.csdn.net/qq_45594962/article/details/127051360