数据库审计系统基本原理与部署方式

数据库审计系统简介

什么是数据库审计?

数据库审计是记录数据库被访问行为的日志系统。

访问数据库的一般有两种行为,一种是应用服务区的访问,一种是数据库运维人员的访问。

数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。

数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密数据库防火墙数据脱敏数据库安全审计系统

黑客的SQL注入攻击行为,可以通过数据库审计发现。

数据库审计系统能干什么?

  • 性能监控

    SQL吞吐、会话监控、性能瓶颈

  • 攻击预警

    对漏洞攻击、SQL注入、敏感语句、风险操作等进行预警。

  • 事后追溯

    具有基本行为审计、应用关联分析、记录全、准、可读性高。

  • 告警通知

    一般可通过短信、邮件、SNMP、Syslog进行告警通知。

数据库审计主要功能

数据审计经历的技术:

  • 第一阶段:流量行为审计

    实现了对OSI七层模型中的网络层到会话层的覆盖,主要对数据库访问行为进行分析和统计

  • 第二阶段:内容审计阶段

    实现了OSI七层模型中的表示层到应用层的覆盖,利用关键字进行模糊匹配,对数据库访问行为实现内容记录,如登陆账户、SQL语句等

  • 第三阶段:语法解析阶段

    主要集中在应用层,实现对SQL语句的语义分析,尽可能的将操作数据库的SQL语句进行细颗粒解析,比如账户名、数据名等等

  • 第四阶段:大数据审计阶段

    解决面向对象的M语言安全设计问题,全面支持大数据审计,Hive、HBASE、MogoDB等

数据审计系统可审计的风险项:

功能项策 略 元 素
登录风险对IP、MAC、客户端、用户名、登录密码、时间等进行风险告警
影响行风险对超过指定行数的更新、删除、查询和导出行为进行告警
权限风险对用户、操作(DML、DDL、DCL)和对象进行访问控制风险定义。 增加Update Nowhere和Delete Nowhere等高危操作的风险告警
漏洞攻击对符合CVE上公开的数据库漏洞攻击特征的访问进行告警
SQL注入对符合SQL注入特征的访问行为进行告警
SQL黑名单精确地描述,出现了哪些语句就要进行告警(比如是一个要求授权很高的语句)
登录许可通过IP、MAC、客户端、用户名、时间等因素描述信任的,不需要告警的登录
  
SQL白名单大量的应用SQL语句属于来自于应用的正常访问,可以不需要告警
白名单规则通过用户、操作、对象、时间等因素描述许可以信任不需要告警的访问

双向审计:

通过对双向数据包的解析、识别及还原,不仅对数据库操作请求进行实时审计,而且还可对数据库系统返回结果进行完整的还原和审计,包括数据库命令执行时长、执行的结果集等内容;

操作行为内容和描述
用户行为数据库用户的登录、注销
数据定义语言(DDL)操作Create、Alter、Drop等创建、修改或者删除数据库对象(表、索引、视图、存储过程、触发器、域等等)的SQL指令
数据操作语言(DML)操作Select、Delete、Updata、Insert等用户检索或者修改数据的SQL指令
数据控制语言(DCL)操作Grant、Revoke定义数据库用户的权限的SQL指令
其他操作包括Execute、Commit、Rollback等事务操作指令

数据库审计系统的主要功能架构:

 

图:数据库审计系统的主要功能架构

5W1H的行为审计:

数据安全需求描述
Who(谁干的)数据库用户名、操作系统用户名、应用用户名
Where(在什么地方)数据库客户端IP+MAC、应用客户端IP
When(什么时间)发生时间、耗时时长
What(干了些什么)操作对象是谁、操作是什么
How(怎么干的)SQL语句、参数
结果怎么样是否成功、影响行数、性能情况

数据库审计系统部署方式

流镜像部署:

数据库审计系统主要原理是,将所有访问数据库的流量镜像给审计系统,然后进行分析数据包,从而进行记录。

  • 审计系统采用旁路部署,不需要再数据库服务器上安装插件,不影响网络和业务系统的结构。
  • 无需与业务系统对接,与数据库服务器没有数据交互,不需要数据库服务器提供用户名密码。
  • 用户预留增加额外网络设备,也无需对现有的网络结构进行改造。

Agent代理客户端部署:

Agent部署方式一般是因为:当Web应用和数据库在同一台物理服务器上的话,那么Web应用访问数据库的流量都是在本地产生的,没法通过交换机来镜像到数据库审计,此时需要在这种主机上安装agent代理,主动监听Web应用访问数据库的流量,从而主动推送给数据库审计系统。

不需要云环境底层支持流量镜像,只需要安装Agent即可完成云环境数据库的安全审计,支持主流的云环境中的主流的linux和windows等虚拟主机 ,单台审计设备可以同时支持多个数据库的审计。

反向代理方式部署:

反向代理适用于流量不能到审计设备,又不允许安装agent代理软件的情况。它的原理是直接把审计设备当作一个代理,客户端数据库连接直接连接到审计设备,通过审计设备再到达数据库,从而达到审计数据库的目的。

是针对云环境中的共享数据库专门开发的一种部署模式,主要是为了解决公有云和私有云环境中共享数据库无法安装agent提供的一种解决方案,主要是通过tcp层协议代理实现。

 
 
