CN112131205A - 一种数据库阻断方法及设备 - Google Patents

一种数据库阻断方法及设备 Download PDF

Info

Publication number
CN112131205A
CN112131205A CN202010996993.8A CN202010996993A CN112131205A CN 112131205 A CN112131205 A CN 112131205A CN 202010996993 A CN202010996993 A CN 202010996993A CN 112131205 A CN112131205 A CN 112131205A
Authority
CN
China
Prior art keywords
maintenance
sql statement
database
blocking
client
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
Application number
CN202010996993.8A
Other languages
English (en)
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.)
Shanghai Suninfo Technology Co ltd
Original Assignee
Shanghai Suninfo 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 Shanghai Suninfo Technology Co ltd filed Critical Shanghai Suninfo Technology Co ltd
Priority to CN202010996993.8A priority Critical patent/CN112131205A/zh
Publication of CN112131205A publication Critical patent/CN112131205A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请的目的是提供一种数据库阻断方法及设备,本申请实现了在运维客户端与目标设备之间增设的代理服务设备,通过代理服务设备配置黑名单对来自运维客户端的SQL语句进行解析并匹配,若匹配上所述黑名单,用于指示当前SQL语句对应出现了危险操作,需要对该SQL语句对应的相关操作进行阻断,避免直接访问数据库服务器而造成损失,不仅保证了对数据库运维操作的安全性,还通过阻断的方式提前实现预防,不用等到问题已造成时再进行审计,从而达到了对数据库运维过程中的相关危险操作进行阻断的目的。

Description

