一种数据库的安全审计系统、方法及服务器与流程

文档序号:15852427发布日期:2018-11-07 10:17阅读:323来源:国知局
一种数据库的安全审计系统、方法及服务器与流程

本发明属于数据库审计技术领域,具体涉及一种数据库的安全审计系统、方法及服务器。

背景技术

数据库是现代信息系统的基础,数据库中存有大量有价值的信息系统的业务数据,这些数据涉及到信息业务的安全问题,需要保证数据的可靠性和可用性,因此有了数据库安全审计系统。数据库审计系统用于实时记录数据库操作活动,对数据库操作进行细粒度审计的合规性检查管理,对数据库遭受到的风险行为进行告警。它通过对用户访问数据库行为的记录、分析和汇报,帮助用户事后生成合规报告、事故追根溯源,同时加强审计数据本身的安全性,提高审计系统本身的可靠性。

申请号为201710767602.3申请名称为一种数据库审计方法的专利,涉及一种数据库审计方法,此方法减少了人工配置的规则策略的繁琐,不需要学习大量的规则策略配置知识;此发明的方法还包括规则策略库的再学习过程,使得规则策略库不断的动态更新、完善,以满足业务的需要,此方法主要关注审计规则和审计策略方法,但是存在没有针对数据库的特点设计该格式的审计规则的问题。

申请号为201710446319.0申请名称为基于场景感知的数据库安全审计系统及方法的专利,揭示了一种基于场景感知的数据库安全审计系统及方法,用于对数据库进行监视。所述系统包括数据采集单元、学习引擎单元、自动化审计策略生成单元,以及安全审计引擎单元,数据采集单元抓取用户局域网中的数据包并发送至学习引擎单元;学习引擎单元对数据包深度分析,获取所有数据库服务器信息,并调用自动化审计策略生成单元;自动化审计策略生成单元根据数据库服务器信息自动生成业务主机、服务对象,并根据业务主机和服务对象自动形成审计策略;安全审计引擎单元根据审计策略对数据库进行安全审计。此发明能够自动获得用户局域网中的数据库服务器信息,自动生成审计策略,简化了配置过程,减少了运维人员配置过程中的失误,但是在安全系统和数据库交互过程中,容易出现消息泄露等风险。

申请号为201510016896.7申请名称为一种基于旁路监听和软件抓包技术的网络安全监控方法的专利,提出了一种基于旁路监听的数据库安全审计系统框架,并实现了针对oracle数据库的安全审计系统。涉及java网络抓包、tns协议解析、sql语法解析和数据库安全检测等技术实现,提出一种发现用户正常行为规则的异常检测算法。系统实验结果表明该系统能有效对oracle数据库进行实时安全审计,并实现了数据库操作行为的安全检测,但是该方法也存在没有针对数据库的特点设计符合该数据库格式的审计规则的缺陷。

申请号为201711222413.4申请名称为一种基于sqlserver数据库的多语句审计和控制方法的专利,涉及一种基于sqlserver数据库的多语句审计和控制方法,具有拆分准确、控制准确率高、力度更细等特点,可广泛应用于数据库审计或数据库防火墙等网络安全产品中,此审计方法也是在现有数据库的基础之上做的审计功能模块,也是通过网络旁路监听的方式对数据库进行监控,也存在没有针对数据库的特点设计该格式的审计规则的缺陷。

综上,现有数据库审计系统仍然是针对oracle、mysql、sqlserver等传统数据库的审计系统,这些系统均没有从最开始考虑数据库的安全审计问题,所以一般只能通过具体数据库系统的网络通信协议进行审计监控,但是在网络层增加审计功能会对数据库本身的运行产生一定的性能损耗,由于网络具有不可靠和缓慢的特点,因此也很难保证监控系统本身的可靠性。

因此为了更安全更高效的解决数据库系统的安全审计问题,亟需一种安全审计系统从数据库底层来考虑数据库安全审计功能。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供了一种数据库的安全审计系统、方法及服务器,用于解决现有技术中数据库审计系统没有针对数据库的特点设计符合该数据库格式的审计规则的缺陷,以及存在容易出现消息泄露等风险的问题。

为实现上述发明目的,一方面,本发明提供一种数据库的安全审计系统,该安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中;包括数据库模块、审计数据收集模块、审计数据存储模块、审计数据分析模块和可视化模块;

