
1、数据库审计是撒?
数据库审计就是用来实时记录数据库的活动,对数据库操作进行细粒度审计,以确保数据库的合规性和安全性。它通过记录用户访问数据库的行为、分析这些行为,并提供审计报告,帮助事后生成合规报告、追根溯源。

数据审计图1
访问数据库的一般有两种行为,一种是应用系统的访问,一种是数据库运维人员的访问。
数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库加密、数据库防火墙、数据脱敏、数据库审计、数据运维管理、数据防泄漏等等系统。
2、数据库审计干撒?
2.1、SQL审计
对SQL语句进行解析、审计并关联分析,便于后期事后追溯。
2.2、安全策略
系统内置审计策略和漏洞规则库以及自定义规则,触发规则,生成告警。可通过短信、邮件、SNMP、Syslog、FTP等进行告警通知。对审计的数据和系统配置进行备份。
对库的基本信息,表空间,会话、性能、用户权限等信息进行监控,对系统CPU、内存、存储、进程等进行监控
系统管理等这种公共模块我就不说了,大致知道有哪些就行,有些厂商还糅合了很多细小功能,比如一些自动发现数据库并添加、AI智能分析、API接口等等。其实数据库审计关键的点就那么几个:性能、部署方式、库的兼容性、审计效果、审计分析、策略设置。
再补充一点,单向审计和双向审计的区别:单向审计只对一个方向的数据流或操作进行审计和监测;双向审计则会同时对两个方向的数据流或操作进行全面的审计;举个栗子:在一个企业的数据库环境中,单向审计如果只针对外部用户对数据库的查询和更新操作进行记录,那么内部管理员对数据库的一些维护操作可能不会被包含。而双向审计则会把内部和外部与数据库相关的所有操作都进行完整的记录和监控。
3、数据库审计的部署方式?
3.1、旁路部署:
旁路部署,就是将所有访问数据库的流量镜像给到数据库审计系统,然后进行解析分析数据包,从而进行记录并产生告警。
- 数据库审计系统采用旁路部署,不需要在数据库服务器上安装插件,不影响网络和业务系统的结构。
- 无需与业务系统对接,与数据库服务器没有数据交互,不需要数据库服务器提供用户名密码。
- 无需对现有的网络结构进行改造,不影响业务数据、不改变使用习惯。

镜像部署-图4
3.2、插件(agent、探针)部署:
插件部署方式一般是因为:当应用和数据库在同一台物理服务器上的话,那么应用访问数据库的流量都是在本地产生的,没法通过交换机获取镜像流量到数据库审计(也有很多是物理隔离等等情况),此时需要在这种主机上安装插件,主动监听应用访问数据库的流量,从而主动推送给数据库审计系统现在很多宿主机<库的所属设备>会安装很多插件,数据库审计、数据库加密、日志审计、其他探针等等,会有部分冲突;端口、进程等等,要注意;包括也有一些数据库的厂商是不给你安装的,明确拒绝,一旦有问题就得你负责。
插件(Agent)部署-图5
3.3、反向代理方式部署:
反向代理适用于流量不能到数据库审计设备,又不允许安装插件(Agent、探针)软件的情况。它的原理是直接把数据库审计设备当作一个代理,应用客户端数据库连接,直连到数据库审计设备,通过数据库审计再到数据库,从而达到数据库审计--->数据库的目的,唯一变化的也就是连接登录的方式变了。
反向代理部署-图6
3.4、Nginx代理转发方式(这不是常规的方式):
Nginx 代理转发是指 Nginx 服务器作为中间代理,接收应用客户端的请求,并将这些请求按照预先设定的规则转发到后端的服务器上,然后将后端服务器的响应返回给客户端。这种模式弊端比较明显,审计的不够全面,Nginx性能消耗较大、延迟会大一点等等。
Nginx代理转发-图6
3、数据库审计的使用场景和价值?
只要是涵盖数据库操作的场景都是可以的(政务、金融、医疗、泛企、能源等等行业)。安全合规:数据库审计有助于企业满足行业监管要求,确保数据库操作符合相关法律、法规和政策标准,避免因违规操作而产生的法律风险和经济损失。 安全事件溯源与定责:在发生数据库安全事件后,审计记录可以作为追究责任和进行取证的依据,帮助企业快速定位问题源头,采取相应的补救措施。 提升数据安全治理能力:针对数据库的攻击和风险操作行为实时告警,以便管理人员及时响应,避免敏感数据被破坏或者窃取,从而降低数据安全风险,提升数据安全治理能力。