一种实现数据库审计的方法及装置与流程

文档序号:11950882阅读:251来源:国知局
一种实现数据库审计的方法及装置与流程

本申请涉及网络通信技术,特别涉及一种实现数据库审计的方法及装置。



背景技术:

目前,我国一些部门使用的数据库存在一定的安全风险,例如,内部用户恶意操作、滥用资源或泄露企业机密信息,加之人为误操作和黑客入侵,使数据库系统造成了极大的损失。为了降低损失,数据库安全审计系统对访问数据库的数据流进行采集、分析和识别,对访问数据库的相关行为及数据库发送和接收的相关内容进行存储、审计、查询和分析,记录形成会话日志,以供预设审计用户进行审计。

在相关的技术中,审计网关设备基于审计策略判断是否需要对数据库访问会话的发起方进行审计。当预设审计用户进行审计时,服务端从日志留存系统中提取所有生成的会话日志信息,并按照会话日志信息的生成顺序进行排列,逐条展示给预设审计用户。但是,由于不同客户端可能在同一时间对各个数据库进行访问操作,使得相应生成的会话日志信息也随之相互掺混地存储至日志存留系统中,导致当这些会话日志信息被展示于预设审计用户时,排列顺序杂乱无章,给审计工作带来极大的困难,导致审查效率十分低下。



技术实现要素:

有鉴于此,本申请提供一种实现数据库审计的方法及装置,将会话日志根据会话标识分组进行展示,方便预设审计用户进行审计,提高审计效率。

具体地,本申请是通过如下技术方案实现的:

根据本发明的第一方面,提出了一种实现数据库审计的方法,包括:

当接收到的报文匹配于预定义的审计策略时,记录所述报文对应的数据库访问会话的会话标识;

当生成所述数据库访问会话对应的会话日志时,在所述会话日志中添加所述数据库访问会话的会话标识;

根据每一会话日志中包含的会话标识,对得到的会话日志进行分组展示,以供预设审计用户进行数据库审计。

根据本发明的第二方面,提出了一种实现数据库审计的装置,包括:

记录单元,当接收到的报文匹配于预定义的审计策略时,记录所述报文对应的数据库访问会话的会话标识;

添加单元,当生成所述数据库访问会话对应的会话日志时,在所述会话日志中添加所述数据库访问会话的会话标识;

展示单元,根据每一会话日志中包含的会话标识,对得到的会话日志进行分组展示,以供预设审计用户进行数据库审计。

通过以上技术方案可知,本发明在接收到的报文匹配于预定义的审计策略时,通过记录该报文对应的数据库访问会话的会话标识,并在该数据库访问会话对应的会话日志中添加该会话标识,可以根据该会话标识对得到的会话日志进行分组展示,便于预设审计用户快速查找到所关注的会话日志,尤其是当数据库的访问流量较大时,会产生数量庞大的会话日志,因而通过本发明的技术方案可以有效地提高审计效率。

附图说明

图1是相关技术中的一种网络架构示意图;

图2是本发明一示例性实施例的一种实现数据库审计的方法流程图;

图3是本发明一示例性实施例的另一种实现数据库审计的方法流程图;

图4是本发明一示例性实施例数据库审计会话登录日志示意图;

图5是本发明一示例性实施例的数据库审计会话明细日志示意图;

图6是本发明一示例性实施例数据库审计会话日志示意图;

图7是本发明一示例性实施例的一种实现数据库审计的装置示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是相关技术中的一种网络架构示意图,参见图1:服务端配置有数据库,比如Oracle数据库、MySQL数据库和SQL server数据库等,并且服务端还配有审计网关设备,使得客户端1、客户端2和客户端3等各个客户端均需要通过该审计网关设备访问上述数据库,从而对各个客户端的访问形式进行审计。

以Oracle数据库为例。当客户端1访问Oracle数据库时,可以向服务端发送一个访问Oracle数据库的请求报文,以建立相应的数据库访问会话;而审计网关设备可以根据预定义的审计策略对该数据库访问会话进行匹配,比如将该数据库访问会话的IP地址与审计策略中定义的需要审计的IP网段进行匹配,以确定是否需要对该数据库访问会话的发起方进行审计,再比如识别该数据库访问会话的报文采用的数据库协议(比如在访问Oracle数据库时,即为Oracle数据库协议),以确定被访问的数据库是否属于审计策略中定义的审计对象,即需要审计的数据库;那么,当上述数据库访问会话被判定为匹配于预定义的审计策略时,可以针对该客户端1对Oracle数据库的所有访问操作生成相应的会话日志,并通过将会话日志存储在日志留存系统中,以供预设审计用户进行数据库审计。