所述数据库模块,建立在现有数据库的存储引擎模块之上,用于根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

所述审计数据收集模块,用于收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

所述审计数据存储模块,用于通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

所述审计数据分析模块,用于对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

所述可视化模块,用于对审计数据分析模块分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

第二方面,本发明提供一种数据库的安全审计方法,所述方法应用于数据库,具体包括以下步骤:

(1)根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

(2)收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

(3)通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

(4)对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

(5)对审计数据分析模块所分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

第三方面,提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

(1)根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

(2)收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

(3)通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

(4)所述审计数据分析模块,用于对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

(5)对审计数据分析模块所分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例提供了一种数据库的安全审计系统、方法及服务器,该安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中,能高效的对审计日志信息进行收集,提供更好的保护,同时避免额外软件系统的开销,节约成本;审计数据收集模块利用开源的搜索引擎存储日志信息,同时将其和数据本身存储在一个系统中,能高效的对日志信息进行检索,能保证审计日志信息的安全和可靠性;这样可以直接更改数据库存储引擎的源代码将审计数据收集模块的功能插入到数据库中。其他开源数据库也可以通过类似的方法插入审计数据收集模块,通过审计数据分析模块对审计数据进行分析和处理,用开源的html5可视化框架对审计数据进行显示,为用户提供近乎实时监控的功能,当满足监控报警条件时,以邮件的方式通知用户,为用户提供监控报警功能。该系统能很好的解决数据库的审计问题,实现对数据库的合规性检查,并对违规操作进行预警。

附图说明

图1为本发明实施例一提供的数据库的安全审计系统结构示意图;

图2为本发明实施例二提供的数据库的安全审计方法的方法流程示意图;

图3为本发明实施例三提供的服务器的结构示意图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

为了解决现有数据库系统没有针对数据库的特点设计符合该数据库格式的审计规则的缺陷,以及存在容易出现消息泄露等风险的问题。本发明实施例提供了一种数据库的安全审计系统、方法、服务器及介质,该安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中;包括数据库模块、审计数据收集模块、审计数据存储模块、审计数据分析模块和可视化模块;

所述数据库模块,建立在现有数据库的存储引擎模块之上,用于根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

所述审计数据收集模块,用于收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

所述审计数据存储模块,用于通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

所述审计数据分析模块,用于所述审计数据分析模块,用于对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

所述可视化模块,用于对审计数据分析模块分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

该安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中,能高效的对审计日志信息进行收集,提供更好的保护,同时避免额外软件系统的开销,节约成本;审计数据收集模块利用开源的搜索引擎存储日志信息,同时将其和数据本身存储在一个系统中,能高效的对日志信息进行检索,能保证审计日志信息的安全和可靠性;这样可以直接更改数据库存储引擎的源代码将审计数据收集模块的功能插入到数据库中。其他开源数据库也可以通过类似的方法插入审计数据收集模块,通过审计数据分析模块对审计数据进行分析和处理,用开源的html5可视化框架对审计数据进行显示,为用户提供近乎实时监控的功能,当满足监控报警条件时,以邮件的方式通知用户,为用户提供监控报警功能。该系统能很好的解决数据库的审计问题,实现对数据库的合规性检查,并对违规操作进行预警。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

实施例一

本实施例提供一种数据库的安全审计系统,如图1所示,该安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中;包括数据库模块、审计数据收集模块、审计数据存储模块、审计数据分析模块和可视化模块;

所述数据库模块,建立在现有数据库的存储引擎模块之上,用于根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

本实例提供的数据库模块是自主开发的数据库中的存储引擎部分,在接受到客户端的命令请求以后,将需要存储的数据存储到磁盘或者其他介质中,并将其操作记录存储起来,这种操作记录在数据库中叫做日志。数据库模块可以直接更改数据库存储引擎的源代码将审计数据收集模块的功能插入到数据库中。其他开源数据库也可以通过类似的方法插入审计数据收集模块,另外的数据库则只能通过插件的方式插入审计数据收集模块。

本实例提供的安全审计系统安装在数据库中,通过更改现有数据库中的存储引擎模块的源代码或者通过插件的方式将安全审计功能部署到现有的数据库中,可以更加高效的收集审计数据,将审计数据和数据库数据存储在一个系统中,可以提供更好的安全性。比现在常用的旁路监听等方法的性能更加高效。

所述审计数据收集模块,于收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

