CN109840264B - 一种应用程序数据库访问审计的方法和装置 - Google Patents

一种应用程序数据库访问审计的方法和装置 Download PDF

Info

Publication number
CN109840264B
CN109840264B CN201710777549.5A CN201710777549A CN109840264B CN 109840264 B CN109840264 B CN 109840264B CN 201710777549 A CN201710777549 A CN 201710777549A CN 109840264 B CN109840264 B CN 109840264B
Authority
CN
China
Prior art keywords
connection request
target database
request packet
database
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710777549.5A
Other languages
English (en)
Other versions
CN109840264A (zh
Inventor
潘赛赛
周春楠
赵贵阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yiyang Safety Technology Co ltd
Original Assignee
Yiyang Safety Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yiyang Safety Technology Co ltd filed Critical Yiyang Safety Technology Co ltd
Priority to CN201710777549.5A priority Critical patent/CN109840264B/zh
Publication of CN109840264A publication Critical patent/CN109840264A/zh
Application granted granted Critical
Publication of CN109840264B publication Critical patent/CN109840264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种应用程序数据库访问审计的方法和装置,所述方法包括:分析应用程序访问数据库的通讯包;确定所述数据包中可用来携带目标数据库地址的信息项;向数据库发送携带有目标数据库地址的连接请求包;启动端口代理模块,接收所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。本申请采用每一种数据库类型对应一个代理端口的数据库访问审计方式,这样对于端口代理模块来说,只需要在初始化时启动有限个端口代理服务即可,也不存在对于端口代理模块性能需求逐渐增加的问题。

Description

一种应用程序数据库访问审计的方法和装置
技术领域
本申请涉及数据库访问审计技术领域,特别地,涉及一种应用程序数据库访问审计的方法和装置。
背景技术
随着计算机技术的快速发展,企业逐渐趋向于信息化管理,而在信息化的过程中一定涉及应用程序对企业重要信息访问的安全问题。通常,在访问存储在数据库中的重要数据时,一旦因为企业工作人员的操作不当、安全意识薄弱或者利益驱使等导致数据丢失、泄露、损坏而不能及时被发现或处理,必然会给企业造成重大的经济损失,甚至会影响到企业的发展前景。
通常,应用程序访问数据库,执行各种各样的业务SQL或者存储过程,都会对数据产生影响。因此,为了使企业的数据更加安全,我们需要对来访问的各种工具软件或者应用程序进行合理的管控或者授权,对他们所做的操作进行审计,及早形成预警或提高应急响应速度。
现有的应用程序数据库访问审计技术的应用场景是指企业运维人员为了方便快捷地访问数据库资源,通常自己编写一个轻量的Java数据库连接(Java DataBaseConnectivity,JDBC)小程序来直接访问,这样不仅可以免于安装数据库客户端应用程序,而且还快速有效。常见的方案是端口代理,参见图1的具体实施方式,每个数据库资源前段都各自对应一个端口代理服务,应用程序如果要访问某一数据库资源,首先得明确该数据库所对应的代理端口才能正确访问到自己的真实目标,具体实现步骤如下:
(1)端口代理模块启动时,从数据库资源管理模块同步端口代理策略,并启动各代理端口服务;
(2)各代理端口服务接收到应用程序的连接请求时,从端口代理策略查询该端口对应的数据库资源;
(3)端口查询到自己对应的数据库,则将接收到的应用程序连接请求转发给相应数据库;
(4)端口接收到来自数据库的应答,再将应答转发给发起请求的应用程序。
现有的端口代理方案,以串行的方式接入到应用程序与目标数据库之间,并作为二者唯一的连接通道实现了应用程序访问数据库的安全控制与行为跟踪,但是这种方案在具体实施过程中存在一定的运维缺点:现有技术的端口代理方案中代理端口与数据库的关系是一对一的,即每增加一个数据库资源就需要开启一个新的端口代理服务作为访问该数据库的唯一通道。这样对于端口代理模块来说,必须实时知道新增的数据库及其对应的代理端口,对于应用程序来说则必须知道其要访问的数据库在端口代理模块中对应的代理端口值。
上述方案在实际操作中,对于数据库管理员来说,在新增数据库时,首先必须在端口代理模块所在服务器上为该数据库找到一闲置的端口作为新数据库的代理端口,而且还需要想办法通知端口代理模块,启动该端口的代理服务;其次,还得发布该端口,使得应用程序在访问数据库时能够准确查询到对应关系。这个过程中,如果新增数据库的端口代理服务在启动时出现异常,然后应用程序并不知道,那么从新增数据库的端口代理服务到应用程序之间的通道将不可使用从而影响到运维人员的工作效率。而且随着企业规模的不断壮大,数据库资源数量也在逐渐增加,端口代理模块所需的端口数量也随之增加,这样对于端口代理模块的性能要求也在增加。
发明内容
本申请提供一种应用程序数据库访问审计的方法,用于解决现有技术中数据库与端口代理一对一的瓶颈问题,当出现新数据库时端口代理模块不再需要启动一个新的端口代理服务,而是采用每一种数据库类型对应一个代理端口。对于端口代理模块来说,只需要在初始化时启动有限个端口代理服务即可,也不存在对于端口代理模块性能需求逐渐增加的问题。本申请同时解决使用端口代理的过程中,端口代理服务接收到来自应用程序的访问时如何知晓其真正的访问目标数据库。
本申请公开的一种应用程序数据库访问审计的方法,其特征在于,所述方法包括:
分析应用程序访问数据库的通讯包;
确定所述通讯包中可用来携带目标数据库地址的信息项;
向数据库发送携带有目标数据库地址的连接请求包;
启动端口代理模块,接收所述连接请求包;
端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
优选地,所述确定所述通讯包中可用来携带目标数据库地址的信息项的步骤之后,还包括:
根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中。
优选地,所述约定的格式为将目标数据库地址添加在所述信息项的原始内容前面。
优选地,所述端口代理服务解析所述连接请求包,具体包括:
端口代理模块通过协议解析所述连接请求包,根据约定的格式对所述信息项内容进行分解,得到目标数据库地址和所述信息项原始内容。
优选地,所述将携带有目标数据库地址的信息项置换为目标数据可识别的正确值,具体包括:
根据约定的格式删除所述连接请求包信息项中的目标数据库地址;
得到置换后的连接请求包。
优选地,在所述将携带有目标数据库地址的信息置换为目标数据可识别的正确值的步骤之前,还包括:
定位所述连接请求包包头表示长度值的位置一;
将所述位置一对应的值减去所述目标数据库地址的长度值,得到置换后的连接请求包包头长度值;
定位所述连接请求包的可变数据中表示连接请求信息长度值的位置二;
将所述位置二对应的值减去所述目标数据库地址的长度得到置换后的连接请求包中表示连接请求信息长度的值。
本申请公开的一种应用程序数据库访问审计的装置,其特征在于,所述装置包括:
分析模块,用于分析应用程序访问数据库的通讯包;
信息项确定模块,用于确定所述通讯包中可用来携带目标数据库地址的信息项;
发送模块,用于向数据库发送携带有目标数据库地址的连接请求包;
接收模块,用于启动端口代理模块,接收所述连接请求包;
置换转发模块,用于端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
优选的,所述装置还包括:
添加模块,用于根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中。
优选的,所述置换转发模块,具体包括:
删除子模块,用于根据约定的格式删除所述连接请求包信息项中的目标数据库地址;
得到置换后的连接请求包。
优选的,所述装置还包括:
第一定位模块,用于定位所述连接请求包包头表示长度值的位置一;
第一置换模块,用于将所述位置一对应的值减去所述目标数据库地址的长度值,得到置换后的连接请求包包头长度值;
第二定位模块,用于定位所述连接请求包的可变数据中表示连接请求信息长度值的位置二;
第二置换模块,用于将所述位置二对应的值减去所述目标数据库地址的长度得到置换后的连接请求包中表示连接请求信息长度的值。
与现有技术相比,本申请具有以下优点:本申请用于应用程序数据库访问技术的端口代理模式克服了数据库与代理端口一对一的瓶颈问题,采用每一种数据库类型对应或占用一个代理端口,当出现新数据库时,端口代理模块不再需要启动一个新的端口代理模块,端口代理模块只需要在初始化时启动有限个端口代理服务即可,也不存在性能需求逐渐增加的问题,不仅减少了后期端口代理模块的运维工作量而且还不会因为数据库资源的增加影响到端口代理模块的性能。
附图说明
附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请应用场景示意图;
图2为本申请实施例一种应用程序数据库访问审计的方法流程图;
图3为本申请优选方法实施例中连接请求包的数据格式;
图4为本申请优选方法实施例中添加目标数据库地址后的连接请求包的数据格式;
图5为本申请实施例一种应用程序数据库访问审计的装置结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
应用程序数据库访问审计技术主要指通过端口服务来代理应用程序对企业数据库资源的直接访问,从而实现应用程序对数据库访问的行为审计和控制。
本申请的应用场景,参照图1,首先需要用户通过管理手段,要求所有应用程序将数据库的原直连方式调整为与端口代理服务接口相连的方式。然后在数据库侧进行网络访问的限定设置,设置为只接收端口代理服务发起的连接请求。
设置后,终端到数据库的访问通道必须经过程序堡垒机才可连通,程序堡垒机的首要作用便是可以集中管控和审计来自终端应用程序对数据库资源的访问行为。
所谓集中管控和审计,指终端应用程序对程序堡垒机接入的数据库资源的访问统一进行鉴权识别、行为控制、行为审计等操作来确保数据库资源中重要数据的安全性。即如果终端应用程序对数据库的访问是非授权的、或者操作是非法的、或者操作涉及到比较敏感的数据、或者某次访问涉及的数据量超出了最大限额等,程序堡垒机都能够进行及时的阻断或者应急处理。
上述集中管控和审计的前提是,程序堡垒机在接收到来自应用程序的访问时,能够准确判断出应用程序要真正访问的目标数据库才可以完成后续的鉴权和行为控制与审计。本申请提出的一种应用程序数据库访问的审计方法,可行性强且易于维护。
参照图2,示出了本申请实施例一种应用程序数据库访问审计的方法流程图,本实施例以oracle数据库为例进行说明。本优选方法实施例包括以下步骤:
步骤S201:分析应用程序访问数据库的通讯包。
以端口代理服务192.168.1.118:10008端口接收oracle数据库的连接请求为例,如果某一JDBC程序要访问目标oracle数据库,连接信息如下:
Ip:192.168.1.11
Port:1521
Sid:smccorcl
Username:smcc
Password:Ab123456
则,JDBC程序连接数据库时发送的信息如下:
oracle.open("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@//192.168.1.118:10008/smccorcl","smcc","Ab123456",false,"")
通过上述JDBC程序连接信息,即可将JDBC程序的连接请求成功的定向到了192.168.1.118:10008的端口代理服务,该端口便可完全代理本次应用程序对数据库资源的访问。端口收到的来自应用程序的第一个包(即连接请求包)的数据格式参见图3蓝色阴影部分。
虽然端口代理服务成功接收到了来自应用程序的连接请求包,但是该包需要被转发到真正的目标数据库192.168.1.11:1521处,端口代理服务从接收的连接请求包并不能知晓,因此,本申请需要解决如何让端口代理服务指导转发包真正目的数据库地址的问题。
本申请通过对端口代理服务收到的第一个包做分析,发现可修改的信息项为ADDRESS中的HOST和PORT项,以及SERVICE_NAME项,其他信息都无法被修改。
步骤S202:确定所述通讯包中可用来携带目标数据库地址的信息项。
其中,ADDRESS中HOST和PORT项是应用程序连接代理端口时的信息,必须为正确信息。因此,可用来携带目标数据库地址的信息项可确定为SERVICE_NAME项,通过修改使SERVICE_NAME项携带有目标数据库地址的连接信息,当端口代理服务收到后还可以置换为去除目标数据库地址信息后正确的连接信息。
所述方法还包括步骤:根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中。
优选地,所述约定的格式为将目标数据库地址直接添加到所述信息项原始内容的前面,即目标数据库地址SERVICE_NAME原始内容。所述约定的格式也可以是别的格式,如SERVICE_NAME原始内容目标数据库地址,只要约定好一个固定格式就行,在应用程序访问端口代理服务时遵循该约定即可。
因此,用JDBC程序填写连接oracle数据库的基本信息时,可以如下:
oracle.open("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@//192.168.1.118:10008/192.168.1.11.smccorcl","smcc","Ab123456",false,"");
步骤S203:向数据库发送携带有目标数据库地址的连接请求包。
步骤S204:启动端口代理模块,接收所述连接请求包。
SERVICE_NAME项携带真实目标数据库地址,端口代理服务收到的第一个连接请求包,则如图4蓝色阴影部分所示。
步骤S205:端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
比较分析图3未携带目标数据库地址的阴影部分信息及图4携带有目标数据库地址的阴影部分信息,可发现包的变化如下:
(1)连接请求包的长度,从00DA变为00E7,参见图4第一个方框;
(2)连接请求信息的长度,从B8变为了C5,参见图4第二个方框;
(3)SERVICE_NAME项,从smccorcl变为192.168.1.11.smccorcl。
以上(1)—(2)两个长度值的变化显然是由于SERVICE_NAME项中携带了表示目标数据库地址的多余信息导致。通过协议解析收到的连接请求包,端口代理模块可以将解析出的SERVICE_NAME项信息根据约定的格式进行分解,得到目标数据库地址“192.168.1.11.”和信息项原始内容“smccorcl”。
这样通过SERVICE_NAME项携带目标地址的方法,端口代理服务获取到了真正的目标数据库地址,但在端口代理服务向目标数据库地址转发该包时,如果原样转发携带有目标数据库地址的连接请求包,由于目标数据库对于携带有目标数据库地址的SERVICE_NAME项将不可识别,因此需要在转发连接请求包之前,将SERVICE_NAME项信息置换为目标数据库可识别的正确SERVICE_NAME项。
参见图3和图4阴影部分,比较SERVICE_NAME项未携带目标数据库地址的连接包包头结构与携带目标数据库地址的连接包包头结构,可发现包头中只有表示长度的位置因为携带有目标数据库地址而有所区别,其他位置的值都一样,并且长度位置上相差的值为13(13为目标数据库地址“192.168.1.11.”字符串的长度)。因此,在置换SERVICE_NAME项的信息时需要同时修改连接包包头处代表长度的值及可变数据中代表长度的值。
Oracle数据库服务端和客户端通讯的协议为TNS协议,每个TNS完整数据包都包含一个通用包头和数据,所述数据内容可变,如表1所示:
表1TNS数据包格式
Common Packet Header 8 通用包头
Data 可变 数据
其中,通用包头表明接收数据的长度及相关校验和解析的信息,通用包头结构如表2所示:
表2
因此,在置换SERVICE_NAME项信息前,还需要修改通用包包头表示长度的值及可变数据中表示连接请求信息长度的值,具体步骤如下:
首先,定位通用包头中表示包长度的值的位置一。
本优选实施例中,TNS数据包通用包头中表示包长度值是通用包头中的头两个字节,参见图4第一个方框。
然后,将因携带有目标数据地址的通用包头长度值减去目标数据地址字符串的长度,得到置换后的通用包头长度值。
本实施例中,用图4第一个方框的0x00E7减去目标数据库地址“192.168.1.11.”的长度值13,即0x0D,得到置换后的正确的通用包头长度值0x00DA。
定位可变数据中表示连接请求信息长度值的位置二。
本优选实施例中,跳过TNS数据包8个字节的通用包头,在可变数据的第17、18字节位置处的数据为表示可变数据连接请求信息的长度。参见图4第二个方框。
然后,将因携带有目标数据地址的可变数据连接请求信息长度值减去目标数据地址字符串的长度,得到置换后的可变数据连接请求信息长度值。
本优选实施例中,用图4第二个方框表示可变数据连接请求信息长度的值0x00C5减去目标数据库地址“192.168.1.11.”的长度值13,即0x0D,得到置换后的正确的可变数据连接请求长度值0x00B8。
置换SERVICE_NAME项信息。
本优选实施例中,SERVICE_NAME项携带目标数据库地址后为“192.168.1.11.smccorcl”,此步骤中,需要根据约定的格式将解析得到的目标数据库地址从SERVICE_NAME项中删除,置换为正确的SERVICE_NAME值,即“smccorcl”。
经过上述三个步骤的置换后,得到置换后的正确的可被目标数据库识别的连接请求包。
本申请通过对应用程序访问数据库的通讯包进行分析,发现整个通讯过程中产生的第一个包即连接请求包,里边包含有发起请求时所给出的代理端口地址及可以被修改的信息项,以oracle数据库为例,只有SERVICE_NAME项可作为携带目标数据库地址的可改项,在应用程序创建连接请求时,将目标数据库地址通过与端口代理服务约定好的方式添加到SERVICE_NAME项中。这样,当端口代理模块接收到来自应用程序的连接请求时,经过协议解析获取SERVICE_NAME项的当前值,按约定好的格式从SERVICE_NAME项中分解出目标数据库地址并建立端口代理模块与目标数据库之间的通讯连接。将连接请求包中表示通用包头长度、可变数据连接请求信息长度和SERVICE_NAME项置换为为目标数据库可识别的正确值,再向目标数据库转发。
本申请只是以oracle数据库为例,确定SERVICE_NAME项为携带目标数据库地址的信息项。本申请并不限定数据库类型,其他数据库类型与本优选实施例的oracle数据库方案一致。
对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为根据本申请,某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参照图5,示出了本申请实施例一种应用程序数据库访问审计的装置结构示意图,包括:
分析模块51,用于分析应用程序访问数据库的通讯包;
信息项确定模块52,用于确定所述通讯包中可用来携带目标数据库地址的信息项;
发送模块53,用于向数据库发送携带有目标数据库地址的连接请求包;
接收模块54,用于启动端口代理模块,接收所述连接请求包;
置换转发模块55,用于端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
优选的,所述装置还包括:添加模块,用于根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中。
优选的,所述置换转发模块,具体包括:
删除子模块,用于根据约定的格式删除所述连接请求包信息项中的目标数据库地址;
得到置换后的连接请求包。
优选的,所述装置还包括:
第一定位模块,用于定位所述连接请求包包头表示长度值的位置一;
第一置换模块,用于将所述位置一对应的值减去所述目标数据库地址的长度值,得到置换后的连接请求包包头长度值;
第二定位模块,用于定位所述连接请求包的可变数据中表示连接请求信息长度值的位置二;
第二置换模块,用于将所述位置二对应的值减去所述目标数据库地址的长度得到置换后的连接请求包中表示连接请求信息长度的值。
需要说明的是,上述装置实施例属于优选实施例,所涉及的单元和模块并不一定是本申请所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请所提供的一种应用程序数据库访问审计方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (6)

1.一种应用程序数据库访问审计的方法,其特征在于,所述方法包括:
分析应用程序访问数据库的通讯包;
确定所述通讯包中可用来携带目标数据库地址的信息项;
根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中;
向数据库发送携带有目标数据库地址的连接请求包;
启动端口代理模块,接收所述连接请求包;
定位所述连接请求包包头表示长度值的位置一;将所述位置一对应的值减去所述目标数据库地址的长度值,得到置换后的连接请求包包头长度值;定位所述连接请求包的可变数据中表示连接请求信息长度值的位置二;将所述位置二对应的值减去所述目标数据库地址的长度得到置换后的连接请求包中表示连接请求信息长度的值;
端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述约定的格式为将目标数据库地址添加在所述信息项的原始内容前面。
3.根据权利要求1所述的方法,其特征在于,所述端口代理模块解析所述连接请求包,具体包括:
端口代理模块通过协议解析所述连接请求包,根据约定的格式对所述信息项内容进行分解,得到目标数据库地址和所述信息项原始内容。
4.根据权利要求1所述的方法,其特征在于,所述将携带有目标数据库地址的信息项置换为目标数据可识别的正确值,具体包括:
根据约定的格式删除所述连接请求包信息项中的目标数据库地址;
得到置换后的连接请求包。
5.一种应用程序数据库访问审计的装置,其特征在于,所述装置包括:
分析模块,用于分析应用程序访问数据库的通讯包;
信息项确定模块,用于确定所述通讯包中可用来携带目标数据库地址的信息项;
添加模块,用于根据约定的格式将所述应用程序访问的目标数据库地址添加到所述信息项中;
发送模块,用于向数据库发送携带有目标数据库地址的连接请求包;
接收模块,用于启动端口代理模块,接收所述连接请求包;
第一定位模块,用于定位所述连接请求包包头表示长度值的位置一;
第一置换模块,用于将所述位置一对应的值减去所述目标数据库地址的长度值,得到置换后的连接请求包包头长度值;
第二定位模块,用于定位所述连接请求包的可变数据中表示连接请求信息长度值的位置二;
第二置换模块,用于将所述位置二对应的值减去所述目标数据库地址的长度得到置换后的连接请求包中表示连接请求信息长度的值;
置换转发模块,用于端口代理模块解析所述连接请求包,将携带有目标数据库地址的信息项置换为目标数据库可识别的正确值,并将置换后的连接请求包转发到所述目标数据库。
6.根据权利要求5所述的装置,其特征在于,所述置换转发模块,具体包括:
删除子模块,用于根据约定的格式删除所述连接请求包信息项中的目标数据库地址;得到置换后的连接请求包。
CN201710777549.5A 2017-09-01 2017-09-01 一种应用程序数据库访问审计的方法和装置 Active CN109840264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710777549.5A CN109840264B (zh) 2017-09-01 2017-09-01 一种应用程序数据库访问审计的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710777549.5A CN109840264B (zh) 2017-09-01 2017-09-01 一种应用程序数据库访问审计的方法和装置

Publications (2)

Publication Number Publication Date
CN109840264A CN109840264A (zh) 2019-06-04
CN109840264B true CN109840264B (zh) 2023-10-03

Family

ID=66875735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710777549.5A Active CN109840264B (zh) 2017-09-01 2017-09-01 一种应用程序数据库访问审计的方法和装置

Country Status (1)

Country Link
CN (1) CN109840264B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420007B (zh) * 2021-03-31 2023-09-26 阿里巴巴新加坡控股有限公司 数据库访问的审计处理方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739654A (zh) * 2012-06-08 2012-10-17 北京久其软件股份有限公司 一种实现应用程序访问数据库的方法
CN103310161A (zh) * 2012-03-14 2013-09-18 北京海泰方圆科技有限公司 一种用于数据库系统的防护方法及系统
CN103488765A (zh) * 2013-09-28 2014-01-01 雷虹 一种代理数据库的访问驱动及其数据访问方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428752B2 (en) * 2001-06-01 2008-09-23 Applications In Internet Time, Llc Secure data accessing system and method
US20070198524A1 (en) * 2006-02-09 2007-08-23 International Business Machines Corporation Maintaining connections between application servers and databases in a multitier computer architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310161A (zh) * 2012-03-14 2013-09-18 北京海泰方圆科技有限公司 一种用于数据库系统的防护方法及系统
CN102739654A (zh) * 2012-06-08 2012-10-17 北京久其软件股份有限公司 一种实现应用程序访问数据库的方法
CN103488765A (zh) * 2013-09-28 2014-01-01 雷虹 一种代理数据库的访问驱动及其数据访问方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
权元文.基于TNS的Oracle数据库安全增强系统设计与实现.《电脑编程技巧与维护》.2011,(第242期),第142-144,171页. *

Also Published As

Publication number Publication date
CN109840264A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
CN100433659C (zh) 一种流量统计方法及流量采集器
CN112217771B (zh) 基于租户信息的数据转发方法及数据转发装置
US11956210B2 (en) Method and apparatus for transmitting application programming interface API request
CN110912944B (zh) 一种can设备安全测试系统及测试方法
CN103763121A (zh) 一种网络配置信息快速下发的方法及装置
CN111262859A (zh) 一种物联智能终端自适应接入泛在电力物联网的方法
CN109284140B (zh) 配置方法及相关设备
CN110677383B (zh) 防火墙开墙方法、装置、存储介质及计算机设备
CN111984561B (zh) 一种bmc的ipmi命令处理方法、系统、设备以及介质
WO2020248375A1 (zh) 数据库间数据同步方法、系统、计算机设备及存储介质
CN108833565A (zh) 一种监控服务器的方法、装置、服务器和存储介质
CN111901317B (zh) 一种访问控制策略处理方法、系统和设备
CN112052227A (zh) 数据变更日志的处理方法、装置和电子设备
CN107911496A (zh) 一种vpn服务端代理dns的方法及装置
CN109840264B (zh) 一种应用程序数据库访问审计的方法和装置
CN109063070B (zh) 一种数据库的操作方法及数据库服务器
CN111224891B (zh) 一种基于动态学习三元组的流量应用识别系统及方法
CN115514579B (zh) 基于IPv6地址映射流标签实现业务标识的方法及系统
CN116483519A (zh) 宿主机和虚拟机的通信控制方法、设备和存储介质
CN113778709B (zh) 接口调用方法、装置、服务器及存储介质
CN109981342A (zh) 一种批量处理网络设备操作命令的方法及系统
CN113992739B (zh) 一种局域网ota固件升级装置、方法及系统
CN105991465B (zh) 一种应用程序业务处理的方法、设备和系统
CN113285904A (zh) 基于rdp的磁盘映射文件信息的解析方法
US11416557B2 (en) System and method to identifying network appliances by data endpoints

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant