MySQL5.7版本实现数据库审计功能

news2024/9/21 6:11:14

一、基本介绍

MySQL 数据库审计(MySQL Database Auditing)主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分,等保评测中也要求有审计日志。对于 DBA 而言,数据库审计也极其重要,特别是发生人为事故后,审计日志便于我们进行责任追溯,问题查找。
实现方式

二、实现方式介绍

MySQL 数据库可以通过多种方式进行审计,包括内置插件、第三方插件和旁路部署等实现方式。

内置插件(Enterprise Audit Plugin)
  • MySQL 企业版提供了内置的审计插件 Enterprise Audit Plugin,可以记录数据库中的所有 SQL查询和用户活动。该插件允许用户自定义审计规则,比如记录指定用户或特定事件的操作。适用于需要详细审计日志的企业场景。
  • 优点: 内置于MySQL,稳定且维护方便。
  • 缺点: 需要 MySQL 企业版,开源版无法使用。
第三方插件(MariaDB Audit Plugin)
  • MariaDB 提供了一个开源的审计插件 MariaDB Audit Plugin,可以在 MySQL 5.5、5.6 和 5.7
    上使用。它记录所有的数据库操作,包括登录、查询、更新等,输出为文本格式的审计日志。
  • 优点: 开源,兼容 MySQL 。
  • 缺点: 功能相对MySQL 企业版的审计插件略有不足。

旁路部署方式暂不做介绍,本章主要介绍使用第三方插件(MariaDB Audit Plugin)来实现数据库审计功能。这个插件是MariaDB数据库中自带的插件,MariaDB和MySQL数据库的关系这里不做解释,自行查阅。

三、下载插件

我们需要下载MariaDB数据库,从它的插件目录中\lib\plugin找到server_audit.so插件(这里下载的是linux版本的,windows版本插件为server_audit.dll),将server_audit.so插件拷贝到mysql的插件目录下(/usr/local/mysql/lib/plugin/)
MySQL版本为 5.7.30
MariaDB版本为10.2.38,对应的server_audit.so插件版本为1.4.13

下载地址: MariaDB10.2.38

下面为插件版本和MariaDB对应表
在这里插入图片描述

四、安装插件

1、修改插件的权限及属主
[root@localhost plugin]# chown mysql:mysql server_audit.so
[root@localhost plugin]# chmod 755 server_audit.so
[root@localhost plugin]# ls -lh server_audit.so 
-rwxr-xr-x. 1 mysql mysql 191K May  4  2021 server_audit.so
2、修改MySQL的配置文件my.cnf启动并配置审计插件(永久生效方式)
[mysqld]
# 处理时间戳警告
explicit_defaults_for_timestamp=1

# 启用审计插件
plugin-load=server_audit=server_audit.so

# 启用审计日志记录
server_audit_logging=ON

# 防止插件被卸载
server_audit = FORCE_PLUS_PERMANENT

# 审计日志文件路径
server_audit_file_path=/var/log/mysql/audit.log
# 审计日志格式 写入文件中
server_audit_output_type=FILE
# 日志轮转开关 server_audit_output_type=FILE时设置
server_audit_file_rotate_now=ON
#  日志轮转大小 /B 50MB
server_audit_file_rotate_size=52428800
#  保存的轮转日志数量
server_audit_file_rotations=9

# 审计日志中包含的事件类型(CONNECT, QUERY, TABLE)
server_audit_events=CONNECT,QUERY_DDL,QUERY_DML_NO_SELECT

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

之后重启数据库服务即可生效

以上步骤,已经完成审计插件的安装和配置,下面来了解一下主要配置参数的作用:
在这里插入图片描述
日志内容示例:

