CN117056301A - 数据库的日志审计方法、装置、计算设备以及存储介质 - Google Patents

数据库的日志审计方法、装置、计算设备以及存储介质 Download PDF

Info

Publication number
CN117056301A
CN117056301A CN202311110481.7A CN202311110481A CN117056301A CN 117056301 A CN117056301 A CN 117056301A CN 202311110481 A CN202311110481 A CN 202311110481A CN 117056301 A CN117056301 A CN 117056301A
Authority
CN
China
Prior art keywords
log
database
data table
audit
information
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
CN202311110481.7A
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.)
Jinzhuan Xinke Co Ltd
Original Assignee
Jinzhuan Xinke 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 Jinzhuan Xinke Co Ltd filed Critical Jinzhuan Xinke Co Ltd
Priority to CN202311110481.7A priority Critical patent/CN117056301A/zh
Publication of CN117056301A publication Critical patent/CN117056301A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了数据库的日志审计方法、装置、计算设备以及存储介质,其中,该方法包括:在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;在所述第一数据表中确定包括所述数据库的关键信息的第二数据表;基于所述第二数据表,在所述日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。

Description

数据库的日志审计方法、装置、计算设备以及存储介质
技术领域
本公开涉及数据库技术领域,具体而言,涉及数据库的日志审计方法、装置、计算设备以及存储介质。
背景技术
信息化快速发展,数据库扮演着越来越重要的角色,数据在各个行业、各个领域中都发挥着不可替代的作用,各个领域对数据的依赖程度日益加深,对于数据安全带来巨大的挑战,数据库保存数据的载体,确保数据安全性,数据库审计功能主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。
然而,由于数据库审计功能所记录的操作行为类型较多,导致记录得到的审计数据较为庞大,从而导致该审计数据的存储面临巨大的压力,同时,从庞大的审计数据中筛选有用的信息较为消耗人力,且审计效率较低,无法满足企业对于数据安全的需求。
发明内容
本公开实施例至少提供数据库的日志审计方法、装置、计算设备以及存储介质。
第一方面,本公开实施例提供了一种数据库的日志审计方法,包括:
在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
在所述第一数据表中确定包括所述数据库的关键信息的第二数据表;
基于所述第二数据表,在所述日志信息中确定审计日志。
一种可选的实施方式中,所述关键信息包括:敏感数据;
所述在所述第一数据表中确定包括所述数据库的关键信息的第二数据表,包括:
获取所述数据库中的信息子库,并在所述第一数据表中确定所述信息子库对应的第二数据表,其中,所述信息子库用于存放所述数据库本身的核心数据;以及
在所述第一数据表中确定包括用户信息的第二数据表。
一种可选的实施方式中,所述基于所述第二数据表,在所述日志信息中确定审计日志,包括:
获取预设审计规则;
在所述第二数据表中确定命中所述预设审计规则的目标字段,并将所述目标字段对应的日志信息确定为审计日志。
一种可选的实施方式中,所述在所述第二数据表中确定命中所述预设审计规则的目标字段,包括:
基于所述预设审计规则中的条件语句,对所述第二数据表中的字段进行判断,得到判断结果;
在所述字段中确定判断结果命中所述预设审计规则的目标字段。
一种可选的实施方式中,所述方法还包括:
在所述数据库中,确定所述关键信息对应的数据表名称;
基于所述条件语句以及所述数据表名称,确定所述预设审计规则。
一种可选的实施方式中,所述方法还包括:
在数据库中采集目标类型操作的日志信息后,确定所述日志信息对应的日志目录;
实时读取所述日志目标的日志文件,并基于所述日志文件更新所述日志信息。
一种可选的实施方式中,所述方法还包括:
在所述日志信息中确定审计日志后,实时监测所述审计日志中的异常操作日志;
基于所述异常操作日志,生成报警信息,以将所述报警信息展示给审计对象。
第二方面,本公开实施例还提供一种数据库的日志审计装置,包括:
采集单元,用于在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
第一确定单元,用于在所述第一数据表中确定包括关键信息的第二数据表;
第二确定单元,用于基于所述第二数据表,在所述日志信息中确定审计日志。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述任一项所述的数据库的日志审计方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据库的日志审计方法的流程图;
图2示出了本公开实施例所提供的配置预设审计规则的示意图;
图3示出了本公开实施例所提供的一种数据库的日志审计系统的架构图;
图4示出了本公开实施例所提供的一种数据库的日志审计装置的示意图;
图5示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,信息化快速发展,数据库扮演着越来越重要的角色,数据在各个行业、各个领域中都发挥着不可替代的作用,各个领域对数据的依赖程度日益加深,对于数据安全带来巨大的挑战,数据库保存数据的载体,确保数据安全性,数据库审计功能主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。
然而,由于数据库审计功能所记录的操作行为类型较多,导致记录得到的审计数据较为庞大,从而导致该审计数据的存储面临巨大的压力,同时,从庞大的审计数据中筛选有用的信息较为消耗人力,且审计效率较低,无法满足企业对于数据安全的需求。
基于上述研究,本公开提供了一种数据库的日志审计方法、装置、计算设备以及存储介质。在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据库的日志审计方法进行详细介绍,本公开实施例所提供的数据库的日志审计方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该数据库的日志审计方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种数据库的日志审计方法的流程图,所述方法包括步骤S101~S105,其中:
S101:在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表。
在本公开实施例中,可以针对数据库中的数据进行多种类型的操作,例如,查询操作,存储操作,修改操作等,基于此,首先可以在多种操作类型中确定需要重点关注的目标操作类型,并在Agent采集模块中配置该目标操作类型。另外的,由于数据库中的数据通常是按照数据表进行存储的,因此,可以确定出用于存储目标类型操作对应的数据的第一数据表。
具体实施时,上述Agent采集模块中包括mariadb插件,该mariadb插件可以在数据库中采集按照配置好的目标操作类型对应的操作日志,并将该操作日志确定为上述日志信息,其中,该日志信息可以用于指示操作行为对应的操作模块、具体指令、状态、操作用户、用户所属组与相应角色、IP、时间等。这里,可以为该mariadb插件配置的目标操作类可以包括:connect操作、query操作、table操作、query_ddl操作、query_dml操作、query_dcl操作、query_dml_no_select操作。
考虑到当前的数据库系统通常为分布式数据库,因此,可以为该分布式数据库系统中的每个数据节点设置对应的Agent采集模块,并分别将采集到的日志信息发送到Kafka模块中进行汇总,其中,该Kafka模块为高吞吐量的分布式发布订阅消息系统。
S103:在所述第一数据表中确定包括所述数据库的关键信息的第二数据表。
在本公开实施例中,上述关键信息可以为审计人员自定义的信息类型,审计人员可以基于具体的使用场景定义数据库中需要重点审计的关键信息,例如,在银行场景中,关键信息可以为包括用户信息的敏感数据,例如,用户的账户信息,用户的个人信息等。
具体实施时,审计人员在确定出上述关键信息后,可以基于该关键信息对预设审计规则进行自定义,以基于该预设审计规则筛选出包含该关键信息的第二数据表。
这里,可以将该预设审计规则添加到Logstash模块中,以基于该Logstash模块对第一数据表进行筛选。应理解的是,还可以将该Logstash模块替换为其他可以对收集到的数据进行分析和处理的模块,例如,DataIntegration模块。
S105:基于所述第二数据表,在所述日志信息中确定审计日志。
在一种可选的实施方式中,可以在上述日志信息中确定与上述第二数据表相关的操作日志,并将该操作日志确定为审计日志。
在另一种可选的实施方式中,考虑到按照数据表对日志信息进行筛选时,筛选粒度仍然较大,因此,可以通过自定义预设审计规则的方式,进一步细化筛选粒度,例如,对第二数据表中包括关键信息的字段进行筛选。然后,可以在上述日志信息中确定与该字段相关的操作日志,并将该操作日志确定为审计日志。
在确定出上述审计日志后,可以将该审计日志存储到Elasticsearch模块(以下简称ES模块)中,以便于后续对该审计日志进行自动化审计,其中,该ES模块为分布式存储、搜索、分析引擎。
另外的,上述ES模块可以为server服务端提供检索功能,以便于审计人员基于该检索功能对审计日志进行检索,从而便于在数据库发生事故后进行问题查找以责任追溯。
通过上述描述可知,在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
在一个可选的实施方式中,上述关键信息包括:敏感数据,上述步骤S103,在所述第一数据表中确定包括所述数据库的关键信息的第二数据表,具体包括如下过程:
获取所述数据库中的信息子库,并在所述第一数据表中确定所述信息子库对应的第二数据表,其中,所述信息子库用于存放所述数据库本身的核心数据;以及
在所述第一数据表中确定包括用户信息的第二数据表。
在本公开实施例中,上述敏感数据可以包括数据库本身存在的敏感数据以及用户存储在数据库中的敏感数据,这里,数据库本身存在的敏感数据可以为信息子库中存放的核心数据。具体的,上述信息子库可以包括performance_schema、information_schema以及mysql库等,其中,performance_schema用于监控MySQL server服务在运行过程中的资源消耗、资源等待等,从而对数据库进行性能分析,information_schema用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。在确定出该数据子库后,可以将用于存储该数据子库中的核心数据的数据表确定为第二数据表。
另外的,用户存储在数据库中的敏感数据可以为用户信息,例如,用户的账户信息,用户的个人信息等。应理解的是,在不同的使用场景中,被确定为敏感数据的用户信息可以是不同的。例如,在银行场景中,除了账户信息以及个人信息等信息,还可以将用户信息中的账户流水信息确定为敏感数据。
在本公开实施例中,可以将包含敏感数据的第一数据表确定为第二数据表,从而对该第二数据表对应的审计日志进行审计,以基于该审计日志梳理出对敏感数据的敏感操作,提高了数据库的安全性。
在一个可选的实施方式中,上述步骤S105,述基于所述第二数据表,在所述日志信息中确定审计日志,具体包括如下过程:
S1051:获取预设审计规则。
S1052:在所述第二数据表中确定命中所述预设审计规则的目标字段,并将所述目标字段对应的日志信息确定为审计日志。
在本公开实施例中,审计人员可以基于具体的使用场景定义数据库中需要重点审计的关键信息,并根据该关键信息对应的目标字段,对预设审计规则进行自定义,从而基于该预设审计规则对第二数据表中的目标字段进行筛选,具体筛选该目标字段的方式如下所述,此处不再赘述。
在日志信息中确定上述目标字段对应的审计日志时,首先可以在上述目标操作中确定待审计操作,例如,在目标字段对应的数据为敏感数据时,该待审计操作可以为针对敏感数据的敏感操作,如查询操作select,更新操作update等。
同理,在上述日志信息中确定上述第二数据表对应的审计日志时,若第二数据表中的数据为敏感数据,则针对该第二数据表的敏感操作可以与上述敏感操作相同或者不同。同时,针对不同的第二数据表的敏感操作也可以是不同的。
例如,针对上述信息子库对应的第二数据表来说,敏感操作可以为全部操作类型。针对上述包括用户信息的第二数据表来说,敏感操作可以为数据清除操作truncate tabletable_name,删除操作drop table等。
应理解的是,可以在上述预设审计规则中自定义针对各个第二数据表以及各个目标字段对应的待审计操作,以基于该预设审计规则分别筛选出各个第二数据表以及各个目标字段对应的审计日志。
在本公开实施例中,可以将筛选审计日志的粒度精细到数据表中的字段,从而进一步减少确定出的审计日志的数据量,进而提高审计效率。
在一个可选的实施方式中,上述步骤S1052,在所述第二数据表中确定命中所述预设审计规则的目标字段,具体包括如下过程:
(1)、基于所述预设审计规则中的条件语句,对所述第二数据表中的字段进行判断,得到判断结果;
(2)、在所述字段中确定判断结果命中所述预设审计规则的目标字段。
在本公开实施例中,上述条件语句可以用于对第二数据表中各字段的字段信息进行判断,例如,第二数据表为存储用户年龄信息的数据表,若关键信息中包括年龄为50岁以上用户的用户信息,那么,预设审计规则中的条件语句可以为“if年龄>50”。
接下来,可以基于该条件语句对上述第二数据表中各字段的字段信息进行判断,以得到各字段对应的判断结果。这里,可以将判断结果为是的字段确定为命中预设审计规则的目标字段。
在本公开实施例中,可以将筛选审计日志的粒度精细到数据表中的字段,从而进一步减少确定出的审计日志的数据量,进而提高审计效率。
在一个可选的实施方式中,上述图1对应的实施方式,还包括如下过程:
(1)、在所述数据库中,确定所述关键信息对应的数据表名称;
(2)、基于所述条件语句以及所述数据表名称,确定所述预设审计规则。
在本公开实施例中,在确定出上述数据库中的关键信息后,可以基于该关键信息对预设审计规则进行自定义,以基于该预设设计规则筛选得到审计日志。具体的,可以按照不同的筛选维度对该预设审计规则进行自定,例如,数据表维度以及字段维度。
这里,在基于上述数据表维度进行预设审计规则的自定义时,可以在数据库中确定用于存储上述关键信息的数据表对应的数据表名称,并将该数据表名称自定义到预设审计规则中。
另外的,在基于上述字段维度进行预设审计规则的自定义时,首先可以基于关键信息确定条件语句。例如,在关键信息中包括注册时长超过两年的账号对应的账号信息时,该条件语句可以为“if注册年限>2”。
应理解的是,考虑到不同筛选维度的数据对应的待审计操作可以是不同的,因此,可以在上述预设审计规则中对各个筛选维度设置对应的待审计操作,其中,不同筛选维度对应的待审计操作可以是相同或者不同的,从而便于基于该预设审计规则采集不同筛选维度下的数据对应的审计日志。
另外的,如图2所示为配置预设审计规则的示意图,其中,可以将该预设审计规则配置到Logstash模块中,以使该Logstash模块基于该审计规则对采集到的日志信息进行筛选,得到审计日志,并将该审计日志传输给上述ES模块进行存储。
在本公开实施条例中,审计人员可以基于实际审计需求,并结合使用场景,确定数据库中的关键信息,并基于该关键信息对预设审计规则进行自定义,从而增加了本公开的适用范围。
在一个可选的实施方式中,上述图1对应的实施例,还包括如下过程:
(1)、在数据库中采集目标类型操作的日志信息后,确定所述日志信息对应的日志目录;
(2)、实时读取所述日志目标的日志文件,并基于所述日志文件更新所述日志信息。
在本公开实施条例中,上述日志目录可以用于指示日志信息所对应的日志文件的存储位置。考虑到在实际的审计场景中往往为在线审计(即审计过程中不对数据库进行停机),而数据库中的并发请求量往往较大,日志信息是不间断更新的。
基于此,可以追踪读取上述日志目录下的日志文件,并实时将读取到的内容更新到采集到的日志信息中。这里,可以通过Filebeat模块对日志目录进行追踪读取,该Filebeat模块为日志文件托运工具,可以用于监控指定的日志目录。应理解的是,该Filebeat模块用于提取Agent采集模块采集到的日志信息的日志目标,并将实时更新的日志信息传输给上述Kafka模块。
在本公开实施例中,考虑到数据库停机成本过高,因此在实际的审计场景中往往为在线审计,基于此,本公开可以实时读取日志目标的日志文件,并基于该日志文件更新日志信息,以实现针对数据库的在线审计。
在一个可选的实施方式中,上述图1对应的实施例,还包括如下过程:
(1)、在所述日志信息中确定审计日志后,实时监测所述审计日志中的异常操作日志;
(2)、基于所述异常操作日志,生成报警信息,以将所述报警信息展示给审计对象。
在本公开实施例中,异常操作日志可以用于指示对上述关键信息的风险操作。这里,在确定出上述审计日志后,可以实时对该审计日志进行监测,并在监测到异常操作日志时进行报警操作。
举例来说,在上述审计日志对应的操作数据为敏感数据时,风险操作可以为无权限账号对该敏感数据的查询操作日志后,可以将该查询操作。在监测该风险操作时,可以在审计日志中实时监测该风险操作对应的异常操作日志。
在获取到上述异常操作日志后,可以基于该异常操作日志确定上述风险操作的操作信息,例如,操作账号,操作时间,操作对象信息等。然后,可以基于该操作信息生成报警信息,以使审计人员基于该报警信息进行问题查找以及责任追溯。
在本公开实施例中,可以实时监测审计日志中的异常操作日志,从而基于该异常操作日志生成报警信息,以实现自动报警,从而及时通知审计人员对该报警信息进行处理,提高了数据安全体系整体的安全性。
综上,在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据库的日志审计方法对应的数据库的日志审计系统,由于本公开实施例中的系统解决问题的原理与本公开实施例上述数据库的日志审计方法相似,因此系统的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种数据库的日志审计系统的架构图,所述系统应用于分布式数据库系统,该分布式数据库系统中包括多个数据库节点,所述系统包括:Agent采集模块、Filebeat模块、Kafka模块、Logstash模块、Elasticsearch模块;其中:
Agent采集模块,采集各个数据库节点中上述mariadb插件记录的目标操作类型对应的日志信息。
Filebeat模块,可以为日志文件托运工具,负责监控指定的日志目录,具体的,可以确定上述日志信息对应的日志目录,并实时读取该日志目标的日志文件,以基于该日志文件更新日志信息。
Kafka模块,可以为高吞吐量的分布式发布订阅消息系统,用于对各个数据节点对应的日志信息进行汇总。
Logstash模块,可以为数据收集引擎,用于按照上述预设审计规则,对上述Kafka模块传输的日志信息进行筛选,得到审计日志。
在本公开实施例中,通过预设审计规则确定审计日志的方式如上述图1对应的实施例所述,此处不再赘述。
Elasticsearch模块:可以为分布式存储、搜索、分析引擎,负责审计日志的存储,同时可以为server服务端进行审计日志的搜索提供有力支撑。
在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
基于同一发明构思,本公开实施例中还提供了与数据库的日志审计方法对应的数据库的日志审计装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据库的日志审计方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种数据库的日志审计装置的示意图,所述装置包括:采集单元41、第一确定单元42、第二确定单元43;其中,
采集单元41,用于在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
第一确定单元42,用于在所述第一数据表中确定包括关键信息的第二数据表;
第二确定单元43,用于基于所述第二数据表,在所述日志信息中确定审计日志。
在本公开实施例中,首先可以在数据库中采集目标类型操作的日志信息,并确定该目标类型操作对应的第一数据表,以在该第一数据表中确定包括关键信息的第二数据表。然后,可以基于该第二数据表,在日志信息中确定审计日志,从而确定出包括数据库的关键信息的审计日志,以降低审计日志的数据量,在减少数据存储压力的同时,实现了审计自动化,在提升了审计效率的同时降低了人力成本。
一种可能的实施方式中,所述关键信息包括:敏感数据,第一确定单元41,还用于:
获取所述数据库中的信息子库,并在所述第一数据表中确定所述信息子库对应的第二数据表,其中,所述信息子库用于存放所述数据库本身的核心数据;以及
在所述第一数据表中确定包括用户信息的第二数据表。
一种可能的实施方式中,第二确定单元42,还用于:
获取预设审计规则;
在所述第二数据表中确定命中所述预设审计规则的目标字段,并将所述目标字段对应的日志信息确定为审计日志。
一种可能的实施方式中,第二确定单元42,还用于:
基于所述预设审计规则中的条件语句,对所述第二数据表中的字段进行判断,得到判断结果;
在所述字段中确定判断结果命中所述预设审计规则的目标字段。
一种可能的实施方式中,该装置还用于:
在所述数据库中,确定所述关键信息对应的数据表名称;
基于所述条件语句以及所述数据表名称,确定所述预设审计规则。
一种可能的实施方式中,该装置还用于:
在数据库中采集目标类型操作的日志信息后,确定所述日志信息对应的日志目录;
实时读取所述日志目标的日志文件,并基于所述日志文件更新所述日志信息。
一种可能的实施方式中,该装置还用于:
在所述日志信息中确定审计日志后,实时监测所述审计日志中的异常操作日志;
基于所述异常操作日志,生成报警信息,以将所述报警信息展示给审计对象。
关于装置中的各单元的处理流程、以及各单元之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的数据库的日志审计方法,本公开实施例还提供了一种计算机设备500,如图5所示,为本公开实施例提供的计算机设备500结构示意图,包括:
处理器51、存储器52、和总线53;存储器52用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换,当所述计算机设备500运行时,所述处理器51与所述存储器52之间通过总线53通信,使得所述处理器51执行以下指令:
在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
在所述第一数据表中确定包括所述数据库的关键信息的第二数据表;
基于所述第二数据表,在所述日志信息中确定审计日志。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据库的日志审计方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据库的日志审计方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据库的日志审计方法,其特征在于,包括:
在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
在所述第一数据表中确定包括所述数据库的关键信息的第二数据表;
基于所述第二数据表,在所述日志信息中确定审计日志。
2.根据权利要求1所述的方法,其特征在于,所述关键信息包括:敏感数据;
所述在所述第一数据表中确定包括所述数据库的关键信息的第二数据表,包括:
获取所述数据库中的信息子库,并在所述第一数据表中确定所述信息子库对应的第二数据表,其中,所述信息子库用于存放所述数据库本身的核心数据;以及
在所述第一数据表中确定包括用户信息的第二数据表。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第二数据表,在所述日志信息中确定审计日志,包括:
获取预设审计规则;
在所述第二数据表中确定命中所述预设审计规则的目标字段,并将所述目标字段对应的日志信息确定为审计日志。
4.根据权利要求3所述的方法,其特征在于,所述在所述第二数据表中确定命中所述预设审计规则的目标字段,包括:
基于所述预设审计规则中的条件语句,对所述第二数据表中的字段进行判断,得到判断结果;
在所述字段中确定判断结果命中所述预设审计规则的目标字段。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述数据库中,确定所述关键信息对应的数据表名称;
基于所述条件语句以及所述数据表名称,确定所述预设审计规则。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在数据库中采集目标类型操作的日志信息后,确定所述日志信息对应的日志目录;
实时读取所述日志目标的日志文件,并基于所述日志文件更新所述日志信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述日志信息中确定审计日志后,实时监测所述审计日志中的异常操作日志;
基于所述异常操作日志,生成报警信息,以将所述报警信息展示给审计对象。
8.一种数据库的日志审计装置,其特征在于,包括:
采集单元,用于在数据库中采集目标类型操作的日志信息,并确定所述目标类型操作对应的第一数据表;
第一确定单元,用于在所述第一数据表中确定包括关键信息的第二数据表;
第二确定单元,用于基于所述第二数据表,在所述日志信息中确定审计日志。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任意一项所述的数据库的日志审计方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的数据库的日志审计方法的步骤。
CN202311110481.7A 2023-08-30 2023-08-30 数据库的日志审计方法、装置、计算设备以及存储介质 Pending CN117056301A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311110481.7A CN117056301A (zh) 2023-08-30 2023-08-30 数据库的日志审计方法、装置、计算设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311110481.7A CN117056301A (zh) 2023-08-30 2023-08-30 数据库的日志审计方法、装置、计算设备以及存储介质