在上述的相关技术中,当预设审计用户审计数据库时,服务端从日志留存系统中提取生成的会话日志信息,并按照会话日志信息的生成顺序进行排列展示给预设审计用户。但是,由于不同客户端可能在同一时间对各个数据库进行访问操作,使得相应生成的会话日志信息也随之相互掺混地存储至日志存留系统中,导致当这些会话日志信息被展示于预设审计用户时,排列顺序杂乱无章,给审计工作带来极大的困难,导致审查效率十分低下。

因此,本发明通过提出一种对实现数据库审计的改进方案,可以解决相关技术中的上述问题,下面结合实施例进行说明。

图2示出了本发明一示例性实施例的一种实现数据库审计的方法流程图,如图2所示,该方法应用于审计网关设备上,可以包括下步骤:

在步骤201中,当接收到的报文匹配于预定义的审计策略时,记录所述报文对应的数据库访问会话的会话标识。

在本实施例中,当审计网关设备确定数据库访问会话匹配于预定义的审计策略时,可以记录该数据库访问会话的会话标识,比如该会话标识可以是会话ID,也可以是能够保证会话唯一性的其他标识,本发明并不对此进行限制。

在步骤202中,当生成所述数据库访问会话对应的会话日志时,在所述会话日志中添加所述数据库访问会话的会话标识。

在本实施例中,所述会话日志包括:会话登录日志,用于记录用户对数据库的登入或登出信息;会话明细日志,用于记录用户对数据库的数据操作信息。这样对会话日志进行分类,后续在不同情况下展示不同的会话日志时,方便预设审计用户查看相关会话日志。

在本实施例中,所述会话登录日志与所述会话明细日志被分别存储于不同路径。这样在搜索相应的会话明细日志时,可以减小搜索量、提升搜索效率。

在步骤203中,根据每一会话日志中包含的会话标识,对得到的会话日志进行分组展示,以供预设审计用户进行数据库审计。

在本实施例中,可以根据每一会话日志中包含的会话标识,对得到的会话日志进行分组展示,包括:分组展示各个会话标识对应的会话登录日志;当接收到针对任一会话标识对应的分组的明细查看请求时,展示所述任一会话标识对应的会话明细日志。这样可以避免同时展示排列顺序杂乱无章的所有会话登录日志和会话明细日志,方便预设审计用户审计数据库。

在本实施例中,所述当接收到针对任一会话标识对应的分组的明细查看请求时,展示所述任一会话标识对应的会话明细日志,包括:在所有会话明细日志的存储路径下,根据所述任一会话标识执行搜索操作;展示搜索到的会话明细日志。

通过以上技术方案可知,本发明在接收到的报文匹配于预定义的审计策略时,通过记录该报文对应的数据库访问会话的会话标识,并在该数据库访问会话对应的会话日志中添加该会话标识,可以根据该会话标识对得到的会话日志进行分组展示,便于预设审计用户快速查找到所有所关注的会话日志,尤其是当数据库的访问流量较大时,会产生数量庞大的会话日志,因而通过本发明的技术方案可以有效地提高审计效率。

在本发明的技术方案中,通过改进对数据库访问会话、会话日志的处理方式,以及提供更佳的交互体验,以提升对数据库的审计效率,但整个网络架构仍然可以沿用相关技术中的网络架构。那么,为了便于理解,下面结合图1所示的网络架构以及图3所示的实施例,对本发明的技术方案做进一步的详细说明。其中,图3是本发明一示例性实施例的另一种实现数据库审计的方法流程图,如图3所示,所述方法包括以下步骤:

在步骤301中,建立数据库访问会话。

在本实施例中,假定用户希望通过图1所示的客户端1访问服务端配置的Oracle数据库。客户端1会向服务端发送一个访问Oracle数据库的请求报文,并据此在客户端1与服务端Oracle数据库之间建立相应的数据库访问会话,以实现客户端1对Oracle数据库的访问。

在步骤302中,判断数据库访问会话是否匹配于预定义的审计策略。

在本实施例中,由图1所示的网络架构可知:客户端1与Oracle数据库之间建立的上述数据库访问会话产生的所有报文,均可以被审计网关设备接收到,使该审计网关设备可以据此确定该数据库访问会话是否匹配于预定义的审计策略,即审计人员是否需要对该数据库访问会话产生的会话日志进行审计。

