首页> 中国专利> 一种存在代理设备时的数据库审计处理方法和系统

一种存在代理设备时的数据库审计处理方法和系统

摘要

本申请公开了一种存在代理设备时的数据库审计处理方法和系统,该方法包括:第一探针获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上;所述第一探针将所述第一数据流量发送给审计设备;第二探针获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;所述第二探针将所述第二数据流量发送给所述审计设备。通过本申请解决了现有技术中通过代理设备转发数据库客户端的数据库访问流量所造成的审计信息丢失的问题,从而保证了审计信息的全面性,为提高数据库的安全性提供了帮助。

著录项

  • 公开/公告号CN115118640A

    专利类型发明专利

  • 公开/公告日2022-09-27

    原文格式PDF

  • 申请/专利权人 北京安华金和科技有限公司;

    申请/专利号CN202210881101.9

  • 发明设计人 刘晓韬;李彦君;

    申请日2022-07-26

  • 分类号H04L43/12(2022.01);H04L9/40(2022.01);G06F21/55(2013.01);

  • 代理机构北京盛询知识产权代理有限公司 11901;

  • 代理人蔺巍

  • 地址 100089 北京市海淀区中关村南大街甲18号院1-4号楼12层D座12A01

  • 入库时间 2023-06-19 17:09:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-01

    授权

    发明专利权授予

  • 2022-10-18

    实质审查的生效 IPC(主分类):H04L43/12 专利申请号:2022108811019 申请日:20220726

    实质审查的生效

  • 2022-09-27

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及到数据库审计领域,具体而言,涉及一种存在代理设备时的数据库审计处理方法和系统。

背景技术

数据库审计(简称DBAudit)以安全事件为中心,以全面审计和精确审计为基础,实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行实时告警。它通过对用户访问数据库行为的记录、分析和汇报,来帮助用户事后生成合规报告、事故追根溯源,同时通过大数据搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,实现加强内外部数据库网络行为的监控与审计,提高数据资产安全。

为了对数据库的访问行为进行全面审计,则需要能够获取被审计数据库的全部访问流量。用于对数据库进行审计的设备被称为审计设备,审计设备一般会与数据库分别进行部署,访问数据库的流量需要均被审计设备获取到,这样审计设备才能对数据库的访问进行正常和全面的审计的。常规的审计方法为在数据库上部署探针(Agent),该探针用于捕获全部对该数据库的访问流量并发送给审计设备。

在访问数据库的时候一般使用数据库客户端来进行访问,数据库客户端根据数据库的网络地址信息(例如IP地址和端口号)来访问数据库,在数据库上部署的探针也能够获取客户端的网络地址信息(例如IP地址和端口号),从而能够对数据库客户端的访问进行进行审计。

在实际网络拓扑中,在数据库客户端和数据库之间可能存在代理设备,即数据库客户端访问代理设备的网络地址信息,然后代理设备在接收到数据库客户端的访问请求之后,将访问请求中携带的目的地址和端口更换成数据库的真实地址和端口号,将访问请求中的数据库客户端的地址和端口号更换为代理设备的网络地址和端口号。通过这样的处理方式,数据库客户端不需要知道数据库的真实地址就可以访问数据库,提供了一种安全保证。代理设备的种类有很多,例如防火墙就是一种代理设备,下面以防火墙为例说明存在代理设备时对数据库审计所带来的影响。

在存在防火墙时,由于防火墙是通过TCP链接代理来进行流量获取的,即防火墙设备上会给每个数据库IP地址+端口号(简称为IP+Port)创建一个对应的代理的IP+Port的监听服务,数据库客户端通过代理IP+Port进行数据库访问,防火墙收到访问后,会创建一个对应的TCP连接访问数据库,后续所有的数据库访问流量都由防火墙的代理服务做转发。这样会导致数据库审计系统审计到的所有会话的客户端IP都为防火墙的代理网络地址信息,失去了真实的访问源客户端的网络地址信息,造成审计信息丢失。

发明内容

本申请实施例提供了一种存在代理设备时的数据库审计处理方法和系统,以至少解决现有技术中通过代理设备转发数据库客户端的数据库访问流量所造成的审计信息丢失的问题。

根据本申请的一个方面,提供了一种存在代理设备时的数据库审计处理方法,包括:第一探针获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上,所述第一探针用于根据所述数据库的第一网路地址信息获取所述第一数据流量;所述第一探针将所述第一数据流量发送给审计设备;第二探针获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;所述第二探针将所述第二数据流量发送给所述审计设备。

