MariaDB不再满足你的需求吗?
迁移到Percona 雷竞技下载官网MySQL -一个开源软件,
生产就绪,企业级MySQL的选择。
这个博客将地址MariaDB审计插件如何帮助监控数据库活动协助安全、问责和故障排除。raybet雷竞技竞猜在线官网为什么审计数据库?
审计是一个重要的任务监控数据库环境。raybet雷竞技竞猜在线官网通过审计数据库,可以实现问责行动或内容在您的环境中访问。你也会阻止用户(或其他人)不恰当的行为。
如果有任何不良行为,你可以调查可疑活动。例如,如果一个用户是删除数据表,管理员可以审核所有连接到数据库并删除所有的行。您还可以使用审计通知管理员在未经授权的用户操作或删除数据,或者比预期的用户拥有更多的特权。
审计插件用于MySQL
谢尔盖Glushchenko说以前的博客MySQL版本5.5.3后来提供了审计插件API,可用于编写一个审计插件。API提供了通知下列事件:
- 消息写入通用日志(日志)
- 消息写入错误日志(错误)
- 查询结果发送给客户端(结果)
- 登录(包括失败)和断开连接(连接)
所有当前审计为MySQL插件提供一个审计日志作为他们工作的结果。他们在记录格式不同,过滤功能和冗长的日志记录。
- MySQL企业审计插件——这个插件不是开源的,只有与企业MySQL,它有一个显著的成本。它是最稳定和鲁棒性。
- 雷竞技下载官网Percona审计日志插件——雷竞技下载官网Percona提供了一个开源的审计解决方案与Percona服务器安装5.5.37 +和5.6.17 +。这个插件有不少特性输出,输出XML、JSON和syslog。雷竞技下载官网Percona的实现是第一个替代为MySQL企业审计插件。因为它有一些内部连接到服务器与甲骨文feature-compatible插件,它不是作为一个独立的MySQL的其他版本。这个插件是由Percona积极维护。雷竞技下载官网
- McAfee MySQL审计插件——最长的,已被广泛应用。它是开放源代码的,健壮的,而不是使用官方审计API。它不是经常更新可能会喜欢。没有任何新功能在一段时间。最近更新以支持MySQL 5.7。
- MariaDB审计插件——唯一宣称支持MySQL插件,Percona服务器和MariaDB。雷竞技下载官网它是开放源代码的,MariaDB的不断升级与新版本。版本从1.2是最稳定的,它可能是在生产环境中使用版本低于风险。低于1.2版本可能不稳定,我已经看到它生产服务器崩溃。旧版本也日志明文密码。
关于MariaDB审计插件
MariaDB审计插件提供审计功能不仅MariaDB,但是Percona服务器和MySQL。雷竞技下载官网安装与MariaDB或作为Percona服务器和MySQL插件可用。雷竞技下载官网
我曾与MariaDB审计插件使用MySQL社区,因为我没有一个企业许可证,这意味着企业插件和Percona的插件。雷竞技下载官网我们希望使用一个插件,使用MySQL的建在审计API,不是一个自定义读取内存块和升级等敏感McAfee的插件。
把插件
MariaDB审计插件,所以从这里下载:https://mariadb.com/products/connectors-plugins。
您可以手动安装. so文件到你的插件目录(即/usr/lib/mysql/plugin debian):
|
1
|
显示
全球
变量
就像
“plugin_dir”
;
|
我强烈推荐包装它如果你打算做任何自动化(厨师,傀儡)或在未来升级。
包装
可以执行类似的措施fpm。
debian软件包创建一个目录结构:
|
1
2
3
|
美元
mkdir
mariadb
- - - - - -
服务器
- - - - - -
审计
- - - - - -
插件
- - - - - -
1.2.0
美元
cd
mariadb
- - - - - -
服务器
- - - - - -
审计
- - - - - -
插件
- - - - - -
1.2.0
美元
mkdir
- - - - - -
p
usr
/
自由
/
mysql
/
插件
|
插件复制到包目录:
|
1
|
美元
cp
/
路径
/
来
/
server_audit
所以
usr
/
自由
/
mysql
/
插件
|
Debianize软件包目录:
|
1
|
美元
dh_make
- - -
createorig
|
删除示例文件:
|
1
|
美元
cd
debian
/
;
rm
- - - - - -
f
*
.ex
|
配置方案:
|
1
2
|
美元
回声
usr / lib / mysql /插件/ server_audit.so”
>
debian
/
安装
美元
回声
usr / lib / mysql /插件/ server_audit.so”
>
debian
/
源
/
包括
- - - - - -
二进制文件
|
构建的。deb:
|
1
|
美元
dpkg
- - - - - -
buildpackage
- - - - - -
我们
- - - - - -
加州大学
|
验证包版本:
|
1
2
3
|
美元
dpkg
- - - - - -
黛比
- - - - - -
W
mariadb
- - - - - -
服务器
- - - - - -
审计
- - - - - -
plugin_1
。
2.0
- - - - - -
1 _amd64.deb
mariadb
- - - - - -
服务器
- - - - - -
审计
- - - - - -
插件
1.2.0
- - - - - -
1
|
安装
不是必需的,但强烈推荐(安装插件和卸载插件倾向于为这个插件失败取决于什么是发生在你的环境):
|
1
|
美元
服务
mysql
停止
|
与dpkg安装:
|
1
|
美元
dpkg
- - - - - -
我
mariadb
- - - - - -
服务器
- - - - - -
审计
- - - - - -
plugin_1
。
2.0
- - - - - -
1 _amd64.deb
|
配置
参考https://mariadb.com/kb/en/mariadb/server_audit-system-variables/有关配置的更多信息。
(添加到my . cnf中所做如果你没有重新启动,您可以设置这些sql与集全球):
|
1
2
3
4
5
6
7
8
9
10
11
|
#加载插件
插件
- - - - - -
负载
=
server_audit
=
server_audit
所以
#不允许用户卸载插件
server_audit
=
FORCE_PLUS
_永久
#只有审计查询连接和DDL
server_audit_events
=
连接
,
查询
_DDL
#启用日志记录
server_audit_logging
=
在
#任何用户不需要审计(csv)
server_audit_excl_users
=”根”
#或可以使用server_audit_incl_users = ' jayj '
|
日志目的地
选择日志目的地的时候,您想要使用一个方法。配置都是危险的,所以决定提前在你的日志策略。
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#平面文件
server_audit_output_type
=
文件
server_audit_file_path
=
/
var
/
日志
/
mysql
/
审计
. log
server_audit_file_rotate_size
=
1000000
server_audit_file_rotations
=
9
# syslog
server_audit_output_type
=
SYSLOG
server_audit_syslog_facility
=
LOG_LOCAL6
server_audit_syslog_ident
=
mysql_audit
server_audit_syslog_info
=
这
- - - - - -
主机
. name
server_audit_syslog_priority
=
LOG_INFO
|
验证安装
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
|
美元
服务
mysql
开始
美元
mysql
mysql
>
显示
插件
;
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - - - - -
+
|
的名字
|
状态
|
类型
|
图书馆
|
许可证
|
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - - - - -
+
。
。
。
|
SERVER_AUDIT
|
活跃的
|
审计
|
server_audit
所以
|
GPL
|
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
+
24
行
在
集
(
0.00
证券交易委员会
)
mysql
>
选择
*
从
INFORMATION_SCHEMA
. plugins
在哪里
PLUGIN_NAME
=
“SERVER_AUDIT”
G
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
1。
行
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
PLUGIN_NAME
:
SERVER_AUDIT
PLUGIN_VERSION
:
1.2
PLUGIN_STATUS
:
活跃的
PLUGIN_TYPE
:
审计
PLUGIN_TYPE_VERSION
:
3.2
PLUGIN_LIBRARY
:
server_audit
所以
PLUGIN_LIBRARY_VERSION
:
1.3
PLUGIN_AUTHOR
:
阿列克谢
Botchkov
(
MariaDB
公司
)
PLUGIN_DESCRIPTION
:
审计
的
服务器
活动
PLUGIN_LICENSE
:
GPL
LOAD_OPTION
:
FORCE_PLUS
_永久
1
行
在
集
(
0.01
证券交易委员会
)
|
检查日志
|
1
2
3
|
美元
尾巴
server_audit
. log
20130927
01
:
00
:
00
,
本地主机
.localdomain
,
根
,
本地主机
,
1
,
1
,
查询
,
,
“集全球server_audit_logging =”
,
0
|
Rsyslog配置
我建议从这里开始,建立一个集群elasticsearch logstash和kibana,也称为麋鹿堆栈。这允许你聚合和搜索日志来发现问题。这是一个示例rsyslog配置:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
美元
猫
/
等
/
rsyslog
.d
/
10
- - - - - -
mysqlaudit
. conf
#保持/var/log /var/log/mysql通常作为syslog用户不能访问
/
var
/
日志
/
mysql
- - - - - -
审计
. log
{
每天
旋转
7
missingok
创建
640年
syslog
adm
压缩
sharedscripts
postrotate
重新加载
rsyslog
>
/
dev
/
零
2
>
&
1
| |
真正的
endscript
}
|
结论
MariaDB审计插件是快速和易于安装和使你当前的日志或审计解决方案。
一旦你已经安装了审计发现问题的授权和访问控制的实现。它允许您创建审计政策,你希望永远不会生成审计记录,因为数据保护。如果这些政策生成审计记录,然后你知道其他安全控制不正确执行。
审计信息可以帮助您排除或应用程序性能问题和让你看到什么SQL查询正在处理。






谢谢你好的Manjot条,
有什么性能成本参与使这些日志,以及它是如何不同于使通用日志。
阿辛格