信息安全建设-搭建mysql数据库审计平台
2021-09-26 18:13:50 Author: www.secpulse.com(查看原文) 阅读量:36 收藏

一、数据库审计的意义

数据库审计是对数据库访问行为进行监管的系统,一般采用旁路部署的方式,通过镜像或探针的方式采集所有数据库的访问流量,并基于SQL语法、语义的解析技术,记录下数据库的所有访问和操作行为,例如访问数据的用户(IP、账号、时间),操作(增、删、改、查)、对象(表、字段)等。数据库审计平台一般用来发现非法操作、数据泄露或篡改、及可疑入侵行为等,二是支持实时告警,及时发现可疑操作,及时处理和阻断可能发生的各类风险。

二、数据库审计的方法

数据库审计需要采集到数据库的流量才可以进行审计,如何才能收集数据库的流量呢。一般有几种方式:端口镜像(旁路模式)、探针(监听网卡)和应用插件(docker环境)。

  1. 端口镜像是指通过旁路部署的镜像方式获取数据库的所有访问流量,传统IT架构会使用这种方式。

  2. 探针是指在应用主机或数据库主机上,部署agent,监听网卡的数据库流量,然后将流量发给数据库审计的服务实现审计的目的,云端使用这种方式较多。

  3. 对于docker环境,在应用端部署时,一般使用插件方式,类似探针一样将获取的数据库请求,直接发给审计服务。

二、数据库审计平台的搭建

在这里我们使用开源的数据库审计平台来实现,下载审计服务: 
https://github.com/jixindatech/sqlaudit ,如果需要agent,下载agent: https://github.com/jixindatech/sqlpacket 。 也可以从gitee下载,分别是: https://gitee.com/chengfangang/sqlaudit https://gitee.com/chengfangang/sqlpacket 。

使用前请详细阅读README中的说明。

这里支持代码编译和docker方式,代码编译依赖go vue 还有一些依赖组件,这里直接用docker方式来演示,可以本地 docker build -t sqlaudit . 编译镜像或 直接 docker pull chengfangang/sqlaudit 下载(40M左右)。下面是直接docker pull 的镜像, 注意: 需要事先准备好配置文件, 放于对应的文件夹下, 同时审计存储用的是ES,需要提前启动ES服务,对应的settings文件是 etc/mapping.json,db 目录不用处理,程序自己生成,方便保存。运行之间,需要仔细阅读README.md中的如何修改配置文件选项.

docker run -d  \
  --name sqlaudit \
    -p 9696:9696 \
    -p 9797:9797 \
    -p 9898:9898 \
    -v /docker/sqlaudit/etc:/opt/sqlaudit/etc \
    -v /docker/sqlaudit/db:/opt/sqlaudit/db \
    chengfangang/sqlaudit:1.0

docker logs -f sqlaudit 查看输出,是否存在错误

三、使用数据库审计平台
如果没有任何错误,就可以直接登陆了

1 访问http://ip:9797/ 页面,出现登陆页面,输入配置文件中的用户名和密码即可登陆。

2 进入系统之后

Screenshot.png

3 有三个菜单项, 首个是Dashboard, 显示了最近一周的审计情况,可以根据时间查询相关的数据库情况,下面的图表信息会显示出对应时间段和相关数据库的统计信息,其中每条规则都会对应一种请求类型,允许、拒绝或者未知。 同时,下面有两个表,分别对应sql请求类型和规则类型。

Screenshot (3).png

4 先打开第二项SQL配置, 点击 新增 按钮,即可加入新的审计规则,其中: 操作类型 分别对应相应的sql操作,UNKNOWN 为sql解析失败的情况, 在操作类型之下,可以对sql进行详细的匹配,字符串查找或正则方式, 优先级是按照从大到小进行匹配的,一旦匹配一条规则,剩余的规则均跳过, 同时可以选择该条规则是否告警,目前只支持邮件告警的方式,添加之后,即可显示所有规则。

Screenshot (1).png

5 第三项是SQL日志,可以根据相应的条件进行查询,可以对规则配置进行补充。

Screenshot (2).png

四、使用帮助

可以加入对应的QQ群获取更多帮助。

本文作者:技信达科技

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/166743.html


文章来源: https://www.secpulse.com/archives/166743.html
如有侵权请联系:admin#unsafe.sh