进一步地,第一探针获取访问数据库的第一数据流量包括:所述第一探针获取到访问数据库的所有数据流量;所述第一探针从所述所有数据流量中剔除掉来自于所述代理设备的数据流量;所述第一探针将剔除掉来自所述代理设备的数据流量之后的剩余流量作为所述第一数据流量。

进一步地,所述第一探针从所述所有数据流量中剔除掉来自所述代理设备的数据流量包括:所述第一探针获取所述代理设备的源IP地址;所述第一探针将所述所有数据流量中源地址为所述代理设备的源IP地址的数据力量剔除掉。

进一步地,所述方法还包括:所述审计设备接收所述第一数据流量和所述第二数据流量;所述审计设备对所述第一数据流量和所述第二数据流量进行审计。

进一步地,所述审计设备对所述第一数据流量进行审计包括:所述审计设备从所述第一数据流量中剔除掉来自于所述代理设备的数据流量;所述审计设备对所述第一数据流量中剔除掉来自所述代理设备的数据流量之后的剩余流量进行审计。

根据本申请的另一个方面,还提供了一种存在代理设备时的数据库审计处理系统,包括:第一探针和第二探针,其中,所述第一探针用于获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上,所述第一探针用于根据所述数据库的第一网路地址信息获取所述第一数据流量;所述第一探针用于将所述第一数据流量发送给审计设备;所述第二探针用于获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;所述第二探针用于将所述第二数据流量发送给所述审计设备。

进一步地,所述第一探针用于获取到访问数据库的所有数据流量;所述第一探针用于从所述所有数据流量中剔除掉来自于所述代理设备的数据流量;所述第一探针用于将剔除掉来自所述代理设备的数据流量之后的剩余流量作为所述第一数据流量。

进一步地,所述第一探针用于获取所述代理设备的源IP地址;所述第一探针用于将所述所有数据流量中源地址为所述代理设备的源IP地址的数据力量剔除掉。

进一步地,还包括:审计设备,其中,所述审计设备用于接收所述第一数据流量和所述第二数据流量;所述审计设备用于对所述第一数据流量和所述第二数据流量进行审计。

进一步地,所述审计设备用于从所述第一数据流量中剔除掉来自于所述代理设备的数据流量;所述审计设备用于对所述第一数据流量中剔除掉来自所述代理设备的数据流量之后的剩余流量进行审计。

在本申请实施例中,采用了第一探针获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上,所述第一探针用于根据所述数据库的第一网路地址信息获取所述第一数据流量;所述第一探针将所述第一数据流量发送给审计设备;第二探针获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;所述第二探针将所述第二数据流量发送给所述审计设备。通过本申请解决了现有技术中通过代理设备转发数据库客户端的数据库访问流量所造成的审计信息丢失的问题,从而保证了审计信息的全面性,为提高数据库的安全性提供了帮助。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的存在代理设备时的数据库审计处理方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

以下实施例涉及到多个概念:数据库客户端、数据库、代理设备和探针。下面首先对这些概念进行说明。

代理设备

网络代理的功能就是代理网络用户去取得网络信息,代理设备即用于执行网络代理功能的设备。代理设备相当于是不让客户端和目标服务直接通信。例如,当客户端使用代理访问预定服务时,首先客户端发出的请求先传输到代理设备,经过代理设备的一系列处理之后,请求才会发送到预定服务。预定服务返回的信息也是由代理设备传送给客户端的。

数据库和数据库客户端

数据库一般分为服务端和客户端,用户在需要获取数据库中保存的数据的时候,通过客户端来访问服务端,服务端将用户请求的数据发送给客户端,通过这样的流程用户就可以从数据库获取数据。为了描述方便,在本实施例中将服务端称作是数据库,将客户端称为数据库客户端。

探针

探针是能够监听到网络数据包的一种程序或者插件,探针通过对预定网络地址的监听可以获取到访问该预定网络地址的全部网络数据流量,然后可以对该网络数据流量进行进一步处理。

在以下实施例中涉及到的方案能够应用到所有类型的代理设备上,例如,可以应用的代理设备可以包括数据库防火墙、负载均衡设备等。在以下实施例中使用数据库防火墙(或简称为防火墙)作为代理设备的例子进行说明。

在本实施例中,提供了一种存在代理设备时的数据库审计处理方法,图1是根据本申请实施例的存在代理设备时的数据库审计处理方法的流程图,如图1所示,下面对图1中涉及到的方法步骤进行说明。

