数据库审计系统基本原理与部署⽅式
数据库审计系统简介
什么是数据库审计?
数据库审计是记录数据库被访问⾏为的⽇志系统。
访问数据库的⼀般有两种⾏为,⼀种是应⽤服务区的访问,⼀种是数据库运维⼈员的访问。
数据库审计(简称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语句、参数
结果怎么样是否成功、影响⾏数、性能情况
基本的sql语句有哪些数据库审计系统部署⽅式
流镜像部署:
数据库审计系统主要原理是,将所有访问数据库的流量镜像给审计系统,然后进⾏分析数据包,从⽽进⾏记录。
审计系统采⽤旁路部署,不需要再数据库服务器上安装插件,不影响⽹络和业务系统的结构。
⽆需与业务系统对接,与数据库服务器没有数据交互,不需要数据库服务器提供⽤户名密码。
⽤户预留增加额外⽹络设备,也⽆需对现有的⽹络结构进⾏改造。
Agent代理客户端部署:
Agent部署⽅式⼀般是因为:当Web应⽤和数据库在同⼀台物理服务器上的话,那么Web应⽤访问数据库的流量都是在本地产⽣的,没法通过交换机来镜像到数据库审计,此时需要在这种主机上安装agent代理,主动监听Web应⽤访问数据库的流量,从⽽主动推送给数据库审计系统。
不需要云环境底层⽀持流量镜像,只需要安装Agent即可完成云环境数据库的安全审计,⽀持主流的云环境中的主流的linux和windows等虚拟主机 ,单台审计设备可以同时⽀持多个数据库的审计。
反向代理⽅式部署:
反向代理适⽤于流量不能到审计设备,⼜不允许安装agent代理软件的情况。它的原理是直接把审计设备当作⼀个代理,客户端数据库连接直接连接到审计设备,通过审计设备再到达数据库,从⽽达到审计数据库的⽬的。
是针对云环境中的共享数据库专门开发的⼀种部署模式,主要是为了解决公有云和私有云环境中共享数据库⽆法安装agent提供的⼀种解决⽅案,主要是通过tcp层协议代理实现。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论