一种数据库阻断方法及设备
技术领域
本申请涉及计算机领域,尤其涉及一种数据库阻断方法及设备。
背景技术
随着互联网信息技术的迅速发展,各类信息系统层出不穷,IT运维部门所负责的IT设备的运行维护工作变得越来越复杂,技术难度也越来越高。以往单靠人力直接对设备进行运维的模式已经不能满足当下的需求。在这样的环境下,各式各样的运维管理系统便应运而生。运维管理系统作为运维客户端与运维目标设备的中间层,其最核心的部分便是运维过程的代理。在该功能的现有技术中,通常是通过运维客户端与运维管理系统、运维管理系统与目标设备之间的对接,使得客户端的操作信息能够顺利的通过运维管理系统转发到运维目标设备上,使用这种方法虽然能够实现过程的代理功能,但是数据库协议仅限运维,无法避免危险操作,只能进行事后审计,但此时后果已经造成。
发明内容
本申请的一个目的是提供一种数据库阻断方法及设备,以实现对数据库运维操作的安全性,提前实现预防,不用等到问题已造成时再进行审计,以达到对危险操作进行阻断的目的。
根据本申请的一个方面,提供了一种数据库阻断方法,应用于代理服务设备端,其中,所述方法包括:
分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路;
接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;
若匹配上所述黑名单,则对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器,以使所述数据库服务器对所述修改后的SQL语句进行解析并生成错误执行信息;
接收所述数据库服务器发送的所述错误执行信息,并将所述错误执行信息修改为命令阻断信息;
将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令。
进一步地,上述一种数据库阻断方法中,所述方法还包括:
若匹配上所述黑名单,则对所述SQL语句对应的会话进行阻断,并生成会话阻断信息;
将所述会话阻断信息发送给所述运维客户端,以使所述运维客户端切断所述SQL语句对应的会话所属的运维程序。
进一步地,上述一种数据库阻断方法中,所述接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配,包括:
接收所述运维客户端发送的SQL语句;
对所述SQL语句进行解析,得到解析后的SQL语句,其中,所述解析后的SQL语句包括所述SQL语句对应的操作库、操作表及操作方法;
将所述SQL语句对应的操作库、操作表及操作方法与用于数据库阻断的所述黑名单中的操作库、操作表及操作方法进行匹配。
进一步地,上述一种数据库阻断方法中,所述分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路,包括:
所述运维客户端包括前端管理程序、后台服务程序及协议代理程序,所述代理服务设备包括数据库协议代理服务;其中,
响应于在所述运维客户端前台管理页面的运维操作,启动所述后台服务程序获取所述目标设备的运维参数,并在对所述运维参数进行校验通过后,将所述运维参数发送至所述运维代理程序中;
所述运维代理程序将所述运维参数以结构体方式设置为所述运维代理程序的类成员,并向所述后台服务程序返回运维监听端口;
所述后台服务程序将所述运维监听端口和所述运维参数发送给前端管理程序;
所述前端管理程序对所述运维监听端口和所述运维参数进行校验,并在校验通过后,根据所述运维参数中的令牌调用协议代理程序;
所述协议代理程序查询到所述目标设备使用的数据库协议后,解析所述运维客户端关于请求所述目标设备的信息,以访问对应的数据库协议代理服务;
所述数据库协议代理服务根据所述请求与所述目标设备建立连接,以建立所述运维客户端与所述目标设备之间的运维代理链路。
进一步地,上述一种数据库阻断方法中,所述方法还包括:
通过所述数据库协议代理服务将所述请求转发至所述目标设备;
响应于所述请求,所述目标设备按照所述运维代理链路,将对应的响应信息传递至所述运维客户端。
根据本申请的另一方面,还提供了一种数据库阻断方法,应用于数据库服务器端,其中,所述方法包括:
接收代理服务设备发送的修改后的SQL语句;其中,所述修改后的SQL语句由所述代理服务设备将从运维客户端接收的SQL语句进行解析后,与用于数据库阻断的黑名单进行匹配,并在匹配上所述黑名单时对所述SQL语句进行修改得到;
对所述修改后的SQL语句进行解析,以生成错误执行信息;
将所述错误执行信息发送给所述代理服务设备,以使所述代理服务设备将所述错误执行信息修改为命令阻断信息并发送给所述运维客户端,由所述运维客户端阻断所述SQL语句对应的命令。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述数据库阻断方法。
根据本申请的另一方面,还提供了一种用于数据库阻断的代理服务设备,其中,所述代理服务设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述代理服务设备端的数据库阻断方法。
根据本申请的另一方面,还提供了一种用于数据库阻断的数据库服务器,其中,所述数据库服务器包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述数据库服务器端的数据库阻断方法。
与现有技术相比,本申请通过代理服务设备分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路;所述代理服务设备接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;若匹配上所述黑名单,则对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器,以使所述数据库服务器对所述修改后的SQL语句进行解析并生成错误执行信息;接收所述数据库服务器发送的所述错误执行信息,并将所述错误执行信息修改为命令阻断信息;将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令。实现了在数据库的所述代理服务设备通过配置黑名单,对来自运维客户端的SQL语句进行解析并匹配,若匹配上所述黑名单,用于指示当前SQL语句对应出现了危险操作,需要对该SQL语句对应的相关操作进行阻断,避免直接访问数据库服务器而造成损失,不仅保证了对数据库运维操作的安全性,还通过阻断的方式提前实现预防,不用等到问题已造成时再进行审计,从而达到了对数据库运维过程中的相关危险操作进行阻断的目的。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种代理服务设备端的数据库阻断方法的流程示意图;
图2示出根据本申请一个方面的一种数据库阻断方法的交互流程示意图;
图3示出根据本申请一个方面的一种数据库服务器端的数据库阻断方法的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本申请一个方面的一种数据库阻断方法的流程示意图,应用于运维客户端与目标设备之间的数据库运维过程中的代理服务设备端,该数据库阻断方法涉及运维客户端、目标设备、实际的数据库服务器对应的代理服务设备及实际的数据库服务器。在本申请的所有实施例中,所涉及的数据库包括但不限于:SyBase、MySQL、DB2、Oracle及SQLServer等数据库。其中,在所述代理服务设备端的数据库阻断方法包括:步骤S11、步骤S12、步骤S13、步骤S14及步骤S15,具体包括如下步骤:
步骤S11,所述代理服务设备分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路;在此,在所述运维客户端与所述目标设备之间建立运维代理链路连接的目的在于,当用户对数据库服务器进行操作时,会通过建立的链路将操作语句发送到代理服务设备端,在代理服务设备端对来自运维客户端的操作进行黑名单的匹配,避免用户直接对数据库服务器进行操作,从而可以对用户针对数据库服务器的危险操作进行阻断,提高数据库运维操作的安全性。
步骤S12,所述代理服务设备接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;在此,所述黑名单可以是用户根据对数据库服务器的保护需求进行配置的,也可以是对数据库服务器进行访问过程中的数据库默认配置。
步骤S13,若匹配上所述黑名单,则所述代理服务设备对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器,以使所述数据库服务器对所述修改后的SQL语句进行解析并生成错误执行信息;
步骤S14,所述代理服务设备接收所述数据库服务器发送的所述错误执行信息,并将所述错误执行信息修改为命令阻断信息;
步骤S15,所述代理服务设备将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令。
通过上述步骤S11至S15,实现了在数据库的所述代理服务设备通过配置黑名单,对来自运维客户端的SQL语句进行解析并匹配,若匹配上所述黑名单,用于指示当前SQL语句对应出现了危险操作,需要对该SQL语句对应的相关操作进行阻断,避免直接访问数据库服务器而造成损失,不仅保证了对数据库运维操作的安全性,还通过阻断的方式提前实现预防,不用等到问题已造成时再进行审计,从而达到了对数据库运维过程中的相关危险操作进行阻断的目的。
例如,如图2所示,在所述运维客户端和所述目标设备之间增设了所述代理服务设备,将所述代理服务设备分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路之后,当运维客户端需要访问数据库服务器时发起SQL语句,所述代理服务设备先接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;若匹配上所述黑名单,用于指示用户对数据库服务器进行访问的SQL语句存在危险,当存在的危险为低级别的危险操作时,所述代理服务设备可以对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器;虽然存在低级别的操作危险的SQL语句到达数据库服务器,但由于代理服务设备对该SQL语句进行修改,所述数据库服务器对所述修改后的SQL语句进行解析之后,会生成错误执行信息并返回给所述代理服务设备;所述代理服务设备接收到所述数据库服务器发送的所述错误执行信息后,将所述错误执行信息修改为命令阻断信息,并将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令,实现了在所述SQL语句对应的相关操作存在低级别的操作危险时,通过所述代理服务设备可以对SQL语句进行修改,并将修改后对应的SQL语句的错误执行信息修改为命令阻断信息,以达到对存在低级别的操作危险的SQL语句对应的命令阻断,即会话中的SQL语句对应的命令的阻断,但依然可以执行该SQL语句对应的会话中的其他SQL语句,以确保数据库服务器访问的安全性的同时,还可以保证整个会话仍可以继续维持。接着本申请的上述实施例,本申请一个方面实施例中的一种数据库阻断方法还包括:
若匹配上所述黑名单,则对所述SQL语句对应的会话进行阻断,并生成会话阻断信息;
将所述会话阻断信息发送给所述运维客户端,以使所述运维客户端切断所述SQL语句对应的会话所属的运维程序。
例如,在所述步骤S13中,若匹配上所述黑名单,用于指示用户对数据库服务器进行访问的SQL语句存在危险,当存在的危险为高级别的危险操作时,比如用户想要删除某一离职员工的考勤记录,却由于操作不当发起了删除数据库中所有考勤记录的SQL语句,对数据库发送用于指示删除所有考勤记录的SQL语句,导致数据库中所有考勤记录的丢失;当代理服务设备解析来自运维客户端的所述SQL语句并进行匹配,如果命中黑名单的匹配结果是发送的SQL语句将会删除数据库中的所有考勤记录,为了防止该SQL语句对应的相关高级别的危险操作导致数据库服务器无法挽回的局面和结果,所述代理服务设备可以直接对此次SQL语句对应的访问会话进行阻断,避免所述SQL语句及其对应的会话的继续执行给数据库服务器带来毁灭性损失,并生成所述SQL语句对应的会话的会话阻断信息,用于指示对该SQL语句对应的会话进行阻断,所述代理服务设备将所述会话阻断信息发送给所述运维客户端,从而使得所述运维客户端切断所述SQL语句对应的会话所属的运维程序,实现了通过代理服务设备将存在高级别的危险操作的SQL语句对应的会话进行会话阻断,使所述SQL语句对应的整个会话的访问不能到达数据库服务器,避免因为用户的不当操作而造成数据库服务器无法挽回的损失,从而保障数据库服务器的安全。
接着本申请的上述实施例,所述步骤S14接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配,具体包括:
接收所述运维客户端发送的SQL语句;
对所述SQL语句进行解析,得到解析后的SQL语句,其中,所述解析后的SQL语句包括所述SQL语句对应的操作库、操作表及操作方法;
将所述SQL语句对应的操作库、操作表及操作方法与用于数据库阻断的所述黑名单中的操作库、操作表及操作方法进行匹配。
例如,所述黑名单中包括一条或多条SQL语句对应的操作库、操作表及操作方法,比如,所述黑名单为中有N条SQL语句分别对应的操作库、操作表及操作方法,其中,N为大于等于1的正整数;当代理服务设备端接收到所述运维客户端的SQL语句M时,会对所述SQL语句M进行解析,将随身SQL语句M解析为对应的操作库、操作表及操作方法,即所述SQL语句M对应的操作库M、操作表M及操作方法M;之后,将所述SQL语句M对应的操作库M、操作表M及操作方法M,分别与预置的所述黑名单中的N条SQL语句中的每条SQL语句对应的操作库、操作表及操作方法进行匹配,使得通过预置的所述黑名单完成对来自所述运维客户端的SQL语句的匹配,以匹配出来自所述运维客户端的SQL语句是否命中黑名单,从而确定该来自所述运维客户端的SQL语句对应的相关操作是否存在危险操作,便于后续对存在危险操作的SQL语句进行命令阻断或所属会话的会话切断等。接着本申请的上述实施例,所述步骤S11分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路,具体包括:
所述运维客户端包括前端管理程序、后台服务程序及协议代理程序,所述代理服务设备包括数据库协议代理服务;其中,
响应于在所述运维客户端前台管理页面的运维操作,启动所述后台服务程序获取所述目标设备的运维参数,并在对所述运维参数进行校验通过后,将所述运维参数发送至所述运维代理程序中;在此,所述运维操作包括但不限于对预设按钮的触发操作等任何与运维相关的操作。
所述前台管理页面主要负责通过配置添加的方式收集运维的目标设备的运维参数,所述运维参数包括但不限于运维的目标设备的IP地址、运维时间、端口信息、账号及使用的协议类型,同时,在所述前台管理页面提供预设的按钮以触发运维流程,与后台服务程序建立联系前、后台的交互,前、后台的交互过程可以使用目前比较流行的web服务器,比如lighttpd、nginx及apach等。所述后台服务程序主要负责与所述前台管理页面进行信息交互,将获取到所述目标设备的运维参数进行校验,以便在校验通过后,将所述运维参数发送至所述运维代理程序中。
所述运维代理程序主要负责与运维相关的信息的管理等,例如,将所述运维参数以结构体方式设置为所述运维代理程序的类成员,并向所述后台服务程序返回运维监听端口,所述运维监听端口为对外开放的端口,当然,可以根据用户不同的运维需求进行不同的端口号范围的设置。
所述后台服务程序将所述运维代理程序返回的所述运维监听端口和所述运维参数发送给前端管理程序;以便所述前端管理程序对所述运维监听端口和所述运维参数进行校验,并在校验通过后,根据所述运维参数中的令牌(比如Token)调用对应的协议代理程序。
所述协议代理程序查询到所述目标设备使用的数据库协议等信息后,解析所述运维客户端关于请求所述目标设备的信息,以访问对应的数据库协议代理服务。
所述数据库协议代理服务根据所述请求与所述目标设备建立连接,以建立所述运维客户端与所述目标设备之间的运维代理链路,实现了在运维客户端与目标设备之间增设代理服务设备,使得所述代理服务设备分别与所述运维客户端与所述目标设备建立链路连接,从而建立所述运维客户端与所述目标设备之间的运维代理链路,即所述运维代理链路为:运维客户端-代理服务设备-目标设备。
本实施例中,当运维客户端发起的关于请求所述目标设备的信息的请求后,所述数据库协议代理服务根据所述请求与所述目标设备建立连接,所述代理服务设备还包括:
通过所述数据库协议代理服务将所述请求转发至所述目标设备;
响应于所述请求,所述目标设备按照所述运维代理链路,将对应的响应信息传递至所述运维客户端。
例如,所述运维客户端发起关于请求所述目标设备的信息的请求后,所述代理服务设备中的数据库协议代理服务根据所述请求与所述目标设备建立连接,即运维客户端-代理服务设备-目标设备之间形成的运维代理链路;为了对运维客户端发起的请求进行响应,在所述运维代理链路中,所述代理服务设备通过所述数据库协议代理服务将所述请求转发至所述目标设备,使得所述目标设备响应于所述请求,按照所述运维代理链路,将对应的响应信息传递至所述运维客户端,实现了通过已建立的运维代理链路对所述响应信息进行链路返回传递信息,确保所述请求对应的响应信息能够原路返回。
如图3所示,本申请一个方面的一种数据库阻断方法的流程示意图,应用于运维客户端与目标设备之间的数据库运维过程中的数据库服务器,该数据库阻断方法涉及运维客户端、目标设备、实际的数据库服务器对应的代理服务设备及实际的数据库服务器。其中,在所述数据库服务器端的数据库阻断方法包括:步骤S21、步骤S22及步骤S23,具体包括如下步骤:
步骤S21,所示数据库服务器接收代理服务设备发送的修改后的SQL语句;其中,所述修改后的SQL语句由所述代理服务设备将从运维客户端接收的SQL语句进行解析后,与用于数据库阻断的黑名单进行匹配,并在匹配上所述黑名单时对所述SQL语句进行修改得到;
步骤S22,所示数据库服务器对所述修改后的SQL语句进行解析,以生成错误执行信息;
步骤S23,所示数据库服务器将所述错误执行信息发送给所述代理服务设备,以使所述代理服务设备将所述错误执行信息修改为命令阻断信息并发送给所述运维客户端,由所述运维客户端阻断所述SQL语句对应的命令。
例如,在所述运维客户端和所述目标设备之间增设了所述代理服务设备,将所述代理服务设备分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路之后,当运维客户端需要访问数据库服务器时发起SQL语句,所述代理服务设备先接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;若匹配上所述黑名单,用于指示用户对数据库服务器进行访问的SQL语句存在危险,当存在的危险为低级别的危险操作时,所述代理服务设备可以对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器;虽然存在低级别的操作危险的SQL语句到达数据库服务器,但由于代理服务设备对该SQL语句进行修改,所述数据库服务器对所述修改后的SQL语句进行解析之后,会生成错误执行信息并返回给所述代理服务设备;所述代理服务设备接收到所述数据库服务器发送的所述错误执行信息后,将所述错误执行信息修改为命令阻断信息,并将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令,实现了在所述SQL语句对应的相关操作存在低级别的操作危险时,通过所述代理服务设备可以对SQL语句进行修改,并将修改后对应的SQL语句的错误执行信息修改为命令阻断信息,以达到对存在低级别的操作危险的SQL语句对应的命令阻断,即会话中的SQL语句对应的命令的阻断,但依然可以执行该SQL语句对应的会话中的其他SQL语句,以确保数据库服务器访问的安全性的同时,还可以保证整个会话仍可以继续维持。
根据本申请的另一个方面,一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述数据库阻断的方法。
根据本申请的另一个方面,一种用于数据库阻断的代理服务设备,其中,所述代理服务设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述代理服务设备端的数据库阻断的方法。
在此,所述用于数据库阻断的代理服务设备中的各实施例的详细内容,具体可参见上述数据库阻断方法实施例的对应部分,在此,不再赘述。
根据本申请的另一个方面,一种用于数据库阻断的数据库服务器,其中,所述数据库服务器包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述数据库服务器端的数据库阻断的方法。
在此,所述用于数据库阻断的数据库服务器中的各实施例的详细内容,具体可参见上述数据库阻断方法实施例的对应部分,在此,不再赘述。
综上所述,本申请通过代理服务设备分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路;所述代理服务设备接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;若匹配上所述黑名单,则对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器,以使所述数据库服务器对所述修改后的SQL语句进行解析并生成错误执行信息;接收所述数据库服务器发送的所述错误执行信息,并将所述错误执行信息修改为命令阻断信息;将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令。实现了在数据库的所述代理服务设备通过配置黑名单,对来自运维客户端的SQL语句进行解析并匹配,若匹配上所述黑名单,用于指示当前SQL语句对应出现了危险操作,需要对该SQL语句对应的相关操作进行阻断,避免直接访问数据库服务器而造成损失,不仅保证了对数据库运维操作的安全性,还通过阻断的方式提前实现预防,不用等到问题已造成时再进行审计,从而达到了对数据库运维过程中的相关危险操作进行阻断的目的。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (9)