步骤S102,第一探针获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上,所述第一探针用于根据所述数据库的第一网路地址信息获取所述第一数据流量;

步骤S104,所述第一探针将所述第一数据流量发送给审计设备;

步骤S106,第二探针获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;

步骤S108,所述第二探针将所述第二数据流量发送给所述审计设备。

作为一个可以增加的实施方式,审计设备还可以接收防火墙(或第二探针)发送的数据库IP地址和端口号与防火墙使用的作为代理的IP地址和端口号的对应关系;所述审计设备根据所述对应关系将所述第二数据流量中的作为代理的IP地址和端口号替换为所述数据库的IP地址和端口号;所述审计设备根据所述第二数据流量中的数据库客户端的IP地址和端口号和所述数据库的IP地址和端口号对所述第二数据流量进行审计。

作为另一个可以增加的实施方式,所述审计设备从所述第一数据流量中获取未经过所述代理设备的数据流量,所述审计设备从所述未经过代理设备的数据流量中获取源IP地址和端口号,并将获取到的源IP地址和端口号发送给所述代理设备。所述代理设备根据接收到的所述源IP地址和端口号进行配置,其中,所述配置用于使来自于所述源IP地址和端口号的数据流量经过所述代理设备。

作为另一个可以增加的方式,所述审计设备还可以获取所述第一数据流量中的数据包的时间戳,以及所述第二数据流量中的数据包的时间戳;所述审计设备根据获取到的时间戳对所述第一数据流量和所述第二数据流量中的数据包进行排序,所述审计设备按照排序后的数据包的顺序对所述第一数据流量和所述第二数据流量进行审计。

通过上述步骤,与现有技术中仅在数据库设置探针不同,上述步骤中设置了两个探针,其中一个设置在数据库上,另一个设置在代理设备上,这样就可以将代理设备上的数据库访问流量也转发给审计设备进行审计,因此,解决了现有技术中通过代理设备转发数据库客户端的数据库访问流量所造成的审计信息丢失的问题,从而保证了审计信息的全面性,为提高数据库的安全性提供了帮助。

在上述步骤中,虽然解决了审计信息丢失的问题,但是发送给审计设备的第一数据流量和第二数据流量之间会存在冗余数据,从而增加了审计设备的负担。为了解决这个问题,在本实施例中提供了两种可选方式。

方式一:所述第一探针获取到访问数据库的所有数据流量;所述第一探针从所述所有数据流量中剔除掉来自于所述代理设备的数据流量;所述第一探针将剔除掉来自所述代理设备的数据流量之后的剩余流量作为所述第一数据流量。例如,所述第一探针获取所述代理设备的源IP地址;所述第一探针将所述所有数据流量中源地址为所述代理设备的源IP地址的数据力量剔除掉。

方式二:所述审计设备接收所述第一数据流量和所述第二数据流量;所述审计设备对所述第一数据流量和所述第二数据流量进行审计。其中,所述审计设备对所述第一数据流量进行审计包括:所述审计设备从所述第一数据流量中剔除掉来自于所述代理设备的数据流量;所述审计设备对所述第一数据流量中剔除掉来自所述代理设备的数据流量之后的剩余流量进行审计。

在两种方式中,方式一是通过第一探针来进行数据筛选,方式二是通过审计设备来进行筛选,在实施时可以优先采用方式一。

在本可选实施方式中,将探针同时部署在防火墙和数据库上,其中,部署到数据库上的探针可以称为数据库探针或第一探针,部署到防火墙等代理设备上的探针可以称为代理设备探针或防火墙探针或第二探针。然后,将数据库的IP地址和端口号以及代理设备的IP地址和端口号同时作为审计对象添加到数据库审计系统(或者简称为审计设备)中。

在部署在数据库的第一探针上配置规则,该规则用于过滤掉所有源IP地址是为防火墙IP地址的数据库访问流量,只将不通过防火墙的数据库访问流量发送给数据库审计设备。即判断数据库访问流量的源IP地址是否为防火墙的IP地址,如果不是,则将数据库访问流量发送给审计设备进行审计,如果源IP地址是防火墙的IP地址,则不将该数据库访问流量发送给审计设备进行审计。在该步骤中,由于第一探针(Agent)知道防火墙的IP地址都是什么,因此第一探针从数据库上只抓取不经过防火墙的流量。