# 进行操作后 查看审计日志内容
20220512 15:17:17,mysqlhost2,test_user,10.30.21.95,118,0,FAILED_CONNECT,,,1045
20220512 15:17:30,mysqlhost2,test_user,10.30.21.95,119,0,FAILED_CONNECT,,,1045
20220512 15:20:26,mysqlhost2,test_user,10.30.21.95,124,0,CONNECT,,,0
20220512 15:20:49,mysqlhost2,test_user,10.30.21.95,124,395,QUERY,,'create database testdb',0
20220512 15:22:06,mysqlhost2,test_user,10.30.21.95,129,419,QUERY,testdb,'CREATE TABLE if not exists `test_tb0` (\r\n  `increment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT \'自增主键\',\r\n  `test_id` int(11) NOT 
NULL ,\r\n  `test_name` varchar(20) DEFAULT NULL,\r\n  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\r\n  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE C
URRENT_TIMESTAMP COMMENT \'修改时间\',\r\n  PRIMARY KEY (`increment_id`)\r\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT=\'测试table\'',0
20220512 15:23:09,mysqlhost2,test_user,10.30.21.95,129,426,QUERY,testdb,'insert into test_tb0 (test_id,test_name) values (1001,\'4343df\'),(1002,\'dfd\')',0
20220512 15:23:22,mysqlhost2,test_user,10.30.21.95,129,433,QUERY,testdb,'delete from test_tb0',0
20220512 15:24:14,mysqlhost2,test_user,10.30.21.95,129,448,QUERY,testdb,'create table test_tb0 (id int)',1050
20220512 15:24:25,mysqlhost2,test_user,10.30.21.95,129,452,QUERY,testdb,'drop table test_tb0',0
20220512 15:25:13,mysqlhost2,test_user,10.30.21.95,126,0,DISCONNECT,testdb,,0

# 连接审计主要审计连接数据库、断开连接、连接失败等操作,其日志格式如下:
[timestamp],[serverhost],[username],[host],[connectionid],0,CONNECT,[database],,0
[timestamp],[serverhost],[username],[host],[connectionid],0,DISCONNECT,,,0
[timestamp],[serverhost],[username],[host],[connectionid],0,FAILED_CONNECT,,,[retcode]

# QUERY审计各种数据库变更事件,执行失败也会记录,其日志记录格式如下:
[timestamp],[serverhost],[username],[host],[connectionid],[queryid],QUERY,[database],[object], [retcode]

如需使用插件请到主页资源进行下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2097545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1412312

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

BugKu练习记录:你喜欢下棋吗

题目: 密码全为小写,格式bugku{} 解压密码: 你喜欢下棋吗? 解压密码为小写 4423244324433534315412244543棋盘密码解密: thisispolybius用这个密码解压,打开flag.txt文件 一种5bit的编码 bugku里面的内…

Transformer 动画揭秘:数据处理的四大关键技术

0背景 Transformer 大模型,一种基于自注意力机制的神经网络架构,已被广泛应用于各种自然语言处理任务,比如:机器翻译、文本摘要、生成问答等。 从端到端的角度来看,Transformer 大模型中数据的处理流程主要包括四个阶…

基于matlab的行人和车辆检测系统

基于matlab的行人和车辆检测系统 【目标检测】基于计算机视觉,含GUI界面 算法:二帧差分法,三帧差分法,混合高斯建模,ViBe算法。 功能:对视频中出现的动态目标进行逐帧作差分析或ViBe算法检测,使…

[线程] 定时器 及 实现定时器

文章目录 一. 定时器二. 标准库中的定时器三. 实现定时器1. 创建MyTimerTask类2. 通过一定的数据结构, 保存多个任务3.MyTimer类的构造方法4. 实现schedule方法完整代码: 一. 定时器 定时器, 就是"闹钟"的效果 指定一个任务(Runnable), 并且指定一个时间, 此时这个任…

PMP核心知识点—之项目运行环境

知识点1:项目合规性 不合规的项目就不应该做。 知识点2:项目影响两大因素 组织过程资产、事业环境因素 知识点3:职能型以及项目型组织结构 知识点4:矩阵型组织结构 弱矩阵—平衡矩阵—强矩阵 (项目经理权力的强弱) 知识点5&am…

Oracle rac模式下undo表空间爆满的解决

文章目录 前言一、确认对应实例的undo表空间二、确认对应实例undo的文件位置三、确认回滚段使用情况四、检查undo segment状态五、创建新的undo表空间并进行切换六、等待原undo表空间segment状态变更为offline七、删除原undo表空间以及数据文件 前言 一、确认对应实例的undo表空…

如何把自动获取的ip地址固定