在本实施例中,审计策略定义的审计元素可以包括:IP网段和审计对象。

对于IP地址,审计网关设备可以获取上述数据库访问会话的IP地址(即客户端1的IP地址),并判断该IP地址是否属于审计网关设备预定义的IP网段。例如,当审计策略定义的IP网段为(192.168.2.1-192.168.2.255)时,如果客户端1的IP地址为192.168.2.128,即属于该IP网段,则表明上述数据库访问会话的IP地址匹配于该审计策略定义的IP网段。

对于审计对象,即审计策略定义的需要审计的数据库,比如图1示出的Oracle数据库、MySQL数据库和SQL server数据库等,可以仅对Oracle数据库和MySQL数据库进行审计,而无需对其他数据库进行审计。那么,审计网关设备通过识别上述的数据库访问会话的报文采用的数据库协议,比如识别出数据库协议为Oracle数据库协议时,可以确定该数据库访问会话涉及到的数据库为Oracle数据库,则表明上述数据库访问会话所针对的数据库匹配于该审计策略定义的审计对象。

因此,当数据库访问会话匹配于审计策略定义的所有审计元素时,比如当数据库访问会话同时匹配于上述的IP网段和审计对象时,可以确定该数据库访问会话匹配于预定义的审计策略。

在步骤303中,记录会话标识。

在本实施例中,当审计网关设备确定数据库访问会话匹配于预定义的审计策略时,可以记录该数据库访问会话的会话标识,比如该会话标识可以是会话ID(例如图4中记录的会话ID为2231),也可以是能够保证会话唯一性的其他标识,本发明并不对此进行限制。

在步骤304中,生成会话日志,并在会话日志中添加记录的会话标识。

在本实施例中,基于上述的数据库访问会话产生的任一交互,均可以生成相应的会话日志。例如,对于用户通过客户端1向Oracle数据库的登入或登出操作,可以生成相应的会话登录日志,以记录用户对Oracle数据库的登入或登出信息,例如登入或登出时间、采用的端口号等;对于用户处于登入状态的过程中,通过客户端1对Oracle数据库执行的操作,可以生成相应的会话明细日志,以记录用户对Oracle数据库的数据操作信息,比如查询数据库、编辑数据库等。

而在生成诸如上述的会话登录日志、会话明细日志等会话日志时,审计网关设备可以在每条会话日志中添加相应的数据库访问会话的会话标识,使得审计网关设备可以进而通过该会话标识对会话日志进行识别、区分和统计等操作,而无需审计人员手动查看、识别和区分,以便于提高对数据库的审计效率。

在步骤305中,存储携带所述会话标识的会话日志。

在本实施例中,可以将不同类型的会话日志分别存储于不同路径下。比如对于上述的会话登录日志和会话明细日志,可以将会话登录日志存储于日志留存系统的A区、将会话明细日志存储于日志留存系统的B区,那么后续(比如在步骤309)在根据会话标识搜索某类会话日志时,比如在搜索会话明细日志时,可以仅从日志留存系统的B区进行搜索,而无需对日志留存系统的A区进行搜索,这样可以极大地减小搜索量,有助于提升搜索效率和对审计人员的日志查看需求的响应速度。

在步骤306中,展示会话登录日志。

在本实施例中,基于用户通常情况下的操作习惯,即一次访问过程中仅存在一次登入或登出操作,但是可能存在很多次对数据库的查询、编辑等操作,因而会话登录日志的数量往往远小于会话明细日志。所以,通过首先展示出会话登录日志,可以满足审计人员对于会话基本信息的查看需求的情况下,减小审计人员的数据查看量,反而有助于提升审计人员的查阅速度和效率,通过查看会话登录日志包含的诸如图4所示的“会话ID”、“用户IP”、“源端口”、“数据库类型”等信息,使审计人员能够快速确定出希望关注的数据库访问会话,然后查看相应的会话明细日志,以完成审计操作。

在步骤307中,判断是否接收到展示会话明细日志的请求。

在本实施例中,审计人员确定出希望关注的数据库访问会话后,可以触发相应的会话登录日志,以发出针对该数据库访问会话的会话明细日志的展示请求,从而查看相应的会话明细日志。

