mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

用户投稿 13 0

一项一项教你测等保20——MySQL安全审计

一、前言

只要是信息系统,就需要运行所必需的系统环境,而Windows和Linux系统是现在使用最为广泛的主机操作系统,前边我们已经讲了等保测评2.0主机系统方面的测评项要求,大家有兴趣的可以翻阅我之前的文章。

而信息系统只要运行,就会产生数据,产生数据就需要存储,数据库就是另一个所有信息系统所必需的,数据是信息系统最重要的东西,所以数据库的安全就是保障数据安全的重要的屏障,现在市面上有许多数据库产品,其中另一个使用比较广泛的就是MySQL数据库,今天我们就来讲一讲等保测评2.0中对MySQL数据库有哪些安全要求。

二、测评项

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

d)应对审计进程进行保护,防止未经授权的中断。

三、测评项a

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

对于比较成熟和常用的软件,很少不自带审计功能,MySQL数据库也不例外,它的审计功能——general_log是安装MySQL数据库时就自带的,然而默认状态下则是关闭的,因为它会记录下所有MySQL数据库所执行的SQL语句,所以会占用非常大的服务器和数据库资源。

我们可以通过语句:

show global variables like '%general%'

来查看MySQL数据库是否开启了general_log审计功能,如下图所示:

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

general_log审计功能

果然MySQL数据库是默认关闭general_log审计功能的,下面一行则表示审计日志general_log_file所存放的位置。

要想开启general_log审计功能,我们可以使用语句:

set global general_log = on;

执行后我们再使用前边的查看语句查看general_log审计功能的状态,已经变成了“ON”,如下图所示:

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

开启general_log审计功能

但是这只是临时性的开启,当数据库重新启动时general_log审计功能又会变回关闭状态,要想永久开启就必须修改配置文件“my.cnf”中的“general_log”参数为“ON”,就可以永久开启了。

除此之外,我们也可以通过插件来实现审计功能。

MariaDB的Audit Plugin插件

我们可以使用语句:

SHOW GLOBAL VARIABLES LIKE 'server_audit%';

来查看该插件是否启用,当然只有在一些MySQL数据库版本之上才可以使用此插件,这里判断Audit Plugin插件是否开启,只需查看server_audit_logging参数是否为“ON”。

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

Audit Plugin插件配置信息

四、测评项b

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

不管是自带的general_log审计功能还是插件审计功能,审计记录所包含的内容都符合该测评项所要求的内容,我们以general_log审计功能所记录的日志为例,如下所示:

| 2020-11-16 10:00:12 | root[root] @ localhost [] | 2 | 1132333306 | Query | select * from user

其中包括日期和时间、用户、事件类型为“query”查询,具体语句为“select * from user”等。

五、测评项c

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

我们可以使用语句:

show variables like 'log_output';

来查看审计记录的保存方式,“file”表示文件存储,“table”表示数据表存储,采用什么存储方式就需要查看对应文件的权限,只允许数据库管理员之类的人员才可以访问、修改等。

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

审计记录存储方式

备份的话,就直接查看备份文件就可以了,再看看备份策略,符合定期备份的要求就可以了。

六、测评项d

d)应对审计进程进行保护,防止未经授权的中断。

这个就比较简单了,有两个地方可以对审计进程进行配置。一个是my.cnf,这里就需要操作系统上对配置文件的权限进行限制,只允许数据库管理有权限进行修改。(同时也要限制MySQL中的file_priv权限。)另外一个就是那些变量了,似乎是需要super权限才可以设置全局变量,那么这里的话就需要查看super权限给了哪些账户。

以上就是一项一项教你测等保2.0——MySQL安全审计的所有内容,希望对大家有所帮助,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯与知识。

开箱即用的 MySQL 审核平台

大家好。

程序员日常工作接触最多的可能就是 SQL 了,而 SQL 语句的编写是很考验水平的。如果让有问题的 SQL 变更发布到线上,可能会直接造成线上服务的不可用,所以 SQL 经过团队成员的审核校对是很有必要的。

今天要推荐的工具 Yearning,是一个开箱即用的 MySQL Web 审核平台,提供查询审计,SQL审核,SQL回滚,自定义工作流等多种功能。

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

Yearning 拥有以下功能:

1、自动化SQL语句审核,可对SQL进行自动检测并执行

2、 DDL/DML语句执行后自动生成回滚语句

3、 审核/查询 审计功能

4、 支持LDAP登录/钉钉及邮件消息推送

5、 支持自定义审核工作流

6、 支持细粒度权限分配

更全的功能如下图:

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

Yearning 使用 Go 语言开发,同时 Yearning 不依赖于任何第三方 SQL 审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑,仅依赖 Mysql 数据库存储相应的流程和使用情况。所以 Yearning 安装也很简单,只需要下载官方的二进制包即可启动,开箱即用。以下是 Yearning 的几个常用操作界面:

1、Dashboard

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

2、审核

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

3、SQL 语法及规则检测

mysql数据库审计软件下载 一项一项教你测等保20——MySQL安全审计

更多项目详情请查看如下链接。

开源项目地址:https://github.com/cookieY/Yearning

相关问答

MariaDB对比MySQL,性能、功能与适用场景全面分析-ZOL问答

从MySQL5.7版本开始,MySQL引入了基于RFC7159标准的原生JSON数据类型。这一特性使得用户能够以高效的方式访问和操作存储在JSON文档中的数据。然而...

抱歉,评论功能暂时关闭!