数据库审计系统基本原理部署⽅式 数据库审计系统简介 什么是数据库审计数据库审计是记录数据库被访问⾏为的⽇志系统。 访问数据库的⼀般有两种⾏为,⼀种是应⽤服务区的访问,⼀种是数据库运维⼈员的访问。 数据库审计(简称DBAudit)能够实时记录⽹络上的数据库活动,对数据库操作进⾏细粒度审计的合规性管理,对数据库遭受到的风险⾏为 进⾏告警,对进⾏阻断。它通过对⽤户访问数据库⾏为的记录、分析和汇报,⽤来帮助⽤户事后⽣成合规报告、事故追根溯源,同时加强内 外部数据库⽹络⾏为记录,提⾼数据资产安全。 数据库审计是技术之⼀,技术主要包括:数据库漏扫、、、、。 ⿊客的⾏为,可以通过数据库审计发现。 数据库审计系统能⼲什么? 性能监控 SQL吞吐、会话监控、性能瓶颈 攻击预警 对漏洞攻击、SQL注⼊、敏感语句、风险操作等进⾏预警。 事后追溯 具有基本⾏为审计、应⽤关联分析、记录全、准、可读性⾼。 告警通知 ⼀般可通过短信、邮件、SNMP、Syslog进⾏告警通知。 数据库审计主要功能 数据审计经历的技术: 第⼀阶段:流量⾏为审计 实现了对OSI七层模型中的⽹络层到会话层的覆盖,主要对数据库访问⾏为进⾏分析和统计 第⼆阶段:内容审计阶段 实现了OSI七层模型中的表⽰层到应⽤层的覆盖,利⽤关键字进⾏模糊匹配,对数据库访问⾏为实现内容记录,如登陆账户、SQL语句 等 第三阶段:语法解析阶段 主要集中在应⽤层,实现对SQL语句的语义分析,尽可能的将操作数据库的SQL语句进⾏细颗粒解析,⽐如账户名、数据名等等 第四阶段:⼤数据审计阶段 解决⾯向对象的M语⾔安全设计问题,全⾯⽀持⼤数据审计,Hive、HBASE、MogoDB等 数据审计系统审计的风险项: 功能项 功能项 策 略 元 素 策 略 元 素 登录风险 对IP、MAC、客户端、⽤户名、登录密码、时间等进⾏风险告警 影响⾏风险 对超过指定⾏数的更新、删除、查询和导出⾏为进⾏告警 权限风险 对⽤户、操作(DML、DDL、DCL)和对象进⾏访问控制风险定义。 增加Update Nowhere和Delete Nowhere等⾼危操作的风险告警 漏洞攻击 对符合CVE上公开的数据库漏洞攻击特征的访问进⾏告警 SQL注⼊ 对符合SQL注⼊特征的访问⾏为进⾏告警 SQL⿊名单 精确地描述,出现了哪些语句就要进⾏告警(⽐如是⼀个要求授权很⾼的语句) 登录许可 通过IP、MAC、客户端、⽤户名、时间等因素描述信任的,不需要告警的登录 SQL⽩名单 ⼤量的应⽤SQL语句属于来⾃于应⽤的正常访问,可以不需要告警 ⽩名单规则 通过⽤户、操作、对象、时间等因素描述许可以信任不需要告警的访问 双向审计: 通过对双向数据包的解析、识别及还原,不仅对数据库操作请求进⾏实时审计,⽽且还可对数据库系统返回结果进⾏完整的还原和审计,包 括数据库命令执⾏时长、执⾏的结果集等内容; 操作⾏为 操作⾏为 内容和描述 内容和描述 ⽤户⾏为 数据库⽤户的登录、注销 数据定义语⾔(DDL)操作 Create、Alter、Drop等创建、修改或者删除数据库对象(表、索引、视图、存储过程、触发器、域等等)的SQL指令 数据操作语⾔(DML)操作 Select、Delete、Updata、Insert等⽤户检索或者修改数据的SQL指令 数据控制语⾔(DCL)操作 Grant、Revoke定义数据库⽤户的权限的SQL指令 其他操作 包括Execute、Commit、Rollback等事务操作指令 数据库审计系统的主要功能架构: 图:数据库审计系统的主要功能架构 5W1H的⾏为审计: 数据安全需求 数据安全需求 描述 描述 Who(谁⼲的) 数据库⽤户名、操作系统⽤户名、应⽤⽤户名 Where(在什么地⽅) 数据库客户端IP+MAC、应⽤客户端IP When(什么时间) 发⽣时间、耗时时长 What(⼲了些什么) 操作对象是谁、操作是什么 How(怎么⼲的) SQL语句、参数 结果怎么样 是否成功、影响⾏数、性能情况 数据安全需求 数据安全需求 描述 描述 数据库审计系统部署⽅式 流镜像部署数据库审计系统主要原理是,将所有访问数据库的流量镜像给审计系统,然后进⾏分析数据包,从⽽进⾏记录。 审计系统采⽤旁路部署,不需要再数据库服务器上安装插件,不影响⽹络和业务系统的结构。 ⽆需业务系统对接,数据库服务器没有数据交互,不需要数据库服务器提供⽤户名密码。 ⽤户预留增加额外⽹络设备,也⽆需对现有的⽹络结构进⾏改造。 Agent代理客户端部署: Agent部署⽅式⼀般是因为:当Web应⽤和数据库在同⼀台物理服务器上的话,那么Web应⽤访问数据库的流量都是在本地产⽣的,没法 通过交换机来镜像到数据库审计,此时需要在这种主机上安装agent代理,主动监听
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值