举例而言,在如图4所示的界面中,每条会话登录日志(分别对应于不同的数据库访问会话)的右端设置了相应的触发控件“□”,审计人员确定出希望关注的数据库访问会话后,可以对相应的会话登录日志处的控件“□”进行触发。那么,当检测到审计人员对某一控件“□”的触摸或鼠标点击等操作时,可以确定该控件所属会话登录日志对应的会话标识,并确定服务器接收到针对该会话标识对应的会话明细日志的展示请求。

在步骤308中,根据会话标识搜索会话明细日志。

在本实施例中,如图4所示,假定检测到审计人员对携带会话ID为2231的会话登录日志后的控件“□”的触发操作,服务器可以在会话明细日志的存储路径下,根据会话ID“2231”执行搜索操作,搜得该会话ID下的所有会话明细日志。那么,当会话登录日志、会话明细日志等在步骤305中被分类存储时,可以减小搜索量、提升搜索效率,对审计人员的触发操作进行快速响应、减少等待时延。

在步骤309中,展示搜索到的会话明细日志。

在本实施例中,如图5所示,可以在图4的基础上生成另一页面,以展示出搜索到的会话明细日志;当然,也可以在被选中的会话登录日志与相邻的会话登录日志之间进行区域扩展,比如在图4中的会话ID2231、会话ID2232对应的会话登录日志之间形成一临时扩展区域,并在该临时扩展区域内示出上述的会话明细日志。当然,本发明并不限制对会话明细日志的展示形式。

例如图5所示,展示出会话ID为2231的部分会话明细日志,记录了客户端1对Oracle数据库的详细操作信息,比如最下方的会话明细日志表示:“客户端1在时间为‘16-04-13 15:44:32’时,删除命名为‘cam_lc’的表格”,最上方的会话明细日志表示:“在‘15:59:01’时,将自己的ID更新为‘jason’”等。类似地,审计人员还可以查看其它任意会话ID对应的会话明细日志,此处不再赘述。

实际上,通过审计人员对每一条会话登录日志的触发,并获取相应会话登录日志对应的会话ID,相当于按照会话ID对日志留存系统中的会话明细日志进行分组,然后通过如图5所示的方式或类似方式,实现了对会话明细日志的分组展示,而无需审计人员一一分辨每条会话日志,以便于审计人员执行审计操作,有助于提升审计效率。

此外,除了图3-5描述的会话日志展示方式(即先示出会话登录日志、再示出会话明细日志)之外,还可以对会话登录日志和会话明细日志进行同时展示。参见图6:可以将同一会话ID下的所有会话日志进行连续展示,相当于将图6所示的展示页面划分为分别对应于每一会话ID的展示区域,从而将同一会话ID的所有会话日志示出于相应的展示区域内,即可防止不同会话ID的会话日志之间发生混杂,同样可以实现基于会话ID对会话日志进行分组展示。

比如,在图6中示意出了两个展示区域(在实际的展示页面中,对于不同展示区域的划分可以是不可见的),分别用于展示会话ID为2231、会话ID为2232的会话日志;其他会话ID下的会话日志可以采用类似方式进行展示,此处不再赘述。

与前述实现数据库审计方法的实施例相对应,本申请还提供了实现数据库审计装置的实施例。

本申请实现数据库审计的装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置还可以包括其他硬件,对此不再赘述。

图7是本发明一示例性实施例的一种实现数据库审计的装置示意图,该示意图包括:记录单元701、添加单元702和展示单元703。

其中,记录单元,当接收到的报文匹配于预定义的审计策略时,记录所述报文对应的数据库访问会话的会话标识。

添加单元,当生成所述数据库访问会话对应的会话日志时,在所述会话日志中添加所述数据库访问会话的会话标识。

展示单元,根据每一会话日志中包含的会话标识,对得到的会话日志进行分组展示,以供预设审计用户进行数据库审计。

可选的,所述展示单元展示的会话日志包括:会话登录日志,用于记录用户对数据库的登入或登出信息;会话明细日志,用于记录用户对数据库的数据操作信息。

可选的,所述展示单元展示的所述会话登录日志与所述会话明细日志被分别存储于不同路径。

可选的,所述展示单元具体用于:

分组展示各个会话标识对应的会话登录日志;

当接收到针对任一会话标识对应的分组的明细查看请求时,展示所述任一会话标识对应的会话明细日志。

可选的,所述展示单元通过下述方式展示所述任一会话标识对应的会话明细日志:

在所有会话明细日志的存储路径下,根据所述任一会话标识执行搜索操作;

展示搜索到的会话明细日志。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1