在大多数网络环境中,‌设备通常会自动从DHCP服务器获取IP地址。‌这种动态分配IP的方式虽然灵活方便,‌但在某些特定场景下,‌我们可能需要将设备的IP地址固定下来,‌以确保网络连接的稳定性和可访问性。‌本文将详细介绍如何把自…

C++知识点概述

C知识点概述 C是一种功能强大的编程语言,广泛应用于系统软件、游戏开发、高性能服务器和客户端应用等领域。在大学课程中,C通常作为计算机科学和软件工程学科的核心课程之一。以下是C的一些关键知识点,这些知识点构成了大学课程的基础。 1.…

CTF入门之奇怪的密码及图形编码总结篇(持续更新中ing)

CTF入门之奇怪的编码及图形编码(持续更新中ing UTF-8,unicode乱码社会主义核心价值观编码:在线解码: 与佛论禅:在线解密网站: 与熊论道:在线网站解密: 兽音:在线网站解密&#xff1a…

MySQL数据库(0)—— 云服务器安装MySQL

本篇主要介绍在Ubuntu环境下安装MySQL 一,查看系统版本 lsb_release -a二,添加MySQL APT 源 2.1 访问下载页面并下载发布包 传送门:MySQL :: Download MySQL APT Repository 下载之后,就可以通过 rz 命令上传到云服务器上&…

大牛荐书:美团王慧文清华大学产品经理课推荐阅读书单

美团网的王兴大家应该都很熟悉,作为美团的掌舵人和1号位,带领美团于2018年9月在港交所上市,公司市值在国内互联网大厂中排名第4,公司全职员工数11.5万人,2023年实现营业收入2767亿元,利润233亿元。 相比王兴…

MATLAB下的粒子滤波例程|三维非线性模型|组合导航|PF代码(无需下载,直接复制到MATLAB上即可运行)

文章目录 模型与程序概述PF介绍运行结果程序代码各部分模块的作用模型与程序概述 模拟INS、GPS组合导航的应用背景。在模型预处理的时候通过迭代计算三维位置的真值和滤波前(模拟纯INS计算)的值。 通过 P F PF PF(粒子滤波, p

WorkPlus安全即时通讯:端到端加密开启信息保密新时代

在数字化时代,信息的保密性和安全性变得越发重要。企业和个人需要确保他们的敏感信息和机密通讯不会落入黑客或第三方的手中。为了满足这一需求,WorkPlus安全即时通讯平台应运而生。作为一款拥有端到端加密功能的通讯平台,WorkPlus着重于保护…

8.30 容器部署project-exam-system项目

一、项目-使用docker部署project-exam-system 1、背景 在一台主机之内,实现容器的编排,发布考试系统 2、环境准备 # 部署docker环境 [rootdocker ~]# sh docker.sh [rootdocker ~]# vim /etc/docker/daemon.json { "registry-mirrors…

【 html+css 绚丽Loading 】 000031 三元轮回盘

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

揭秘Flutter职业版图:深度剖析最新Flutter岗位招聘动态

Flutter作为谷歌开发的开源移动UI框架,近年来在跨平台应用开发领域获得了显著的关注和应用。 随着Flutter的广泛应用,企业对于Flutter开发者的需求也在不断增加。这不仅仅体现在初创公司中,许多大型企业和科技公司也在积极寻找Flutter专业人…

智能体进化发展了一年,现在的RPA Agent迭代到什么程度了?

智能体进化发展了一年,现在的RPA Agent迭代到什么程度了?抓取豆瓣信息、自己制作PPT,这款AI Agent真的实现了流程全自动化AI Agent构建到执行全自动化,持续进化RPA Agent再次降低智能体应用门槛C端AI Agent构建与应用实现端到端&a…

1万多条华夏对联春联大全ACCESS\EXCEL数据库

对联是华#夏文化独有的一种文学艺术形式,讲究对仗工整,平仄协调,有固定格式和统一要求。今天这个数据库精选了古今流传的各类文字联上万余条。 分类情况统计:1春联(3234)、2婚联(805&#xff09…

「C++系列」多态

【人工智能教程】,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站:【人工智能教程】 文章目录 一、多态1. 虚函数(Virtual Functions)2. …