Publications (1)

Publication Number Publication Date
CN117056301A true CN117056301A (zh) 2023-11-14

Family

ID=88662566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311110481.7A Pending CN117056301A (zh) 2023-08-30 2023-08-30 数据库的日志审计方法、装置、计算设备以及存储介质

Country Status (1)

Country Link
CN (1) CN117056301A (zh)

Similar Documents

Publication Publication Date Title
US8533193B2 (en) Managing log entries
US8635596B2 (en) Model-based event processing
US9400733B2 (en) Pattern matching framework for log analysis
CN109388642B (zh) 基于标签的敏感数据追踪溯源方法
CN103890709A (zh) 基于缓存的键值数据库映射和复制
CA3176450A1 (en) Method and apparatus for implementing incremental data consistency
CN111259004B (zh) 一种存储引擎中数据索引的方法以及相关装置
Shihab An exploration of challenges limiting pragmatic software defect prediction
CN111881011A (zh) 日志管理方法、平台、服务器及存储介质
CN111783042A (zh) 数据库的访问控制方法、装置、数据库主系统和电子设备
CN113791586A (zh) 一种新型的工业app与标识注册解析集成方法
CN104881483A (zh) 用于Hadoop平台数据泄露攻击的自动检测取证方法
Brady et al. Addressing the increasing volume and variety of digital evidence using an ontology
Al-Dhaqm et al. Database Forensics Field and Children Crimes
JP4989761B2 (ja) イベント履歴記憶装置、イベント履歴追跡装置、イベント履歴記憶方法及びイベント履歴記憶プログラム
CN111782589B (zh) 一种用于操作历史重现的数据模型的构建方法及系统
AfzaliSeresht et al. An explainable intelligence model for security event analysis
JP7538272B2 (ja) 機械学習モデル運用管理システム、運用管理方法及びコンピュータプログラム
CN116610567A (zh) 应用程序异常的预警方法、装置、处理器以及电子设备
CN117056301A (zh) 数据库的日志审计方法、装置、计算设备以及存储介质
Richter et al. OTOSO: online trace ordering for structural overviews
CN115829412A (zh) 一种基于业务过程的指标数据量化处理方法、系统及介质
CN115640158A (zh) 一种基于数据库的检测分析方法及装置
US11755430B2 (en) Methods and systems for storing and querying log messages using log message bifurcation
CN111352824A (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