基于三层架构业务系统的数据库审计设计研究
2014-10-15马明祥等
马明祥等
摘要:数据库审计作为信息系统的重要组成部分,对信息的安全与稳定具有十分重要的意义。通过研究数据库审计机制,并结合应用系统的需求。医院大多使用三层架构HIS系统,使用传统的数据库审计,不能审计到操作者的完整的信息,设计实现了三层架构数据库审计系统,用于对数据操作的各项信息进行记录。
关键词:数据库审计;三层架构;应用审计
随着全球信息化建设的加快,信息系统的安全运行已经被提到非常重要的日程上来,医院HIS等各种系统中数据库的重要性日渐显著。常德市第一人民医院信息化经过多年的建设,在医院的科研,教学,管理工作中发挥了巨大的作用,医院使用方正HIS系统,终端使用客户端程序直接访问中间件服务器,然后中间层服务器再访问后台HIS数据库服务器。根据常德市第一人民医院信息系统建设和运行的现状,本设计数据库审计系统的范围主要包括SQL数据库审计、oracle数据库审计、sybase、三层架构数据库审计等方面。
三层网络结构是采用层次化架构的三层网络,采用层次化模型设计,就是把比较复杂的网络设计划分为几个层次,每个层次着重于特定的某些功能,即可使大问题化为一些小问题。这个设计的网络有三个层次:核心层、汇聚层、接入层 。
1系统目标
数据库审计的目标在于记录每一次数据操作的信息,以便进行事后审查,即当数据访问操作发生时,记录什么人、什么时候、什么地方、对什么数据进行了什么操作的信息。分析归纳后,将对数据库系统的数据方位操作表示为:操作者、操作对象、操作时间、操作内容。数据库审计系统的目的即能够对即将被审计的数据部署审计,当被审计数据发生操作时,随之实现对操作者、操作内容等信息的自动记录,并且提供对于这些信息的查询、统计等等功能。此外对于有着不同安全要求的数据对象,又划分成记录操作和不记录操作数据两种[4]。
2系统的分析与设计
依据系统的目标,审计系统的功能主要包括:实现审计功能,当被审计数据加载后,实时记录对审计目标的各种操作信息;实现对审计功能的管理,包括对被审计对象的功能配置、用户管理、审计范围等;实现对审计数据的管理,如审计结果数据的查询、管理等。
对大多数据库的应用系统,都设计实现了各自系统的用户管理,以此来实现应用系统的用户管理与认证。当用户通过应用系统对数据库的数据进行操作时,审计信息中的操作时间、操作对象、操作内容信息等等,通过在数据库系统中编写捕获程序可获得,而操作者的用户信息由于应用系统的不同而不同,则需要应用系统实现对操作者信息的记录。因此在系统设计当中,对审计信息的记录分为数据库审计和应用系统审计[5]。
2.1数据库审计的功能是在对数据库操作发生时,捕获并记录与操作相关的人、地点、时间、对象、行为等信息,在数据库中,对数据库操作的时间、对象、行为的记录可借助系统抓包,捕获、分析来实现。
2.2应用审计审计的目的是为了得到操作者、操作内容、操作时间、等信息,但在3层架构用户无法由抓包中直接取得。应用审计是审计系统在应用系统中实施的其中一部分,它的功能主要是记录应用系统用户的操作者的信息。因为现在的应用系统大多使用B/S架构或者C/S架构,所以它需要通过各自在使用这两类架构的应用系统上去完成。在C/S架构的应用系统中,用户通过该系统客户端连接到数据库,由客户端取得该用户的信息。在B/S架构的应用系统中,用户在浏览器会话期间,应用系统可以根据用户的绘画信息得到操作者信息。
2.3数据库审计和应用审计的数据关联,在数据审计和应用审计各自实现了对审计要素中不同内容的记录后,还必须把数据库审计记录的数据操作信息和应用审计记录操作者信息关联起来,以便系统能根据操作信息得到执行这个操作的唯一的操作者信息。
会话是数据库服务器对于数据库连接进行记录的一种方法,在会话包含的一些信息当中,会话标识符是数据库为每次数据库连接分配的唯一的编号,它具有唯一的标识数据库会话的作用,不仅可以被数据库审计记录,并且还能被应用审计记录。会话标识符的唯一性可以保证这种对应关系的唯一性。因此在该审计系统的设计中采取该方法实现两个审计之间的数据关联。
3技术分析
目前,常见的审计方法主要有:数据库自身审计、常规的审计系统。但是业界常用的数据库自身审计存在缺陷,无法满足医疗系统的审计要求。而简单的审计系统,虽然捕获了非法统方的数据,但由于无法及时的阻断;更不能对非法统方进行现场的取证,定位犯罪份子,从根本上阻止非法统方行为,阻断非法统方这条灰色产业链。
综上所述,审计系统的防统方专版与其他的数据库审计产品功能对比如下:数据库自身审计、普通的审计系统、防统方专版;数据库自身审计对管理员的要求很高,不方便使用;审计的日志可人为删除,使丧失了审计的中立性和不可篡改性原则;占用服务器的资源,影响业务系统的运行;各种数据库系统的审计信息的格式比较复杂,不统一,难以集中审计,影响审计效果; 不是专门针对医院的防止非法统方;没有业界常见业务的统方规则库;只能做到记录操作的日志,却不能进行深度的分析与挖掘;不能真正的实现统方行为的阻断;无法提供"犯罪"现场的录像取证,追查犯罪份子;报表复杂不易操作;无法提供监察模块为监察人员查阅,专门针对统方事件的审计;内置业界常见的业务系统统方规则库,操作简单;实现对三层网络架构数据库服务器的操作进行审计;能阻断并提供现场录像取证;提供深度的挖掘功能,靈活的调整系统的规则库;报表丰富且明了、易懂;部署简单不影响现有系统。
4结论
本文设计的数据库审计系统,解决了应用系统向结合的数据库操作的设计问题,实现了记录操作者、操作时间、操作地点、操作内容的关键功能。
常德市第一人民医院大多采用多个应用系统共用数据库服务器的架构,本文设计的审计系统对这种信息系统具有比较明显的优势,表现如下:审计系统蚕蛹数据库审计和引用审计分离的结构,使得系统具有更好的扩展性,对于应用系统来说,加载对该系统的审计仅需添加引用审计的代码;审计系统与审计库审计是共同的,由于审计系统的统一性,可运用统一的分析方法依据审计信息对一些安全事件进行分析,也便于将多个应用系统的安全事件关联起来确定非法操作来源。数据库审计是信息系统审计的一个重要环节,除此之外还有入侵检测审计、主机审计、网络安全审计等等,他们共同构成信息系统的审计体系。
参考文献:
[1]袁宗福,等.计算机网络技术与应用[M].人民邮电出版社,2010.
[2]陆云帆.基于oracle的数据库设计[M].机械工业出版社,2011.
[3]王珊,等.数据库系统概论[M].4版.高等教育出版社,2006.
[4]车蕾,等.数据库应用技术[M].清华大学出版社,2010.
[5]李玲,等.计算机数据审计[M].清华大学出版社,2010.
编辑/张燕