DSG SnapAudit数据库审计软件
新一代的数据库审计解决方案--Oracle数据库
1 数据库审计的核心问题及需求
1.1 数据库安全漏洞的主要原因分析
数据库安全漏洞的主要原因有三:
1) 无监控手段
数据库管理员往往作为数据库操作员存在,了解如何在数据库内进行操作、解决问题,但无法对用户的访问、操作进行监控,更无法预防或者处理秘密访问、数据窃取以及恶意删除。
2) 无管理机制
数据库的超级用户密码多人共享,很多人可以使用一个用户进行操作,而事后无法确定是哪个人制造了问题。一旦登录到数据库,无论核心数据还是非核心数据都可以随意访问而不被察觉;非公司人员、测试用户都可以对所有数据进行访问和操作,从而使数据库完全变成“OPEN”数据库。
3) 无回溯办法
如果发现问题,无法回溯到问题发生时的状态,无从追踪问题发生的根源,最后不了了之;更无法制定针对性地解决方案,使企业处于非常被动的状态。因为无法回溯,所以也无法进行数据修复,导致错误延续和蔓延。
1.2 数据库审计要解决的核心问题
针对存在的问题,数据库审计就要解决如下三个核心问题:
1) 全方位的数据库操作监控。
无论从网络登录,还是从终端登录;无论是查询数据,还是改变数据;无论是普通用户还是超级用户;无论是应用程序,还是手动登录都能被有效监控,不留死角。
2) 审计策略定制和管理
能够允许客户自定义各种审计策略,对其所关心的用户、表以及表中的特定数据设置不同粒度的监控策略,当用户访问违反上述策略时,其操作行为就会被记录下来,并且能够马上报警提示。
3) 事件回放和故障修复
对于出现的问题,能够通过界面快速查询出客户的历史操作过程,分析事故发生原因,并能够生成修复操作建议,便于尽快恢复系统的正常运行状态。
1.3 数据库审计软件的基本要求
作为完善的数据库审计软件,必须具备如下条件:
1) 具有全面丰富的数据库审计类型,能够全面、高效地获取数据库的各种操作信息;
2) 具有细粒度的数据库操作内容审计;
3) 能够准确及时的对违规操作告警响应;
4) 具有全面详细的审计信息,丰富可定制的报表分析系统;
5) 能够为数据丢失、篡改等提供修复解决方案;
6) 对业务系统的干扰和影响小;
7) 管理维护简单方便;
8) 其自身的安全性高,不易遭受攻击。
2 SnapAudit数据库审计解决方案
在对数据库审计的需求分析基础上,DSG提出针对性的SnapAudit数据库审计解决方案。
2.1 SnapAudit体系结构
SnapAudit软件的系统结构如下图所示:
如上图所示,SnapAudit软件分为五功能层:
采集层: 由数据分析引擎(OLFX) 组成。
数据分析引擎OLFX主要用来对Oracle数据库的在线日志进行分析,获取数据库的操作系统。OLFX的主要特点是能过全方面获取数据库的操作信息,同时分析过程快速、高效,对业务系统的影响小。OLFX分析在线数据日志后,自动将数据库操作信息传递到过滤层进行处理。
过滤层:由SnapAudit Data Filter模块组成。
SARF负责将OLFX采集到的信息根据Audit Policy(审计策略)进行过滤,过滤后的信息传递到存储层进行存储。
存储层: 由XDTFS/SADB审计信息存储管理模块组成。
所有过滤后的审计信息转换成XDT格式后,存储于独立的XDTFS文件系统。XDT格式是按照Oracle 数据库内部操作的格式存储获取的数据库审计信息,XDTFS为每个存入其内的XDT数据创建快捷的访问索引,便于随机查询。XDTFS可存在于任意的UNIX/Linux文件系统之上,利用操作系统识别的存储空间存放数据。
也可以将过滤后的审计信息存储于SnapAuditDB数据存储系统。在SADB存储系统中,数据更易于二次处理,查询,统计等。
业务层: SnapAudit的主要功能通过其服务器组件SAServer来实现。审计策略制定、修复建议生成、查询及检索命令形成、自动报表和性能监控刷新等都由SAServer来实现。定制的审计策略,用户权限以及登录SnapAudit的信息都记录在SAServer上。SAServer支持网络化的环境,可以实现对多个数据库审计的集中管理。
展示层: SAClient是SnapAudit的图形人机交互界面,用于展示审计报表、客户选择并制定审计策略,并能提供性能监控界面、权限管理界面、审计信息查询界面以及数据修复操作界面等。一个SAServer支持多个SAClient的连接。
2.2 SnapAudit工作原理
SnapAudit和其他数据库审计软件工作原理不同。
其他数据库审计软件主要通过对网络的监控、过滤和对网络数据中的SQL语句解析来实现对数据库的审计。SnapAudit通过对Oracle数据库的日志分析来实现数据审计。
众所周知,数据库的任意操作都会记录在日志中,便于今后的系统恢复。无论是否通过网络访问数据库,其操作痕迹都留存在数据库日志中。因此从数据库日志着手能过获得最完整的数据库审计信息。
SnapAudit的OLFX高速数据分析引擎其功能集成于一个SnapAudit Agent(分析代理)之内。分析代理安装在需要审计的数据库服务器主机,时刻监控数据库的日志变化。当有用户登录到数据库或者进行了相关的操作,SnapAudit分析代理将会获取日志中关于该操作的信息,并结合连接数据库的TNS信息和Session信息,获取到该操作用户的完整信息,包括登录主机、主机IP、用户名、应用程序,以及其访问的表、表的属主、表的字段,对表的操作,以及登录时间,退出时间等。
OLFX分析得到的信息需经过SADF过滤。SADF首先会从SnapAudit 服务器取得用户定制的审计策略,然后将这些策略用于过滤OLFX分析得到的信息。过滤的信息通过网络传递到PA Agent(存储代理)并存储在XDTFS/SADB中。
如果客户在定制审计策略时指定了报警级别,过滤信息在存储到XDTFS/SADB的同时会向PA Server发出报警信息。
在分析故障时,客户通过界面进行条件查询,SA Client将查询命令传递到SA Server,SA Server将命令解析,并从XDTFS/SADB中获取相关检索信息,返回给SA Server,SA Server将信息传回SA Client展现出来。如果客户需要提供修复信息,则SA Server自动生成修复参考意见,供客户选择执行。
2.3 SnapAudit对业务系统的影响
SnapAudit对业务系统的影响较小:
1)SnapAudit的部署无需调整客户的现有网络构架,无需在数据库服务器与网络交换机之间增加硬件设备;
2)SnapAudit在客户数据库服务器上仅运行一套Agent软件,其在运行时占用CPU资源 < 3%,占用内存资源少于400MB,对网络及I/O的影响可以忽略。
2.4 SnapAudit管理与维护
SnapAudit向最终用户提供图形化的管理界面,用户可以在图形界面上进行日常的审计监控和管理。图形界面提供中、英文两种版本选择。
SnapAudit向用户提供报警服务,在发现违规操作的情况下可通过邮件、界面显示、日志和声音进行报警。
日常管理简单方便,系统生成的审计报表和统计报表可以随时打印。
2.5 SnapAudit的后续功能扩展
今后SnapAudit将进一步扩展功能,主要包括:
1)增强数据库监控工具,使其可以实时监控数据库性能,提示客户数据库存在的潜在风险;
2)增强数据库优化功能,使其可以及时发现数据库性能瓶颈,从而更早地消除系统隐患,提升运行效率;
3 SnapAudit的特点与优势
3.1 SnapAudit的主要特点
SnapAudit的主要特点如下:
1) 采用全新的数据库审计思路开发的软件产品。传统的审计软件主要从网络层面演化而来,由网络监控审计,扩展到数据库审计,其网络监控功能强而数据库审计功能弱。SnapAudit立足于数据库本身,通过对数据库的日志分析,来直接解决数据库的审计问题。
2)具有全方位的数据库审计功能。不仅支持对网络连接操作的审计,也支持直接登录数据库操作的审计,可以将数据库所有操作一览无遗,不留漏洞。
3)审计可靠性高。SnapAudit采用容灾底层核心技术对数据库日志进行分析,避免了以往网络数据包解析有误或者数据传输速度快、网络不稳定造成的审计信息不全的问题,保证高可靠性审计。
4)审计策略粒度更细。SnapAudit可以监控到数据库的任何一个细小的操作,不仅包括用户的操作,数据库后台发起的定时任务、数据库结构的改变、数据库语句执行的批量操作等,无论巨细,都可以被精确审计。
5)修复功能强。传统的审计软件主要是通过审计发现问题,而SnapAudit不仅发现问题,还提供解决问题的方案。
6)对业务系统影响小。传统审计软件会大幅降低客户与数据库之间的网络传输效率,而SnapAudit并不需要在数据库服务器与交换机之间加设分析设备,所以也不会显著降低数据库的处理能力。