一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语句审计后与数据库客户端交互处理方法和装置与流程

2021-11-15 14:45:00 来源:中国专利 TAG:


1.本技术涉及到数据库领域,具体而言,涉及一种语句审计后与数据库客户端交互处理方法和装置。


背景技术:

2.数据库审计系统主要用于审计数据库服务器上的各类操作行为,通过旁路镜像或者安装插件的方式获取数据库服务器的网络报文,然后提取报文中的sql语句保存到数据库审计系统的数据库中,以便后续进行查询、过滤、分析等操作,从而实现对数据库服务器的监控和审计。
3.在现有技术中,一般需要对sql语句进行审计,此处指的审计时是sql语句发送给数据库客户端之间对该sql语句进行的审计。
4.对于数据库客户端而言,其无法确定其执行的sql语句是否是被审计过的。如果执行审计过的sql语句对于数据库客户端而言是比较安全,否则可能带来安全隐患。如果数据库接收到的是脚本,则确定该脚本是否被审计过尤为重要。


技术实现要素:

5.本技术实施例提供了一种语句审计后与数据库客户端交互处理方法和装置,以至少解决现有技术中数据库客户端无法确定其执行的语句是否被审计所可能产生的问题。
6.根据本技术的一个方面,提供了一种语句审计后与数据库客户端交互处理方法,包括:对发往数据库客户端的语句进行截取;对截取到的语句进行审计;在对所述语句审计之后,对审计过的语句增加执行口令;将增加执行口令之后的语句发送给数据库客户端,其中,所述语句增加所述执行口令之后,所述数据库客户端需要使用所述执行口令对所述语句进行执行。
7.进一步地,对发往数据库客户端的语句进行截取,并对截取到的语句进行审计包括:截取到脚本,其中,所述脚本中包括多条语句;对所述脚本中的多条语句进行拆分得到每一条语句;对拆分得到的每一条语句进行审计。
8.进一步地,对审计过的语句增加所述执行口令包括:对所述脚本增加一条所述执行口令,其中,所述脚本中的每条语句均被所述数据库客户端使用该同一条执行口令执行。
9.进一步地,对审计过的语句增加所述执行口令包括:获取请求信息,其中,所述请求信息用于请求对所述脚本增加执行口令或者对所述脚本中的语句增加执行口令;为所述请求信息对应脚本或者语句增加所述执行口令。
10.进一步地,为所述请求信息对应的脚本或语句增加所述执行口令包括:对所述请求信息对应的请求进行审批;在审批通过的情况下,为所述请求信息对应脚本或者语句增加所述执行口令。
11.根据本技术的另一个方面,还提供了一种语句审计后与数据库客户端交互处理装置,包括:截取模块,用于对发往数据库客户端的语句进行截取;审计模块,用于对截取到的
语句进行审计;增加模块,用于在对所述语句审计之后,对审计过的语句增加执行口令;发送模块,用于将增加执行口令之后的语句发送给数据库客户端,其中,所述语句增加所述执行口令之后,所述数据库客户端需要使用所述执行口令对所述语句进行执行。
12.进一步地,所述截获模块,用于截取到脚本,其中,所述脚本中包括多条语句;所述审计模块,用于对所述脚本中的多条语句进行拆分得到每一条语句,对拆分得到的每一条语句进行审计。
13.进一步地,所述增加模块用于:对所述脚本增加一条所述执行口令,其中,所述脚本中的每条语句均被所述数据库客户端使用该同一条执行口令执行。
14.进一步地,所述增加模块用于:获取请求信息,其中,所述请求信息用于请求对所述脚本增加执行口令或者对所述脚本中的语句增加执行口令;为所述请求信息对应脚本或者语句增加所述执行口令。
15.进一步地,所述增加模块用于:对所述请求信息对应的请求进行审批;在审批通过的情况下,为所述请求信息对应脚本或者语句增加所述执行口令。
16.在本技术实施例中,采用了对发往数据库客户端的语句进行截取;对截取到的语句进行审计;在对所述语句审计之后,对审计过的语句增加执行口令;将增加执行口令之后的语句发送给数据库客户端,其中,所述语句增加所述执行口令之后,所述数据库客户端需要使用所述执行口令对所述语句进行执行。通过本技术解决了现有技术中数据库客户端无法确定其执行的语句是否被审计所可能产生的问题,从而在发送给数据库客户端的语句增加可执行口令,提高了客户端的安全性。
附图说明
17.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例的语句审计后与数据库客户端交互处理方法的流程图。
具体实施方式
18.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
19.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
20.在本实施例中,提供了一种语句审计后与数据库客户端交互处理方法,图1是根据本技术实施例的语句审计后与数据库客户端交互处理方法的流程图,如图1所示,该流程包括如下步骤:步骤s102,对发往数据库客户端的语句进行截取;步骤s104,对截取到的语句进行审计;步骤s106,在对所述语句审计之后,对审计过的语句增加执行口令;步骤s108,将增加执行口令之后的语句发送给数据库客户端,其中,所述语句增加所述执行口令之后,所述数据库客户端需要使用所述执行口令对所述语句进行执行。
21.通过上述步骤,数据库客户端在接收到语句之后,如果该语句配置有执行口令,则表示该语句经过了审计,解决了现有技术中数据库客户端无法确定其执行的语句是否被审计所可能产生的问题,从而在发送给数据库客户端的语句增加可执行口令,提高了客户端的安全性。
22.在一个可以选择增加的实施方式中,如果在步骤s102中截获到的语句本来就带有执行口令,则将语句中携带的执行口令删除,在对删除执行口令之后的语句审计过后,在步骤s106中增加新的执行口令,该新的执行口令在预定位置中设置与数据库客户端预定号的标识字符,带有该标识字符的执行口令被增加到审计过的语句之后,带有该标识字符的执行口令用于指示该语句是审计过的。
23.作为另一个可以选择增加的实施方式,在截取到(或者称为截获到)的脚本或者语句经过审计后,确定该脚本或语句的执行有执行时间的要求,则在所述脚本或者所述语句中增加执行口令,该执行口令包括用于指示执行优先权的字符,所述数据库客户端在接收到所述脚本或语句之后,获取执行口令,在所述执行口令携带有用于指示执行优先权的字符的情况下,优先执行所述脚本或语句。
24.作为另一个可以选择增加的实施方式,在对截取到的语句进行审计后确定截取到的语句为风险语句,其中,所述风险语句用于指示该语句的执行可能会对数据库的安全产生风险,为该风险语句增加执行口令,其中,该执行口令包括用于指示风险等级的字符,所述数据库客户端在接收到所述风险语句之后,获取执行口令,在所述执行口令中携带有用于指示风险等级的字符的情况下,根据所述字符指示的风险等级和所述数据库客户端配置的安全策略确定是否执行所述风险语句。
25.语句可以用脚本的方式发送,此时,截取到脚本,其中,所述脚本中包括多条语句;对所述脚本中的多条语句进行拆分得到每一条语句;对拆分得到的每一条语句进行审计。
26.在一个可选实施方式中,对审计过的语句增加所述执行口令包括:获取请求信息,其中,所述请求信息用于请求对所述脚本增加执行口令或者对所述脚本中的语句增加执行口令;为所述请求信息对应脚本或者语句增加所述执行口令。
27.还可以增加审批功能,对所述请求信息对应的请求进行审批;在审批通过的情况下,为所述请求信息对应脚本或者语句增加所述执行口令。
28.在本实施例中涉及到脚本审批。脚本审批用于在运维环节中对脚本审批,以控制脚本对敏感数据的访问。在脚本发送给客户端之间对该脚本进行审批。在审批通过之后增加可执行口令,并将增加可执行口令后的脚本发送给数据库客户端。
29.考虑到数据库客户端在执行脚本的时候,也是将脚本拆分成语句来进行执行的。在本实施例中,也可以将脚本拆分成语句。
30.拆分的方式有很多种,例如,根据脚本的特殊符号(例如分号)进行拆分。或者,在脚本中没有特殊符号的情况下,可以将脚本看做是一个sql语句块,然后对sql语句块进行拆分。拆分的方法可以如下:获取sql语句块,其中,所述sql语句块中包括多个sql语句;从所述sql语句块中搜索关键词,其中,所述关键词为预先配置的,所述关键词为sql的命令,所述关键词所在的命令语句在数据库被执行时可能出现风险;在所述sql语句中搜索到所述关键词之后,根据所述关键词从所述语句块中获取所述关键词所在的sql语句;将所述关键词所在的sql语句从所述语句块中提取出来; 对提取得到的sql语句进行分析,其中,所
述分析用于确定所述sql语句在数据库执行时所产生的风险。可选地,所述关键词为多个,根据每个关键词在所述sql语句中进行搜索,在搜索到的情况下,分别从所述sql语句块提取搜索到的每个关键词所在的sql语句,并对提取出的每条sql语句进行分析。可选地,还可以获取对每条sql语句进行分析后结果;将每条sql语句对应的结果汇总为对所述sql语句分析的结果集。
31.在该拆分方法中,可以根据所述关键词对应的sql语法特征从所述语句块中获取所述关键词所在的sql语句。也可以对提取得到的sql语句按照预先配置的规则进行分析。
32.拆分之后,可以对每个语句按照模板进行计算,其中,每个模板用于标识一种sql语句的类型,与该模板相似度超过阈值,则该语句的类型就是该模板指示的类型。类型是根据sql语句的作用来区分的,例如,所有查询语句均是一个类型,所有更新数据的语句均是一个类型等等。
33.在对整个基本审批通过之后,给整个脚本一个执行口令,整个脚本的执行口令表示数据库在执行该脚本中的每个语句时都使用该执行口令。或者可以针对一条语句或者多条语句分配一个执行口令,也就是说在脚本中的不同语句可以由不同的执行口令。作为一个比较优的实施方式,在上述按照模板进行语句分类之后,可以根据不同的分类分配不同的执行口令。
34.分配执行口令之后,将带有执行口令的脚本发送给数据库客户端,客户端判断接收到的脚本是带有执行口令的,则说明该脚本是被审计过的,该数据库客户端使用该执行口令执行所述脚本。
35.在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
36.上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd

rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
37.这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
38.在本实施例中就提供了这样的一种装置,该装置称为一种语句审计后与数据库客户端交互处理装置,包括:截取模块,用于对发往数据库客户端的语句进行截取;审计模块,用于对截取到的语句进行审计;增加模块,用于在对所述语句审计之后,对审计过的语句增加执行口令;发送模块,用于将增加执行口令之后的语句发送给数据库客户端,其中,所述
语句增加所述执行口令之后,所述数据库客户端需要使用所述执行口令对所述语句进行执行。
39.该装置用于实现上述方法实施例中方法的功能,该装置中的每一模块均对应于上述的方法中的每个步骤,已经在上述实施例中进行过说明的,在此不再赘述。
40.例如,所述截获模块,用于截取到脚本,其中,所述脚本中包括多条语句;所述审计模块,用于对所述脚本中的多条语句进行拆分得到每一条语句,对拆分得到的每一条语句进行审计。
41.例如,所述增加模块用于:获取请求信息,其中,所述请求信息用于请求对所述脚本增加执行口令或者对所述脚本中的语句增加执行口令;为所述请求信息对应脚本或者语句增加所述执行口令。
42.所述增加模块用于:对所述请求信息对应的请求进行审批;在审批通过的情况下,为所述请求信息对应脚本或者语句增加所述执行口令。
43.通过上述实施例解决了现有技术中数据库客户端无法确定其执行的语句是否被审计所可能产生的问题,从而在发送给数据库客户端的语句增加可执行口令,提高了客户端的安全性。
44.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献