暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

梧桐数据库:数据库审计

原创 宋宋 2024-04-30
887

1 什么是数据库审计

    数据库审计是对数据库访问行为进行监管的系统,一般采用旁路部署的方式,通过镜像或探针的方式采集所有数据库的访问流量,并基于SQL语法、语义的解析技术,记录下数据库的所有访问和操作行为,例如访问数据的用户(IP、账号、时间),操作(增、删、改、查)、对象(表、字段)等。

    数据库审计系统的主要价值有两点,一是在发生数据库安全事件(例如数据篡改、泄露)后为事件的追责定责提供依据;二是针对数据库操作的风险行为进行实时告警。

2 梧桐数据库审计

2.1 组件/工具

2.1.1 ES

    数据库审计数据存储在 ES(ElasticSearch)中。当需要开启数据库审计时,需要先部署 ES 集群作为日志存储服务。如果未指定作为日志存储服务器的 ES 集群,进入审计页面将会提示用户部署或指定 ES 集群。


2.1.2 filebeat

    filebeat负责日志收集,是用于转发和集中日志数据的轻量级传送工具。Filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

    Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

    工作的流程图如下:


2.2 审计策略

查看数据库审计日志,需要先配置审计策略,开启数据库审计需要先配置审计策略,配置审计项,存储设置和采集设置。

点击开启审计:


进行审计策略相关的配置:


支持的审计项:

  • COPY_IN: 指的是数据导入操作,通常涉及将数据从外部源复制到数据库中。
  • COPY_OUT: 指的是数据导出操作,即将数据从数据库复制到外部目的地。
  • DCL: Data Control Language,即数据控制语言,用于控制不同用户对数据库中数据的访问权限,如授权(GRANT)和撤销权限(REVOKE)。
  • DDL: Data Definition Language,即数据定义语言,用于定义或修改数据库的结构,包括创建、修改、删除表、索引、视图等数据库对象。
  • DML: Data Manipulation Language,即数据操作语言,用于对数据库中的数据进行增加、删除、修改等操作,如INSERT、UPDATE、DELETE等。
  • DQL: Data Query Language,即数据查询语言,主要是SELECT命令,用于查询数据库中的数据。
  • EXEC_FUNC: 执行函数的命令,调用数据库中的存储过程和用户定义的函数。
  • SET: SET命令用于设置和显示psql连接中的会话选项,用来更改会话变量的值或显示当前变量的值
存储设置(ES 集群):
  • 主分片数、备分片数:ES 索引中的分片数设置, ES6 默认主分片数 3,备分片数 1。
  • 最长保留时间:日志的最大保留时长,过期日志将被自动删除,默认 60 天。

采集设置(采集工具 Filebeat):

  • 扫描频率:Filebeat 监控 DB 审计日志文件的变化,每隔 x 秒检查一次。
  • 单次采集最大缓存:Filebeat 收集日志时,如果单条日志长度超过该值,后续内容会被舍弃。

2.3 审计日志

审计日志列表可展示不同的审计项,同时提供db集群选择,时间范围选择,高级搜索,自定义列表字段展示的功能


最后修改时间:2024-04-30 13:02:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论