这里的操作日志包括存储引擎模块对数据库中数据的处理过程和用户登录等信息,将原来数据库存储引擎中的操作日志的格式转化成方便存储的日志记录,这样才能对这些日志信息进行进一步的处理。

审计数据收集模块通过更改数据库存储引擎的源代码或者通过插件的方式,可以对不同数据库的操作日志进行收集,转化成所需的审计数据。

将审计数据收集模块和存储引擎模块紧密的部署在一起,可以高效的收集审计日志信息。比其他类似旁路监听的方式高效的多。

所述审计数据存储模块,用于通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

审计数据存储模块用开源的搜索引擎来存储审计数据收集模块所收集到的审计数据,对其进行分类存储,按照时间、数据库、用户等关键字对审计日志信息进行索引,这样可视化模块就可以高效的检索出需要的信息,让用户可以近乎实时的监控到数据库的当前状态。在本发明所述的安全审计系统中,通过更改源码,从而使得数据库只能增加数据,而不能删除和修改数据,提高了数据库的安全性和可靠性,这样可以保证数据存储的操作记录都是真实有效的,可以阻止人为更改。

elasticsearch为开源的搜索引擎存储框架,其可以很好的用来存储日志信息,可以对多种关键字进行索引,这样就能高效的从多个角度分析日志信息,从而能对数据库和数据库用户进行更高效的监控和审计。

所述审计数据分析模块,用于对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

所述可视化模块,用于对审计数据分析模块分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。利用了开源的gfafana框架来显示数据库中所有的数据更改情况,gfafana框架是一种html5框架,通过利用gfafana开源框架,为用户提供更加友好的用户界面,能更好的监控数据库的更改情况。

通过可视化模块,用户可以清楚的看到当前数据库中数据的处理步骤,可以了解到一个数据库的历史操作记录,也可以了解到所有用户的登陆情况,因此,可以从多个角度显示出数据库的操作历史,更加容易看出异常操作和异常用户。可视化模块除了以可视化的方式展示审计日志信息以外,还会对这些数据进行统计和分析。当用户设置了监控报警以后,可视化模块通过分析审计日志信息,当监控报警条件达到以后,就会用邮箱的方式通知用户。

基于同一发明构思,本申请提供了实施例一对应的方法,详见实施例二。

实施例二

相应于实施例一,本实施例提供了一种数据库的安全审计方法,所述方法应用于数据库,如图2所示,所述方法包括以下步骤:

(1)根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

(2)收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

(3)通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

(4)对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

(5)对审计数据分析模块分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

由于本实施例所介绍的方法为实施本申请实施例一中一种数据库的安全审计系统所采用的方法,故而基于本申请实施例一中所介绍的系统,本领域所属技术人员能够了解本实施例的方法的具体实施方式以及其各种变化形式,所以在此对于该系统如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的系统所采用的方法,都属于本申请所欲保护的范围。

基于同一发明构思,本申请提供了实施例一对应的服务器,详见实施例三。

实施例三

本实施例提供一种服务器,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

(1)根据客户端的命令请求,对数据库中的数据进行处理,并存储数据处理过程中的操作日志,同时,将需要存储的数据存储到磁盘或者其他介质中;

(2)收集存储数据库模块的操作日志,并对收集的操作日志进行格式化处理,转化成可以存储的格式,作为安全审计系统的审计数据;

(3)通过更改elasticsearch底层源码且利用开源的搜索引擎elasticsearch存储格式分类存储审计数据收集模块收集并转化过的审计数据,并按照时间、数据库、用户关键字对审计日志信息进行索引;

(4)对审计数据存储模块中存储的审计数据进行分析处理,得到当前数据的负载和用户的操作行为;

(5)对审计数据分析模块分析处理后的审计数据进行监控处理,并以开源的gfafana框架显示数据库的数据更改情况,当满足监控报警条件时,以邮件的方式通知用户。

在具体实施过程中,处理器执行计算机程序时,可以实现实施例一中任一实施方式。

由于本实施例所介绍的服务器为实施本申请实施例一中一种数据库的安全审计系统所采用的设备,故而基于本申请实施例一中所介绍的系统,本领域所属技术人员能够了解本实施例的服务器的具体实施方式以及其各种变化形式,所以在此对于该服务器如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的系统所采用的设备,都属于本申请所欲保护的范围。

基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。

在具体实施过程中,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

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