1.一种数据库阻断方法,应用于代理服务设备端,其中,所述方法包括:
分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路;
接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配;
若匹配上所述黑名单,则对所述SQL语句进行修改,并将修改后的SQL语句发送给对应的数据库服务器,以使所述数据库服务器对所述修改后的SQL语句进行解析并生成错误执行信息;
接收所述数据库服务器发送的所述错误执行信息,并将所述错误执行信息修改为命令阻断信息;
将所述命令阻断信息发送给所述运维客户端,以使所述运维客户端阻断所述SQL语句对应的命令。
2.根据权利要求1所述的方法,其中,所述方法还包括:
若匹配上所述黑名单,则对所述SQL语句对应的会话进行阻断,并生成会话阻断信息;
将所述会话阻断信息发送给所述运维客户端,以使所述运维客户端切断所述SQL语句对应的会话所属的运维程序。
3.根据权利要求1或2所述的方法,其中,所述接收并解析所述运维客户端发送的SQL语句,并将解析后的SQL语句与用于数据库阻断的黑名单进行匹配,包括:
接收所述运维客户端发送的SQL语句;
对所述SQL语句进行解析,得到解析后的SQL语句,其中,所述解析后的SQL语句包括所述SQL语句对应的操作库、操作表及操作方法;
将所述SQL语句对应的操作库、操作表及操作方法与用于数据库阻断的所述黑名单中的操作库、操作表及操作方法进行匹配。
4.根据权利要求1所述的方法,其中,所述分别与运维客户端和目标设备建立链路连接,以建立所述运维客户端与所述目标设备之间的运维代理链路,包括:
所述运维客户端包括前端管理程序、后台服务程序及协议代理程序,所述代理服务设备包括数据库协议代理服务;其中,
响应于在所述运维客户端前台管理页面的运维操作,启动所述后台服务程序获取所述目标设备的运维参数,并在对所述运维参数进行校验通过后,将所述运维参数发送至所述运维代理程序中;
所述运维代理程序将所述运维参数以结构体方式设置为所述运维代理程序的类成员,并向所述后台服务程序返回运维监听端口;
所述后台服务程序将所述运维监听端口和所述运维参数发送给前端管理程序;
所述前端管理程序对所述运维监听端口和所述运维参数进行校验,并在校验通过后,根据所述运维参数中的令牌调用协议代理程序;
所述协议代理程序查询到所述目标设备使用的数据库协议后,解析所述运维客户端关于请求所述目标设备的信息,以访问对应的数据库协议代理服务;
所述数据库协议代理服务根据所述请求与所述目标设备建立连接,以建立所述运维客户端与所述目标设备之间的运维代理链路。
5.根据权利要求4所述的方法,其中,所述方法还包括:
通过所述数据库协议代理服务将所述请求转发至所述目标设备;
响应于所述请求,所述目标设备按照所述运维代理链路,将对应的响应信息传递至所述运维客户端。
6.一种数据库阻断方法,应用于数据库服务器端,其中,所述方法包括:
接收代理服务设备发送的修改后的SQL语句;其中,所述修改后的SQL语句由所述代理服务设备将从运维客户端接收的SQL语句进行解析后,与用于数据库阻断的黑名单进行匹配,并在匹配上所述黑名单时对所述SQL语句进行修改得到;
对所述修改后的SQL语句进行解析,以生成错误执行信息;
将所述错误执行信息发送给所述代理服务设备,以使所述代理服务设备将所述错误执行信息修改为命令阻断信息并发送给所述运维客户端,由所述运维客户端阻断所述SQL语句对应的命令。
7.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至6中任一项所述的方法。
8.一种用于数据库阻断的代理服务设备,其中,所述代理服务设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。
9.一种用于数据库阻断的数据库服务器,其中,所述数据库服务器包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6所述的方法。
CN202010996993.8A 2020-09-21 2020-09-21 一种数据库阻断方法及设备 Pending CN112131205A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010996993.8A CN112131205A (zh) 2020-09-21 2020-09-21 一种数据库阻断方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010996993.8A CN112131205A (zh) 2020-09-21 2020-09-21 一种数据库阻断方法及设备