对于经过防火墙的数据库访问流量来说,首先,防火墙将数据库IP地址和端口号与防火墙使用的作为代理的IP地址和端口号的对应关系发送给数据库审计系统。数据库客户端在通过防火墙访问数据库的时候,使用的是作为代理的IP地址和端口号,这并不是真实的数据库的IP地址和端口号,即数据库客户端在通过防火墙访问数据库的时候,数据库客户端访问数据库IP地址和端口号,这个假的IP地址和端口号,真实的数据库的IP地址和端口号由防火墙进行转换。对于设置在防火墙上的第二探针而言,其探测到的数据库访问流量中对应的目的地址和端口号均是作为代理的IP地址和端口号,而不是真实的数据库IP地址和端口号。而数据库审计系统需要知道数据库客户端访问的数据库的真实IP地址和端口号。因此,需要防火墙将数据库IP地址和端口号与防火墙使用的作为代理的IP地址和端口号的对应关系发送给数据库审计系统。

数据库审计系统将接收到的来自于防火墙的探针的流量的审计记录,关联出代理IP地址和端口与真实数据库IP地址和端口号的对应关系,保证可以审计到完整的数据访问链条,不丢失原始数据库客户端网络地址信息和数据库的网路地址信息。

通过上述两个探针,可以做到将经过防火墙的数据库流量的从防火墙进行抓包审计,将不经过防火墙的从数据库进行抓包进行审计。

在存在代理设备时,是希望所有数据库客户端对数据的访问均通过代理设备来进行,尤其是对于数据库防火墙这类代理设备来说更是如此。在这种情况下,需要数据库客户端能主动访问主动访问代理设备的IP地址和端口号(或简称为IP和端口),才可以起到防护作用。如果数据库客户端直接使用数据库的IP地址和端口来访问数据库,则该数据库客户端就可以绕过防火墙来访问数据库,这种直接访问数据库IP和端口会造成防护缺失,且数据库防火墙无法发现。

对于审计设备来说,由于其记录了代理IP地址和端口与真实数据库IP地址和端口号,因此,对于所有无法关联出代理IP地址和端口的访问,即为不通过防火墙的流量,需要确认是否符合预期,是否存在风险。

通过上述可选实施方式可以解决上述场景中数据库审计系统无法审计到真实数据库客户端的网络地址信息的问题,且能同时审计到通过防火墙和不通过防火墙的全部数据库访问流量,且不产生重复的冗余审计记录。另外,数据库审计设备还可以利用上述实施方式了解所有不经过数据库防火墙的访问流量,并确认是否存在风险。

在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。

上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。

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

该本实施例中就提供了这样的一种装置或系统。该系统被称为一种存在代理设备时的数据库审计处理系统,包括:第一探针和第二探针,其中,所述第一探针用于获取访问数据库的第一数据流量,其中,所述第一探针设置在所述数据库上,所述第一探针用于根据所述数据库的第一网路地址信息获取所述第一数据流量;所述第一探针用于将所述第一数据流量发送给审计设备;所述第二探针用于获取访问所述数据库的第二数据流量,其中,所述第二探针设置在代理设备上,所述代理设备设置在数据库客户端与所述数据库之间,所述代理设备用于来自所述数据库客户端的第二数据流量转发给所述数据库;所述第二探针用于将所述第二数据流量发送给所述审计设备。

该系统或者装置用于实现上述的实施例中的方法的功能,该系统或者装置中的每个模块与方法中的每个步骤相对应,已经在方法中进行过说明的,在此不再赘述。

例如,所述第一探针用于获取到访问数据库的所有数据流量;所述第一探针用于从所述所有数据流量中剔除掉来自于所述代理设备的数据流量;所述第一探针用于将剔除掉来自所述代理设备的数据流量之后的剩余流量作为所述第一数据流量。

可选地,所述第一探针用于获取所述代理设备的源IP地址;所述第一探针用于将所述所有数据流量中源地址为所述代理设备的源IP地址的数据力量剔除掉。

又例如,还包括:审计设备,其中,所述审计设备用于接收所述第一数据流量和所述第二数据流量;所述审计设备用于对所述第一数据流量和所述第二数据流量进行审计。

可选地,所述审计设备用于从所述第一数据流量中剔除掉来自于所述代理设备的数据流量;所述审计设备用于对所述第一数据流量中剔除掉来自所述代理设备的数据流量之后的剩余流量进行审计。

通过上述实施方式,解决了现有技术中通过代理设备转发数据库客户端的数据库访问流量所造成的审计信息丢失的问题,从而保证了审计信息的全面性,为提高数据库的安全性提供了帮助。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号