使用开源搭建数据库审计平台

使用开源搭建数据库审计平台
最新回答
猫街少女

2020-08-23 06:42:12

使用开源工具搭建数据库审计平台可按以下步骤进行,主要基于开源项目sqlaudit,支持Docker部署并配合Elasticsearch存储审计数据

一、环境准备
  1. 基础环境

    已安装Docker环境(支持Linux/macOS/Windows)。

    确保服务器有足够资源(建议至少2核4GB内存)。

    提前启动Elasticsearch服务(审计数据存储依赖ES,需配置etc/mapping.json文件)。

  2. 下载开源组件

    审计服务:从GitHub或Gitee获取sqlaudit:

    GitHub:

    https://github.com/jixindatech/sqlaudit

    Gitee:

    https://gitee.com/chengfangang/sqlaudit

    Agent(可选):若需采集流量,下载sqlpacket:

    GitHub:

    https://github.com/jixindatech/sqlpacket

    Gitee:

    https://gitee.com/chengfangang/sqlpacket

二、Docker部署审计服务
  1. 拉取镜像直接使用预编译镜像(约40MB):

    docker pull chengfangang/sqlaudit:1.0

    或本地编译镜像:

    git clone
    https://gitee.com/chengfangang/sqlaudit.gitcd
    sqlauditdocker build -t sqlaudit .
  2. 启动容器

    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

    参数说明

    -p:映射端口(9696/9797/9898为服务端口)。

    -v:挂载配置文件目录(etc)和数据库目录(db,程序自动生成)。

  3. 验证运行状态

    docker logs -f sqlaudit

    检查日志是否有错误,确保与Elasticsearch连接正常。

图:Dashboard展示审计概览(最近一周统计)

三、配置审计规则
  1. 登录管理界面访问

    http://<
    服务器IP>:9797,输入配置文件中的用户名和密码登录。

  2. 新增审计规则

    进入 SQL配置 菜单,点击 新增 按钮。

    规则参数

    操作类型:选择SQL操作(如SELECT/INSERT/DELETE等),UNKNOWN表示解析失败的SQL。

    匹配方式:支持字符串查找或正则表达式,按优先级从上到下匹配,匹配后跳过剩余规则。

    告警设置:勾选后触发邮件告警(需提前配置邮件服务)。

图:配置审计规则(支持正则匹配和优先级设置)

四、流量采集方式

根据环境选择以下方法之一采集数据库流量:

  1. 端口镜像(旁路模式)

    适用于传统IT架构,通过交换机镜像端口将流量复制到审计服务。

  2. 探针(Agent模式)

    在应用主机或数据库主机部署sqlpacket,监听网卡流量并发送至审计服务。

    启动命令示例:./sqlpacket -host <审计服务IP> -port 9696

  3. Docker环境插件

    在应用容器中部署插件,直接捕获数据库请求并转发至审计服务。

五、查询审计日志
  1. SQL日志菜单

    支持按时间、用户、操作类型等条件筛选日志。

    日志包含详细信息:执行SQL、客户端IP、响应时间、规则匹配结果等。

图:审计日志查询界面(支持多条件筛选)

六、注意事项
  1. 配置文件修改

    首次运行前需修改/docker/sqlaudit/etc下的配置文件(如ES连接参数、邮件服务配置等),具体参考README.md。

  2. 数据存储

    确保Elasticsearch服务稳定运行,避免审计数据丢失。

  3. 性能优化

    高并发场景下,建议增加审计服务容器实例或优化ES集群配置。

  4. 获取帮助

    加入QQ群 254210748 获取技术支持。

通过以上步骤,可快速搭建一个功能完整的开源数据库审计平台,实现实时监控、规则告警和日志追溯,有效提升数据库安全防护能力。