Publications (1)

Publication Number Publication Date
CN112131205A true CN112131205A (zh) 2020-12-25

Family

ID=73841806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010996993.8A Pending CN112131205A (zh) 2020-09-21 2020-09-21 一种数据库阻断方法及设备

Country Status (1)

Country Link
CN (1) CN112131205A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076331A (zh) * 2021-03-23 2021-07-06 中国联合网络通信集团有限公司 中台数据处理方法、装置、设备、存储介质及程序产品
CN113971184A (zh) * 2021-10-19 2022-01-25 上海上讯信息技术股份有限公司 一种基于数据库代理服务器管理运维操作的方法与设备
CN115150199A (zh) * 2022-09-02 2022-10-04 北京中安星云软件技术有限公司 一种数据库运维客户端账户管控方法、系统、设备及介质
CN116010382A (zh) * 2023-02-24 2023-04-25 天翼云科技有限公司 一种数据库的运维方法、装置、设备及存储介质
CN117688555A (zh) * 2024-02-02 2024-03-12 深圳昂楷科技有限公司 数据库的控制方法、装置、终端设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177112A (zh) * 2019-12-06 2020-05-19 陕西上讯信息技术有限公司 基于运维管理系统的数据库阻断方法、装置及电子设备
CN111177617A (zh) * 2019-12-06 2020-05-19 上海上讯信息技术股份有限公司 基于运维管理系统的web直接运维方法、装置及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177112A (zh) * 2019-12-06 2020-05-19 陕西上讯信息技术有限公司 基于运维管理系统的数据库阻断方法、装置及电子设备
CN111177617A (zh) * 2019-12-06 2020-05-19 上海上讯信息技术股份有限公司 基于运维管理系统的web直接运维方法、装置及电子设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076331A (zh) * 2021-03-23 2021-07-06 中国联合网络通信集团有限公司 中台数据处理方法、装置、设备、存储介质及程序产品
CN113076331B (zh) * 2021-03-23 2023-06-02 中国联合网络通信集团有限公司 中台数据处理方法、装置、设备、存储介质及程序产品
CN113971184A (zh) * 2021-10-19 2022-01-25 上海上讯信息技术股份有限公司 一种基于数据库代理服务器管理运维操作的方法与设备
CN115150199A (zh) * 2022-09-02 2022-10-04 北京中安星云软件技术有限公司 一种数据库运维客户端账户管控方法、系统、设备及介质
CN115150199B (zh) * 2022-09-02 2023-01-31 北京中安星云软件技术有限公司 一种数据库运维客户端账户管控方法、系统、设备及介质
CN116010382A (zh) * 2023-02-24 2023-04-25 天翼云科技有限公司 一种数据库的运维方法、装置、设备及存储介质
CN117688555A (zh) * 2024-02-02 2024-03-12 深圳昂楷科技有限公司 数据库的控制方法、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
CN112131205A (zh) 一种数据库阻断方法及设备
US10447560B2 (en) Data leakage protection in cloud applications
CN106649772A (zh) 一种访问数据的方法及设备
CN106686104B (zh) 用于目标服务器运维的方法与设备
US8713368B2 (en) Methods for testing OData services
US12063246B2 (en) Security mechanisms for preventing retry or replay attacks
CN110324416B (zh) 下载路径跟踪方法、装置、服务器、终端及介质
CN111539775B (zh) 应用程序的管理方法及设备
CN116582365B (zh) 网络流量的安全控制方法、装置及计算机设备
CN105260378A (zh) 数据库审计的方法和设备
CN113132363A (zh) 一种前后端安全验证方法及设备
US8037067B1 (en) Systems and methods for tracking user activity at website
CN113536304B (zh) 一种基于运维审计系统的防绕行方法及设备
CN113098758B (zh) 一种基于企业微信的企业消息推送安全网关系统
CN113660292A (zh) 一种获取调用客户端的主体的信息方法和装置
CN112395591A (zh) 改密方法及系统
CN108494864A (zh) 一种数据处理方法、装置和机器可读存储介质
JP3437680B2 (ja) 対話管理型情報提供方法及び装置
CN112769928B (zh) 一种基于业务场景的信息交互方法及设备
CN112905163A (zh) 一种表单提交方法及设备
CN115766191A (zh) 一种运维操作的审计系统及方法
CN106375354B (zh) 数据处理方法及装置
US20240163240A1 (en) Computer system and method with referral tracking for shared content
US20240305621A1 (en) System, method, and information processing apparatus
US20160056994A1 (en) Diagnosing Network Misconfiguration Externally

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201225

RJ01 Rejection of invention patent application after publication