MySQL 添加审计功能】的更多相关文章

MySQL社区版没有自带的设计功能或插件.调研发现MariaDB的audit plugin 同样适用于MySQL,支持更细粒度的审计,比如只审计DDL操作,满足我们的需求.因为最近测试环境的某表结构经常性的被变更且数据被清空的情况,所以引入MariaDB的插件对DDL进行审计 MariaDB audit plugin 官网 MariaDB audit plugin 下载地址 查看MySQL的插件路径 mysql> show global variables like '%plugin%'; +-…
第一种经验证,有效. 第一种用macfee的mysql审计插件. 下载地址:https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.4-725#files 请根据实际版本进行下载. 下载后解压缩并存放到mysql的lib文件夹 > show variables like 'plugin_dir';+---------------+------------------------------+| Variable_name | Value…
目前社区版本的mysql的审计功能还是比较弱的,基于插件的审计目前存在于Mysql的企业版.Percona和MariaDB上,但是mysql社区版本有提供init-connect选项,基于此我们可以用它来完成审计功能. init-connect参数说明: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_init_connect step1:创建用户数据库表 set names utf8 crea…
mysql基于init-connect+binlog完成审计功能 目前社区版本的mysql的审计功能还是比较弱的,基于插件的审计目前存在于Mysql的企业版.Percona和MariaDB上,但是mysql社区版本有提供init-connect选项,基于此我们可以用它来完成审计功能. init-connect参数说明: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_init_connect s…
背景: 假设这么一个情况,你是某公司mysql-DBA,某日突然公司数据库中的所有被人为删了. 尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人. 但是拥有数据库操作权限的人很多,如何排查,证据又在哪? 是不是觉得无能为力? mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢? 本文就将讨论一种简单易行的,用于mysql访问审计的思路. 关键字:init—connect,binlog,trigger 概述: 其实mysql本身已经提供…
下面方式是在线开启,重启后会失效: 1.mysql社区版没有审计插件,先获取server_audit.so文件,我是先在一台测试服务器上安装了一个mariadb数据库,然后搜索find / -name server_audit.so文件,scp复制出来的,也可以直接去mariadb官网下载一个二进制包找: #防止server_audit 插件被卸载,需要在配置文件中添加 server_audit=FORCE_PLUS_PERMANENT 4.重启mysql服务 /etc/init.d/mysql…
[导读] 最近ITPUB技术论坛特意组织网络性讨论活动,关于数据库审计的话题,分享各自公司如何实现数据库审计.个人经验和构想,以及数据库审计的技巧,刚好有网友发了一个典型的审计需求,要帮他分析,以及教其如何实现,为此把内容整理成一片文章分享,供大家参考. MySQL触发器的用处还是非常多地,关键看业务需要,曾经给大家介绍过基于存储引擎MEMORY加触发器的应用场景之一剖析.通过阅读本文,将会告诉大家:触发器的语法知识.触发器的限制.审计案例分析和实现,将逐一讲解. n  语法 CREATE [D…
mysql的连接首先都是要通过init-connect初始化,然后连接到实例. 我们利用这一点,通过在init-connect的时候记录下用户的thread_id,用户名和用户地址实现db的访问审计功能. 实现步骤 1.创建审计用的库表. 为了不与业务的库冲突,单独创建自己的库: #建库表代码 create database db_monitor ; use db_monitor ; CREATE TABLE accesslog ( thread_id int(11) DEFAULT NULL,…
转载自:https://blog.51cto.com/13941177/2173620 一.简介 1.概述 mysql本身已经提供了详细的sql执行记录–general log ,但是开启它有以下几个缺点: 1)无论sql有无语法错误,只要执行了就会记录,导致记录大量无用信息,后期的筛选有难度. 2)sql并发量很大时,log的记录会对io造成一定的印象,是数据库效率降低. 3)日志文件很容易快速膨胀,不妥善处理会对磁盘空间造成一定影响. 2.原理 1) 由于审计的关键在于DML语句,而所有的D…
利用 PROMPT_COMMAND 实现命令审计功能:记录什么用户,在什么时间,做了什么操作,然后将查到的信息记录到一个文件里. 具体操作: 将以下内容追加到/etc/profile: #############日志审计chmod +s /usr/bin/chmod &> /dev/null       #让普通用户能建立目录及文件chmod +s /usr/bin/chown &> /dev/null       #让普通用户能建立目录及文件mkdir -p /var/log…