CN113158226A - 基于SSL连接PostGreSQL数据库审计的实现方法及系统 - Google Patents
基于SSL连接PostGreSQL数据库审计的实现方法及系统 Download PDFInfo
- Publication number
- CN113158226A CN113158226A CN202110242859.3A CN202110242859A CN113158226A CN 113158226 A CN113158226 A CN 113158226A CN 202110242859 A CN202110242859 A CN 202110242859A CN 113158226 A CN113158226 A CN 113158226A
- Authority
- CN
- China
- Prior art keywords
- auditing
- postgresql database
- sql
- audit
- data
- 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.)
- Pending
Links
- 238000012550 audit Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims description 65
- 238000000605 extraction Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 2
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SSL连接PostGreSQL数据库审计的实现方法,包括以下步骤:在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立SSL连接通道;获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将其发送的SQL请求发送给审计系统;通过审计系统对SQL请求中的待审计SQL语句进行审计,并生成审计数据;将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。本发明还公开了一种基于SSL连接PostGreSQL数据库审计的实现系统。本发明在保证数据传输安全的同时,可达到PostGreSQL数据库有效审计效果。
Description
技术领域
本发明涉及数据库审计技术领域,具体而言,涉及一种基于SSL连接PostGreSQL数据库审计的实现方法及系统。
背景技术
当前使用PostGreSQL数据库的过程中,如果PostGreSQL启用SSL加密传输,想要审计SQL内容的话,就需要PostGreSQL关闭SSL连接,才能审计传输内容,这样的话,整个传输线路需要明文传输,降低了安全性,资源消耗大。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现方法及系统,在保证数据传输安全的情况下,同时能够达到PostGreSQL数据库有效审计效果,减少资源消耗。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现方法,包括以下步骤:
在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
为了解决现有技术中的数据审计不安全,以及审计资源消耗大的问题,本方法通过在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,无需额外的审计资源消耗,且所有数据的传输都是基于SSL加密通道进行的,保证了数据审计时的安全性。建立审计系统与PostGreSQL数据库客户端的SSL连接通道以及建立审计系统与PostGreSQL数据库服务器之间的SSL连接通道,保证审计系统与客户端以及服务器之间数据传输安全性;连接完成后,当获取到PostGreSQL数据库客户端发送SQL请求后,通过审计系统与PostGreSQL数据库客户端之间的SSL连接通道将SQL请求加密传输给审计系统,保证数据传输的安全性;审计系统受到加密后的SQL请求后,在审计系统内采用加密协议对SQL请求进行解密,以得到明文数据,然后,对明文数据进行审计;审计完成后,通过审计系统与PostGreSQL数据库服务器之间的SSL连接通道将审计后的SQL数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间的数据交互。
本方法对PostGreSQL数据库的数据进行审计,将审计系统与PostGreSQL数据库进行连接,所有的数据操作都是在加密的情况下进行操作的,在对数据进行审计时,也是在审计系统内部进行,整个过程还是在加密环境下进行,保证了数据审计的安全性。
基于第一方面,在本发明的一些实施例中,上述建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道的方法包括以下步骤:
获取审计系统的IP;
将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
基于第一方面,在本发明的一些实施例中,上述通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计的方法包括以下步骤:
通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
将SQL语句解析数据中的待审计SQL语句进行审计。
基于第一方面,在本发明的一些实施例中,上述对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据的方法包括以下步骤:
对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;
对SQL语句进行解析,以得到SQL语句的表名和列名。
基于第一方面,在本发明的一些实施例中,上述将SQL语句解析数据中的待审计SQL语句进行审计的方法包括以下步骤:
A1、判断SQL语句解析数据是否需要进行审计,如果是,则进入步骤A2;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器;
A2、根据预设的审计策略对SQL语句解析数据进行审计。
第二方面,本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现系统,包括审计引入模块、请求获取模块、审计模块以及数据发送模块,其中:
审计引入模块,用于在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
请求获取模块,用于获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
审计模块,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
数据发送模块,用于通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
为了解决现有技术中的数据审计不安全,以及审计资源消耗大的问题,本方法通过在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,无需额外的审计资源消耗,且所有数据的传输都是基于SSL加密通道进行的,保证了数据审计时的安全性。通过审计引入模块建立审计系统与PostGreSQL数据库客户端的SSL连接通道以及建立审计系统与PostGreSQL数据库服务器之间的SSL连接通道,保证审计系统与客户端以及服务器之间数据传输安全性;连接完成后,当请求获取模块获取到PostGreSQL数据库客户端发送SQL请求后,通过审计系统与PostGreSQL数据库客户端之间的SSL连接通道将SQL请求加密传输给审计系统,保证数据传输的安全性;审计系统受到加密后的SQL请求后,在审计系统内采用加密协议对SQL请求进行解密,以得到明文数据,然后,对明文数据进行审计;审计完成后,数据发送模块通过审计系统与PostGreSQL数据库服务器之间的SSL连接通道将审计后的SQL数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间的数据交互。
本系统对PostGreSQL数据库的数据进行审计,将审计系统与PostGreSQL数据库进行连接,所有的数据操作都是在加密的情况下进行操作的,在对数据进行审计时,也是在审计系统内部进行,整个过程还是在加密环境下进行,保证了数据审计的安全性。
基于第二方面,在本发明的一些实施例中,上述审计引入模块包括IP获取子模块、代理配置子模块以及通道建立子模块,其中:
IP获取子模块,用于获取审计系统的IP;
代理配置子模块,用于将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
通道建立子模块,用于代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
基于第二方面,在本发明的一些实施例中,上述审计模块包括明文提取子模块、解析子模块以及语句审计子模块,其中:
明文提取子模块,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
解析子模块,用于对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
语句审计子模块,用于将SQL语句解析数据中的待审计SQL语句进行审计。
基于第二方面,在本发明的一些实施例中,上述解析子模块包括协议解析单元和列表解析单元,其中:
协议解析单元,用于对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;
列表解析单元,用于对SQL语句进行解析,以得到SQL语句的表名和列名。
基于第二方面,在本发明的一些实施例中,上述语句审计子模块包括判断单元和审计单元,其中:
判断单元,用于判断SQL语句解析数据是否需要进行审计,如果是,则审计单元工作;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器
审计单元,用于根据预设的审计策略对SQL语句解析数据进行审计。
本发明实施例至少具有如下优点或有益效果:
本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现方法及系统,为了解决现有技术中的数据审计不安全,以及审计资源消耗大的问题,本方法通过在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,无需额外的审计资源消耗,且所有数据的传输都是基于SSL加密通道进行的,保证了数据审计时的安全性。本发明对PostGreSQL数据库的数据进行审计,将审计系统与PostGreSQL数据库进行连接,所有的数据操作都是在加密的情况下进行操作的,在对数据进行审计时,也是在审计系统内部进行,整个过程还是在加密环境下进行,保证了数据审计的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一种基于SSL连接PostGreSQL数据库审计的实现方法的流程图;
图2为本发明实施例一种基于SSL连接PostGreSQL数据库审计的实现方法中数据审计的流程图;
图3为本发明实施例一种基于SSL连接PostGreSQL数据库审计的实现系统的原理框图。
图标:100、审计引入模块;110、IP获取子模块;120、代理配置子模块;130、通道建立子模块;200、请求获取模块;300、审计模块;310、明文提取子模块;320、解析子模块;321、协议解析单元;322、列表解析单元;330、语句审计子模块;331、判断单元;332、审计单元;400、数据发送模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例
如图1所示,第一方面,本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现方法,包括以下步骤:
S1、在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
在本发明的一些实施例中,建立审计系统与PostGreSQL数据库客户端的SSL连接通道以及建立审计系统与PostGreSQL数据库服务器之间的SSL连接通道,保证审计系统与客户端以及服务器之间数据传输安全性。
S2、获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
在本发明的一些实施例中,连接完成后,当获取到PostGreSQL数据库客户端发送SQL请求后,通过审计系统与PostGreSQL数据库客户端之间的SSL连接通道将SQL请求加密传输给审计系统,保证数据传输的安全性。
S3、通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
在本发明的一些实施例中,审计系统受到加密后的SQL请求后,在审计系统内采用加密协议对SQL请求进行解密,以得到明文数据,然后,对明文数据进行审计。
S4、通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
在本发明的一些实施例中,审计完成后,通过审计系统与PostGreSQL数据库服务器之间的SSL连接通道将审计后的SQL数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间的数据交互。
为了解决现有技术中的数据审计不安全,以及审计资源消耗大的问题,本方法通过在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,无需额外的审计资源消耗,且所有数据的传输都是基于SSL加密通道进行的,保证了数据审计时的安全性。本方法对PostGreSQL数据库的数据进行审计,将审计系统与PostGreSQL数据库进行连接,所有的数据操作都是在加密的情况下进行操作的,在对数据进行审计时,也是在审计系统内部进行,整个过程还是在加密环境下进行,保证了数据审计的安全性。
基于第一方面,在本发明的一些实施例中,上述建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道的方法包括以下步骤:
获取审计系统的IP;
将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
PostGreSQL数据库客户端和PostGreSQL数据库服务器配置审计系统的IP作为数据库的代理IP,通过TCP代理中TCP服务器的将PostGreSQL数据库客户端与审计系统建立SSL连接,通过TCP代理中TCP客户端的将PostGreSQL数据库服务器与审计系统建立SSL连接。保证PostGreSQL数据库客户端与审计系统以及PostGreSQL数据库服务器与审计系统之间的数据传输都是在加密情况下进行的。
基于第一方面,在本发明的一些实施例中,上述通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计的方法包括以下步骤:
通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
将SQL语句解析数据中的待审计SQL语句进行审计。
在本发明的一些实施例中,上述对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据的方法包括以下步骤:
对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;对SQL语句进行解析,以得到SQL语句的表名和列名。
审计系统主要包括:
TCP客户端(包含SSL模块):用于和数据库建立SSL连接;
TCP服务端(包含SSL模块):用于和客户端建立SSL连接;
转发模块:用于从客户端收到的数据转发给数据库,采样比较成熟的NGINXTCP转发模块,优点是稳定,性能高;
SQL审计模块:用于审计客户端查询的SQL;
postgresql协议解析模块:用于frontend/backend通信协议的数据包解析;
SQL解析模块:用于解析SQL,包括SQL的词法分析程序和语法分析程序;
审计策略模块:用于配置审计策略,包括配置数据库,表,字段,审计时间,审计IP,发送的审计IP地址等。
审计系统对数据进行审计的具体方法包括:
PostGreSQL数据库客户端发送SQL请求时,请求SQL通过SSL通道加密传输给审计系统,审计系统接收到请求后,剥离SSL层获取到SQL请求的明文数据包,然后,审计系统调用协议解析模块解析出请求SQL,接着,审计系统调用SQL解析模块解析出SQL语句的表名和列名,当需要审计时,审计系统把当前SQL,请求时间,请求IP,以及当前登录用户发送给审计策略模块配置的审计系统的服务器进行审计。
如图2所示,基于第一方面,在本发明的一些实施例中,上述将SQL语句解析数据中的待审计SQL语句进行审计的方法包括以下步骤:
A1、判断SQL语句解析数据是否需要进行审计,如果是,则进入步骤A2;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器;
A2、根据预设的审计策略对SQL语句解析数据进行审计。
在审计系统接收到SQL请求后,需要判断是否需要对SQL语句解析数据进行审计,调用审计系统的审计策略模块判断当前SQL是否需要进行审计,如果需要审计:审计系统把当前SQL,请求时间,请求IP,以及当前登录用户发送给审计策略模块配置的服务器对SQL语句解析数据进行审计,如果是不需要审计,则直接将SQL语句解析数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间数据的交互。
如图3所示,第二方面,本发明实施例提供一种基于SSL连接PostGreSQL数据库审计的实现系统,包括审计引入模块100、请求获取模块200、审计模块300以及数据发送模块400,其中:
审计引入模块100,用于在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
请求获取模块200,用于获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
审计模块300,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
数据发送模块400,用于通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
为了解决现有技术中的数据审计不安全,以及审计资源消耗大的问题,本方法通过在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,无需额外的审计资源消耗,且所有数据的传输都是基于SSL加密通道进行的,保证了数据审计时的安全性。通过审计引入模块100建立审计系统与PostGreSQL数据库客户端的SSL连接通道以及建立审计系统与PostGreSQL数据库服务器之间的SSL连接通道,保证审计系统与客户端以及服务器之间数据传输安全性;连接完成后,当请求获取模块200获取到PostGreSQL数据库客户端发送SQL请求后,通过审计系统与PostGreSQL数据库客户端之间的SSL连接通道将SQL请求加密传输给审计系统,保证数据传输的安全性;审计系统受到加密后的SQL请求后,在审计系统内采用加密协议对SQL请求进行解密,以得到明文数据,然后,对明文数据进行审计;审计完成后,数据发送模块400通过审计系统与PostGreSQL数据库服务器之间的SSL连接通道将审计后的SQL数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间的数据交互。
本系统对PostGreSQL数据库的数据进行审计,将审计系统与PostGreSQL数据库进行连接,所有的数据操作都是在加密的情况下进行操作的,在对数据进行审计时,也是在审计系统内部进行,整个过程还是在加密环境下进行,保证了数据审计的安全性。
如图3所示,基于第二方面,在本发明的一些实施例中,上述审计引入模块100包括IP获取子模块110、代理配置子模块120以及通道建立子模块130,其中:
IP获取子模块110,用于获取审计系统的IP;
代理配置子模块120,用于将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
通道建立子模块130,用于代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
通过IP获取子模块110道获取审计系统的IP后,代理配置子模块120将PostGreSQL数据库客户端和PostGreSQL数据库服务器配置审计系统的IP作为数据库的代理IP,配置完成后,通道建立子模块130通过TCP代理中TCP服务器的将PostGreSQL数据库客户端与审计系统建立SSL连接,通过TCP代理中TCP客户端的将PostGreSQL数据库服务器与审计系统建立SSL连接。保证PostGreSQL数据库客户端与审计系统以及PostGreSQL数据库服务器与审计系统之间的数据传输都是在加密情况下进行的。
如图3所示,基于第二方面,在本发明的一些实施例中,上述审计模块300包括明文提取子模块310、解析子模块320以及语句审计子模块330,其中:
明文提取子模块310,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
解析子模块320,用于对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
语句审计子模块330,用于将SQL语句解析数据中的待审计SQL语句进行审计。
在本发明的一些实施例中,如图3所示,上述解析子模块320包括协议解析单元321和列表解析单元322,其中:
协议解析单元321,用于对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;
列表解析单元322,用于对SQL语句进行解析,以得到SQL语句的表名和列名。
PostGreSQL数据库客户端发送SQL请求时,请求SQL通过SSL通道加密传输给审计系统,审计系统接收到请求后,通过明文提取子模块310剥离SSL层获取到SQL请求的明文数据包,然后,协议解析单元321调用协议解析模块解析出请求SQL,接着,列表解析单元322调用SQL解析模块解析出SQL语句的表名和列名,当需要审计时,审计系统把当前SQL,请求时间,请求IP,以及当前登录用户发送给审计策略模块配置的审计系统的服务器进行审计。
如图3所示,基于第二方面,在本发明的一些实施例中,上述语句审计子模块330包括判断单元331和审计单元332,其中:
判断单元331,用于判断SQL语句解析数据是否需要进行审计,如果是,则审计单元332工作;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器
审计单元332,用于根据预设的审计策略对SQL语句解析数据进行审计。
在审计系统接收到SQL请求后,需要通过判断单元331判断是否需要对SQL语句解析数据进行审计,调用审计系统的审计策略模块判断当前SQL是否需要进行审计,如果需要审计:审计单元332把当前SQL,请求时间,请求IP,以及当前登录用户发送给审计策略模块配置的服务器对SQL语句解析数据进行审计,如果是不需要审计,则直接将SQL语句解析数据发送给PostGreSQL数据库服务器,完成PostGreSQL数据库客户端与PostGreSQL数据库服务器之间数据的交互。
本系统还包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。
其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种基于SSL连接PostGreSQL数据库审计的实现方法,其特征在于,包括以下步骤:
在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
2.根据权利要求1所述的一种基于SSL连接PostGreSQL数据库审计的实现方法,其特征在于,所述建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道的方法包括以下步骤:
获取审计系统的IP;
将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
3.根据权利要求1所述的一种基于SSL连接PostGreSQL数据库审计的实现方法,其特征在于,所述通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计的方法包括以下步骤:
通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
将SQL语句解析数据中的待审计SQL语句进行审计。
4.根据权利要求3所述的一种基于SSL连接PostGreSQL数据库审计的实现方法,其特征在于,所述对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据的方法包括以下步骤:
对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;
对SQL语句进行解析,以得到SQL语句的表名和列名。
5.根据权利要求3所述的一种基于SSL连接PostGreSQL数据库审计的实现方法,其特征在于,所述将SQL语句解析数据中的待审计SQL语句进行审计的方法包括以下步骤:
A1、判断SQL语句解析数据是否需要进行审计,如果是,则进入步骤A2;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器;
A2、根据预设的审计策略对SQL语句解析数据进行审计。
6.一种基于SSL连接PostGreSQL数据库审计的实现系统,其特征在于,包括审计引入模块、请求获取模块、审计模块以及数据发送模块,其中:
审计引入模块,用于在PostGreSQL数据库客户端和PostGreSQL数据库服务器之间引入审计系统,并建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器的SSL连接通道;
请求获取模块,用于获取PostGreSQL数据库客户端发送的SQL请求,并通过SSL连接通道将PostGreSQL数据库客户端发送的SQL请求发送给审计系统;
审计模块,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求中的待审计SQL语句进行审计,并生成审计数据;
数据发送模块,用于通过审计系统将审计数据采用SSL连接通道发送给PostGreSQL数据库服务器。
7.根据权利要求6所述的一种基于SSL连接PostGreSQL数据库审计的实现系统,其特征在于,所述审计引入模块包括IP获取子模块、代理配置子模块以及通道建立子模块,其中:
IP获取子模块,用于获取审计系统的IP;
代理配置子模块,用于将审计系统的IP分别配置为PostGreSQL数据库客户端的代理IP和PostGreSQL数据库服务器的代理IP;
通道建立子模块,用于代理IP配置完成后,建立审计系统与PostGreSQL数据库客户端和PostGreSQL数据库服务器之间的SSL连接通道。
8.根据权利要求6所述的一种基于SSL连接PostGreSQL数据库审计的实现系统,其特征在于,所述审计模块包括明文提取子模块、解析子模块以及语句审计子模块,其中:
明文提取子模块,用于通过审计系统对PostGreSQL数据库客户端发送的SQL请求进行数据剥离,以得到SQL请求的明文数据包;
解析子模块,用于对SQL请求的明文数据包进行SQL语句解析,以得到SQL语句解析数据;
语句审计子模块,用于将SQL语句解析数据中的待审计SQL语句进行审计。
9.根据权利要求8所述的一种基于SSL连接PostGreSQL数据库审计的实现系统,其特征在于,所述解析子模块包括协议解析单元和列表解析单元,其中:
协议解析单元,用于对SQL请求的明文数据包进行协议解析匹配,匹配得到对应协议的SQL语句;
列表解析单元,用于对SQL语句进行解析,以得到SQL语句的表名和列名。
10.根据权利要求8所述的一种基于SSL连接PostGreSQL数据库审计的实现系统,其特征在于,所述语句审计子模块包括判断单元和审计单元,其中:
判断单元,用于判断SQL语句解析数据是否需要进行审计,如果是,则审计单元工作;如果否,则通过审计系统将SQL语句解析数据采用SSL连接通道发送给PostGreSQL数据库服务器
审计单元,用于根据预设的审计策略对SQL语句解析数据进行审计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110242859.3A CN113158226A (zh) | 2021-03-05 | 2021-03-05 | 基于SSL连接PostGreSQL数据库审计的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110242859.3A CN113158226A (zh) | 2021-03-05 | 2021-03-05 | 基于SSL连接PostGreSQL数据库审计的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113158226A true CN113158226A (zh) | 2021-07-23 |
Family
ID=76884209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110242859.3A Pending CN113158226A (zh) | 2021-03-05 | 2021-03-05 | 基于SSL连接PostGreSQL数据库审计的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158226A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641702A (zh) * | 2021-10-18 | 2021-11-12 | 北京安华金和科技有限公司 | 一种语句审计后与数据库客户端交互处理方法和装置 |
CN113676417A (zh) * | 2021-10-25 | 2021-11-19 | 北京安华金和科技有限公司 | 一种流量控制方法和系统 |
CN117093639A (zh) * | 2023-10-18 | 2023-11-21 | 北京安华金和科技有限公司 | 一种基于审计服务的套接字连接处理方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647794A (zh) * | 2013-12-31 | 2014-03-19 | 北京启明星辰信息安全技术有限公司 | 一种基于j2ee平台的数据关联方法及关联插件 |
CN104063473A (zh) * | 2014-06-30 | 2014-09-24 | 江苏华大天益电力科技有限公司 | 一种数据库审计监测系统及其方法 |
CN104090941A (zh) * | 2014-06-30 | 2014-10-08 | 江苏华大天益电力科技有限公司 | 一种数据库审计系统及其审计方法 |
CN104468560A (zh) * | 2014-12-02 | 2015-03-25 | 中国科学院声学研究所 | 网络保密数据明文的采集方法及系统 |
CN105635046A (zh) * | 2014-10-28 | 2016-06-01 | 北京启明星辰信息安全技术有限公司 | 一种数据库命令行过滤、阻断审计方法和装置 |
CN112035851A (zh) * | 2020-07-22 | 2020-12-04 | 北京中安星云软件技术有限公司 | 一种基于ssl的mysql数据库审计方法 |
-
2021
- 2021-03-05 CN CN202110242859.3A patent/CN113158226A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647794A (zh) * | 2013-12-31 | 2014-03-19 | 北京启明星辰信息安全技术有限公司 | 一种基于j2ee平台的数据关联方法及关联插件 |
CN104063473A (zh) * | 2014-06-30 | 2014-09-24 | 江苏华大天益电力科技有限公司 | 一种数据库审计监测系统及其方法 |
CN104090941A (zh) * | 2014-06-30 | 2014-10-08 | 江苏华大天益电力科技有限公司 | 一种数据库审计系统及其审计方法 |
CN105635046A (zh) * | 2014-10-28 | 2016-06-01 | 北京启明星辰信息安全技术有限公司 | 一种数据库命令行过滤、阻断审计方法和装置 |
CN104468560A (zh) * | 2014-12-02 | 2015-03-25 | 中国科学院声学研究所 | 网络保密数据明文的采集方法及系统 |
CN112035851A (zh) * | 2020-07-22 | 2020-12-04 | 北京中安星云软件技术有限公司 | 一种基于ssl的mysql数据库审计方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641702A (zh) * | 2021-10-18 | 2021-11-12 | 北京安华金和科技有限公司 | 一种语句审计后与数据库客户端交互处理方法和装置 |
CN113641702B (zh) * | 2021-10-18 | 2022-02-22 | 北京安华金和科技有限公司 | 一种语句审计后与数据库客户端交互处理方法和装置 |
CN113676417A (zh) * | 2021-10-25 | 2021-11-19 | 北京安华金和科技有限公司 | 一种流量控制方法和系统 |
CN117093639A (zh) * | 2023-10-18 | 2023-11-21 | 北京安华金和科技有限公司 | 一种基于审计服务的套接字连接处理方法和系统 |
CN117093639B (zh) * | 2023-10-18 | 2024-01-26 | 北京安华金和科技有限公司 | 一种基于审计服务的套接字连接处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108306877B (zh) | 基于node js的用户身份信息的验证方法、装置和存储介质 | |
CN113158226A (zh) | 基于SSL连接PostGreSQL数据库审计的实现方法及系统 | |
US7483384B2 (en) | System and method for monitoring network traffic | |
US9380008B2 (en) | Method and apparatus for high-speed processing of structured application messages in a network device | |
US20180007144A1 (en) | Event queuing and distribution system | |
US8224308B1 (en) | Mobile device catalog registration based on user agents and customer snapshots of capabilities | |
US20150288673A1 (en) | Method, Apparatus and Application Platform for Realizing Logon to an Application Service Website | |
US10164961B2 (en) | Dynamic web services server | |
WO2016101635A1 (zh) | 一种同步登录状态的方法、装置、设备和计算机存储介质 | |
US10057217B2 (en) | System and method to secure sensitive content in a URI | |
US20190281138A1 (en) | Connection Management Service | |
CN103973461A (zh) | 一种通知消息的推送方法及消息服务器 | |
CN108733720B (zh) | 多数据库类型的sql查询的在线校验方法和校验系统 | |
WO2015021873A1 (en) | Method, platform server, and system of data pushing | |
US11811884B1 (en) | Topic subscription provisioning for communication protocol | |
CN107426063A (zh) | 互联网应用流量的识别系统及方法 | |
CN109040072B (zh) | 一种客户端授权登录网页的方法、系统、服务器及存储介质 | |
WO2021078062A1 (zh) | Ssl证书校验方法、装置、设备及计算机存储介质 | |
CN109561010B (zh) | 一种报文处理方法、电子设备及可读存储介质 | |
CN113162974B (zh) | 一种基于tcp代理的数据库动态加解密的实现方法及系统 | |
CN110768860B (zh) | 一种测试方法、测试装置及电子设备 | |
CN112966262A (zh) | 一种操作日志的生成方法、装置、电子设备及存储介质 | |
CN117195263A (zh) | 数据库加密的方法和装置 | |
CN108737350B (zh) | 一种信息处理方法及客户端 | |
CN107451491B (zh) | 一种提高数据库连接信息丢失时协议解析准确性的方法 |
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 |