CN105809031B - 数据库审计的方法、装置及系统 - Google Patents

数据库审计的方法、装置及系统 Download PDF

Info

Publication number
CN105809031B
CN105809031B CN201610127715.2A CN201610127715A CN105809031B CN 105809031 B CN105809031 B CN 105809031B CN 201610127715 A CN201610127715 A CN 201610127715A CN 105809031 B CN105809031 B CN 105809031B
Authority
CN
China
Prior art keywords
database access
database
data
statement
access 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.)
Active
Application number
CN201610127715.2A
Other languages
English (en)
Other versions
CN105809031A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201610127715.2A priority Critical patent/CN105809031B/zh
Publication of CN105809031A publication Critical patent/CN105809031A/zh
Application granted granted Critical
Publication of CN105809031B publication Critical patent/CN105809031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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

Abstract

本发明公开了一种数据库审计的方法,所述数据库审计的方法包括:监听数据库访问网关并获取数据库访问信息;根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;当判断到所述数据库访问语句非法时,提示数据库管理员。本发明还公开了一种数据库审计的装置、一种数据库审计的系统。本发明使数据库审计工作不再需要大量的人工参与,并且能够自动完成审计同时在发现非法数据库访问时主动提示数据库管理员。

Description

数据库审计的方法、装置及系统
技术领域
本发明涉及数据库领域,尤其涉及数据库审计的方法、装置及系统。
背景技术
随着网络与计算机技术的飞速发展,使用数据库作为信息存储的应用越来越多,而数据库作为应用信息存储的核心,对于其安全性的要求也越来越高,由于越来越多的应用接入网络,在网络环境下,数据库面临的攻击也越来越多,同时,数据作为应用信息存储的核心,保存着用户及应用大量的信息,对于其中某些信息是禁止他人访问的,因此,数据库应该具有对数据访问可以追溯源头的功能。
现有技术中,数据库管理工具通常只具有简单的数据库访问记录的功能,且对于数据库访问的审计需要大量的人为参与才能进行,且现有的数据库审计方法无法对非法的数据库访问进行自动记录,需要人工分析数据库日志才能完成,这大大的增加了数据库管理员的工作压力,且降低了数据库使用的安全性。
发明内容
本发明的主要目的在于提供一种数据库审计的方法、装置及系统,旨在解决现有技术中,对于数据库访问审计需要大量的人为参与的技术问题。
为实现上述目的,本发明提供一种数据库审计的方法,所述数据库审计的方法包括以下步骤:
监听数据库访问网关并获取数据库访问信息;
根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;
当判断到所述数据库访问语句非法时,提示数据库管理员。
优选地,所述当判断到所述数据库访问语句非法时,提示数据库管理员的步骤之后还包括:
根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
优选地,所述监听数据库访问网关并获取数据库访问信息的步骤包括:
监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问数据;
根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
优选地,所述根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句的步骤包括:
根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句;
将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
此外,为实现上述目的,本发明还提供一种数据库审计的装置,所述数据库审计的装置包括:
监听获取模块,用于监听数据库访问网关并获取数据库访问信息;
解析保存模块,用于根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
判断模块,用于预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;
提示模块,用于当判断到所述数据库访问语句非法时,提示数据库管理员。
优选地,所述数据库审计的装置还包括:
追溯模块,用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
优选地,所述监听获取模块包括:
数据抓取单元,用于监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问数据;
信息获取单元,用于根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
优选地,所述解析保存模块包括:
解析单元,用于根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句;
发送保存单元,用于将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
此外,为实现上述目的,本发明还提供一种数据库审计的系统,所述数据库审计系统包括:
审计客户端,用于监听数据库访问网关并获取数据库访问信息;
审计服务端,用于根据审计客户端获取的所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
大数据平台,用于预设时间间隔后,获取审计服务端在预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;当判断到所述数据库访问语句非法时,提示数据库管理员。
优选地,所述大数据平台还用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
本发明实施例提出的一种数据库审计的方法、装置及系统,通过监听数据库访问网关获取并保存数据库访问语句,并定时对数据库访问语句进行判断,在判断到所述数据库访问语句非法时提示数据库管理员,实现了对数据库所有访问语句进行审计,且在发现非法数据库访问语句时主动提示数据库管理员的功能。
附图说明
图1为本发明数据库审计的方法的第一实施例的流程示意图;
图2为本发明数据库审计的方法的第二实施例的流程示意图;
图3为本发明数据库审计的方法的第三实施例的流程示意图;
图4为本发明数据库审计的方法的第四实施例的流程示意图;
图5为本发明数据库审计的装置的第一实施例的功能模块示意图;
图6为本发明数据库审计的装置的第二实施例的功能模块示意图;
图7为本发明数据库审计的装置的第三实施例的功能模块示意图;
图8为本发明数据库审计的装置的第四实施例的功能模块示意图;
图9为本发明数据库审计的系统的第一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:监听数据库访问网关并获取数据库访问信息;根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;当判断到所述数据库访问语句非法时,提示数据库管理员。
由于现有技术需要人工分析数据库访问记录,从而发现非法数据库访问语句。
本发明提供一种解决方案,使数据库审计系统可以自动对所有数据库访问进行审计,且在发现数据库访问存在非法的情况时,提示数据库管理员。
参照图1,为本发明数据库审计的方法的第一实施例,所述数据库审计的方法包括:
步骤S100,监听数据库访问网关并获取数据库访问信息。
通过设置数据库网关监听,监听数据库访问网关,并对数据库访问网关的访问数据进行抓取,根据抓取获得的数据获得数据库访问信息,可以预见的,所述数据库访问网关可能存在其他访问数据,因此,需要对所述抓取获得的数据进行筛选,从而获得数据库访问信息。
步骤S200,根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句。
根据所述数据库访问信息根据对应的数据库协议,通过预设对应的解析算法解析出与所述数据库访问信息相对应的数据库访问语句,并保存所述数据库访问语句。
步骤S300,预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法。
为了保证数据库系统审计的实时性,通常在预设时间间隔后,方才获取预设时段内保存的数据库访问语句,对所述保存的数据库访问语句通过预设算法逐一进行判断,判断所述数据库访问语句是否合法,例如,所述判断可以通过正则表达式匹配核心数据表关键字,通过匹配结果判断所述数据库访问语句是否合法,进一步的,为方便数据库管理员使用,可通过预设白名单的方式增加合法的数据库访问规则。
针对本步骤,一种可能的实施方式包括如下步骤:
1、预设时间间隔10分钟后,读取10分钟内保存的数据库访问语句;
2、对每一条数据库访问语句应用规则判断,所述规则判断可以为正则表达式匹配,如通过正则表达式过滤出所有带有/*slave*/开头标记的数据库访问语句;
3、根据步骤2所过滤出来的带有/*slave*/开头标记的数据库访问语句与数据库管理员预设的白名单进行比较,若在所述白名单之中,则所述数据库访问语句合法,若不在所述白名单之中,则所述数据库访问语句非法。
步骤S400,当判断到所述数据库访问语句非法时,提示数据库管理员。
当判断到所述数据库访问语句非法时,通过通知、告警等方式提示数据库管理员,使数据库管理员能够及时知晓该非法数据库访问语句,可以预见的,所述对数据库管理员的提示可以包括:邮件、短信、微信等。
在本实施例中,通过对数据库访问网关进行监听,获取所有数据库访问信息,并对该数据库访问信息进行解析并保存解析后生成的数据库访问语句,同时在预设时间间隔后对保存的预设时段内的数据库访问语句进行审计,判断是否存在非法数据库访问,并在发现非法访问时提示数据库管理员,使得数据库审计工作不再需要大量的人工参与,能够自动完成审计且在发现非法数据库访问时主动提示数据库管理员。
进一步的,参照图2,为本发明数据库审计的方法的第二实施例,基于上述图1所示的实施例,所述步骤S400,当判断到所述数据库访问语句非法时,提示数据库管理员之后还包括:
步骤S500,根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
根据所述非法的数据库访问语句获得与其对应的数据库访问信息,并根据所述数据库访问信息获得该数据库访问语句的源地址,从而对所述非法的数据库访问语句进行追溯,其中,所述数据库访问信息中包括:源IP地址、源端口号、源MAC、目标IP地址、目标端口号、目标MAC。
在本实施例中,基于上一实施例所述的优点,通过非法数据库访问语句获得对应的数据库访问信息,从而获得非法数据库访问语句的源地址,使得数据库管理员在发现非法数据库访问语句时,可以对所述非法数据库访问进行追溯,从而做出相应的处理,使得数据库更为安全。
进一步的,参照图3,为本发明数据库审计的方法的第三实施例,基于上述图1所示的实施例,所述步骤S100,监听数据库访问网关并获取数据库访问信息包括:
步骤S101,监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问语句。
通过对数据库访问网关设置监听,并通过预设数据抓取规则抓取通过所述网关的数据库访问语句,一般的,所述数据抓取规则为设置特定的网络接口和目标端口。
步骤S102,根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
根据所述抓取到的数据库访问数据,将所述数据库访问数据根据所述数据库访问数据的数据结构分解为数据头和数据内容,获取对应的数据库访问信息,所述数据头包括:源IP地址、源端口号、源MAC、目标IP地址、目标端口号、目标MAC。
具体实施时,以所述数据库为MySQL为例,本实施例的具体实施步骤包括:
1、找出网关所有有效的mysqld和mysql-proxy监听;
2、对有效的监听创建线程进行数据抓取,并设置过滤器interface and dst portportnum;
3、将抓取的数据分解为数据头和数据内容;
4、解析数据头为新数据头(源ip、端口、MAC,目的ip、端口、MAC),并将数据内容分片,所述新数据头和分片后的数据内容即组成数据库访问信息。
本实施例中,基于上一实施例所述的优点,通过监听抓取数据库访问网关的数据,并通过设置过滤器过滤获得数据库访问语句,同时获得对应的数据库访问信息,使得对数据库访问信息的获取及解析自动化,避免人为参与,减少了人工操作。
进一步的,参照图4,为本发明数据库审计的方法的第四实施例,基于上述图3所示的实施例,所述步骤S200,根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句包括:
步骤S201,根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句。
根据所述数据库访问信息中的数据内容根据数据库协议及网络传输协议,通过预设解析算法解析出对应的数据库访问语句。
步骤S202,将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存,同时与所述数据库访问信息中的数据头的内容进行关联。
具体实施时,以网络传输协议为TCP,数据库为MySQL为例,本实施例的具体实施步骤包括:
1、根据MYSQL的协议和TCP的协议解析所述数据库访问信息,解析出出SQL语句;
2、根据所述数据库访问信息中的数据头中的源ip、源端口、目标ip、目标端口标识同一个请求;
3、发送SQL语句给日志服务器,由日志服务器进行日志落地保存。
在本实施例中,基于上一实施例所述的优点,根据传输协议和数据库协议对数据库访问信息进行解析,解析出数据库访问语句,并将所述数据库访问语句保存在日志服务器中,使得,本发明可以直接通过日志服务器获取对应的数据库访问语句,增加了所述数据库审计方法的适用性及执行效率。
参照图5,为本发明数据库审计的装置的第一实施例,所述数据库审计的装置包括:
监听获取模块100,用于监听数据库访问网关并获取数据库访问信息。
通过设置数据库网关监听,监听数据库访问网关,并对数据库访问网关的访问数据进行抓取,根据抓取获得的数据获得数据库访问信息,可以预见的,所述数据库访问网关可能存在其他访问数据,因此,需要对所述抓取获得的数据进行筛选,从而获得数据库访问信息。
解析保存模块200,用于根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句。
根据所述数据库访问信息根据对应的数据库协议,通过预设对应的解析算法解析出与所述数据库访问信息相对应的数据库访问语句,并保存所述数据库访问语句。
判断模块300,用于预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法。
为了保证数据库系统的正常运行,通常在预设时间间隔后,方才获取预设时段内保存的数据库访问语句,对所述保存的数据库访问语句通过预设算法逐一进行判断,判断所述数据库访问语句是否合法,例如,所述判断可以通过正则表达式匹配核心数据表关键字,通过匹配结果判断所述数据库访问语句是否合法,进一步的,为方便数据库管理员使用,可通过预设白名单的方式增加合法的数据库访问语句规则。
针对本模块,一种可能的实施方式包括如下步骤:
1、预设时间间隔10分钟后,读取10分钟内保存的数据库访问语句;
2、对每一条数据库访问语句应用规则判断,所述规则判断可以为正则表达式匹配,如通过正则表达式过滤出所有带有/*slave*/开头标记的数据库访问语句;
3、根据步骤2所过滤出来的带有/*slave*/开头标记的数据库访问语句与数据库管理员预设的白名单进行比较,若在所述白名单之中,则所述数据库访问语句合法,若不在所述白名单之中,则所述数据库访问语句非法。
提示模块400,用于当判断到所述数据库访问语句非法时,提示数据库管理员。
当判断到所述数据库访问语句非法时,通过通知、告警等方式提示数据库管理员,使数据库管理员能够及时知晓该非法数据库访问语句,可以预见的,所述对数据库管理员的提示可以包括:邮件、短信、微信等。
在本实施例中,通过对数据库访问网关进行监听,获取所有数据库访问信息,并对该数据库访问信息进行解析并保存解析后生成的数据库访问语句,同时在预设时间间隔后对保存的预设时段内的数据库访问语句进行审计,判断是否存在非法数据库访问,并在发现非法访问时提示数据库管理员,使得数据库审计工作不再需要大量的人工参与,能够自动完成审计且在发现非法数据库访问时主动提示数据库管理员。
进一步的,参照图6,为本发明数据库审计的装置的第二实施例,基于上述图5所示的实施例,所述数据库审计的装置还包括:
追溯模块500,用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
根据所述非法的数据库访问语句获得与其对应的数据库访问信息,并根据所述数据库访问信息获得该数据库访问语句的源地址,从而对所述非法的数据库访问语句进行追溯,其中,所述数据库访问信息中包括:源IP地址、源端口号、源MAC、目标IP地址、目标端口号、目标MAC。
在本实施例中,基于上一实施例所述的优点,通过非法数据库访问语句获得对应的数据库访问信息,从而获得非法数据库访问语句的源地址,使得数据库管理员在发现非法数据库访问语句时,可以对所述非法数据库访问进行追溯,从而做出相应的处理,使得数据库更为安全。
进一步的,参照图7,为本发明数据库审计的装置的第三实施例,基于上述图5所示的实施例,所述监听获取模块100包括:
数据抓取单元101,用于监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问数据。
通过对数据库访问网关设置监听,并通过预设数据抓取规则抓取通过所述网关的数据库访问数据,一般的,所述数据抓取规则为设置特定的网络接口和目标端口。
信息获取单元102,用于根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
根据所述抓取到的数据库访问数据,将所述数据库访问数据根据所述数据库访问数据的数据结构分解为数据头和数据内容,获取对应的数据库访问信息,所述数据头包括:源IP地址、源端口号、源MAC、目标IP地址、目标端口号、目标MAC。
具体实施时,以所述数据库为MySQL为例,本实施例的具体实施步骤包括:
1、找出网关所有有效的mysqld和mysql-proxy监听;
2、对有效的监听创建线程进行数据抓取,并设置过滤器interface and dst portportnum;
3、将抓取的数据分解为数据头和数据内容;
4、解析数据头为新数据头(源ip、端口、MAC,目的ip、端口、MAC),并将数据内容分片,所述新数据头和分片后的数据内容即组成数据库访问信息。
本实施例中,基于上一实施例所述的优点,通过监听抓取数据库访问网关的数据,并通过设置过滤器过滤获得数据库访问语句,同时获得对应的数据库访问信息,使得对数据库访问信息的获取及解析自动化,避免人为参与,减少了人工操作。
进一步的,参照图8,为本发明数据库审计的装置的第四实施例,基于上述图7所示的实施例,所述解析保存模块200包括:
解析单元201,用于根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句。
根据所述数据库访问信息中的数据内容根据数据库协议及网络传输协议,通过预设解析算法解析出对应的数据库访问语句。
发送保存单元202,用于将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存,同时与所述数据库访问信息中的数据头的内容进行关联。
具体实施时,以网络传输协议为TCP,数据库为MySQL为例,本实施例的具体实施步骤包括:
1、根据MYSQL的协议和TCP的协议解析所述数据库访问信息,解析出出SQL语句;
2、根据所述数据库访问信息中的数据头中的源ip、源端口、目标ip、目标端口标识同一个请求;
3、发送SQL语句给日志服务器,由日志服务器进行日志落地保存。
在本实施例中,基于上一实施例所述的优点,根据传输协议和数据库协议对数据库访问信息进行解析,解析出数据库访问语句,并将所述数据库访问语句保存在日志服务器中,使得,本发明可以直接通过日志服务器获取对应的数据库访问语句,增加了所述数据库审计方法的适用性及执行效率。
参照图9,为本发明数据库审计的系统的第一实施例,所述数据库审计的系统包括:
审计客户端001,用于监听数据库访问网关并获取数据库访问信息。
通过设置数据库网关监听,监听数据库访问网关,并对数据库访问网关的访问数据进行抓取,根据抓取获得的数据获得数据库访问信息,可以预见的,所述数据库访问网关可能存在其他访问数据,因此,需要对所述抓取获得的数据进行筛选,从而获得数据库访问信息。
审计服务端002,用于根据审计客户端获取的所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句。
根据审计客户端001获取的所述数据库访问信息中的数据内容根据数据库协议及网络传输协议,通过预设解析算法解析出对应的数据库访问语句;并将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存,同时与所述数据库访问信息中的数据头的内容进行关联。
大数据平台003,用于预设时间间隔后,获取审计服务端002在预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;当判断到所述数据库访问语句非法时,提示数据库管理员;
进一步的,所述大数据平台还用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
具体实施时,本实施例的具体实施步骤包括:
1、审计客户端001进行SQL数据的抓取,对数据进行重组织和分组,上报给审计服务端002;
2、审计服务端002接收SQL数据,对数据进行解析,找出SQL语句并进行日志落地;
3、使用BDP工具每10分钟上报数据库访问语句到大数据平台003;
4、大数据平台003中审计模型拉取数据进行审计。
具体的,以MySQL为例,详细步骤包括:
1、找出网关所有有效的mysqld和mysql-proxy监听;
2、对有效的监听创建线程进行数据抓取,并设置过滤器interface and dst portportnum;
3、将抓取的数据分解为数据头和数据内容;
4、解析数据头为新数据头(源ip、源端口、源MAC、目标ip、目标端口、目标MAC),并将数据内容分片;
5、将数据头和分片数据放入环形缓冲区;
6、数据发送者从缓冲区取多个数据包发送给审计服务端;
7、数据接入接收到数据后取出数据包,并将数据包放入解析器对应的缓冲区;
8、解析器从缓冲区取数据包,根据数据包的源ip、源端口、目标ip、目标端口,将数据放入对应的队列;
9、如果存在队列有数据并且超过缓存时间,则开始进行SQL解析;
10、根据MYSQL的协议和TCP的协议解析出SQL语句;
11、根据源ip、源端口、目标ip、目标端口标识同一个请求;
12、发送SQL语句给日志服务器,由日志服务器进行日志落地;
13、读取最近10分钟的SQL日志,并存储为临时日志文件;
14、对临时日志文件进行gzip压缩;
15、使用时间和审计服务器ip做为分区上传到BDP大数据平台;
16、读取最近10分钟的SQL数据;
17、对每一条SQL语句应用规则判断,其中典型规则为:过滤出所有带有/*slave*/开头标识的sql,将过滤出的sql与已有的sql白名单进行精准匹配,如果不在白名单内的sql,则通知或告警到DBA团队。
在本实施例中,所述数据库审计的系统,通过审计客户端001对数据库访问网关进行监听,获取所有数据库访问信息,并由审计服务端002对审计客户端001获取的数据库访问信息进行解析并保存解析后生成的数据库访问语句,同时由大数据平台003在预设时间间隔后对保存的预设时段内的数据库访问语句进行审计,判断是否存在非法数据库访问,并在发现非法访问时提示数据库管理员,使得数据库审计工作不再需要大量的人工参与,能够自动完成审计且在发现非法数据库访问时主动提示数据库管理员。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据库审计的方法,其特征在于,所述数据库审计的方法包括以下步骤:监听数据库访问网关并获取数据库访问信息;根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;
当判断到所述数据库访问语句非法时,提示数据库管理员;
其中,所述监听数据库访问网关并获取数据库访问信息的步骤,包括:监听数据库访问网关,找出网关所有有效mysqld和mysql-proxy监听;对有效的监听创建线程进行数据抓取,将抓取的数据分解为数据头和数据内容;解析数据头为新数据头,并将数据内容分片,所述新数据头和分片后的数据内容即组成数据库访问信息。
2.如权利要求1所述的方法,其特征在于,所述当判断到所述数据库访问语句非法时,提示数据库管理员的步骤之后还包括:
根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
3.如权利要求1或2所述的方法,其特征在于,所述监听数据库访问网关并获取数据库访问信息的步骤包括:
监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问数据;
根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
4.如权利要求3所述的方法,其特征在于,所述根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句的步骤包括:
根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句;
将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
5.一种数据库审计的装置,其特征在于,所述数据库审计的装置包括:
监听获取模块,用于监听数据库访问网关并获取数据库访问信息;
解析保存模块,用于根据所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
判断模块,用于预设时间间隔后,获取预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;
提示模块,用于当判断到所述数据库访问语句非法时,提示数据库管理员;
其中,所述监听获取模块包括:监听数据库访问网关,找出网关所有有效mysqld和mysql-proxy监听;对有效的监听创建线程进行数据抓取,将抓取的数据分解为数据头和数据内容;解析数据头为新数据头,并将数据内容分片,所述新数据头和分片后的数据内容即组成数据库访问信息。
6.如权利要求5所述的装置,其特征在于,所述数据库审计的装置还包括:
追溯模块,用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
7.如权利要求5或6所述的装置,其特征在于,所述监听获取模块包括:
数据抓取单元,用于监听数据库访问网关,根据预设数据抓取规则抓取通过所述网关的数据库访问数据;
信息获取单元,用于根据所述抓取到的数据库访问数据,获取对应的数据库访问信息,所述数据库访问信息包括:数据头和数据内容。
8.如权利要求7所述的装置,其特征在于,所述解析保存模块包括:
解析单元,用于根据所述数据库访问信息中的数据内容通过预设解析算法解析出对应的数据库访问语句;
发送保存单元,用于将所述数据库访问语句发送给日志服务器,由所述日志服务器进行保存。
9.一种数据库审计的系统,其特征在于,所述数据库审计系统包括:
审计客户端,用于监听数据库访问网关并获取数据库访问信息;
审计服务端,用于根据审计客户端获取的所述数据库访问信息解析获得对应的数据库访问语句,并保存所述数据库访问语句;
大数据平台,用于预设时间间隔后,获取审计服务端在预设时段内保存的数据库访问语句,并通过预设算法判断所述数据库访问语句是否合法;当判断到所述数据库访问语句非法时,提示数据库管理员。
10.如权利要求9所述的系统,其特征在于,所述大数据平台还用于根据所述非法的数据库访问语句对应的数据库访问信息,对所述非法的数据库访问语句进行追溯,获取所述数据库访问语句的源地址。
CN201610127715.2A 2016-03-07 2016-03-07 数据库审计的方法、装置及系统 Active CN105809031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610127715.2A CN105809031B (zh) 2016-03-07 2016-03-07 数据库审计的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610127715.2A CN105809031B (zh) 2016-03-07 2016-03-07 数据库审计的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN105809031A CN105809031A (zh) 2016-07-27
CN105809031B true CN105809031B (zh) 2018-12-28

Family

ID=56467592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610127715.2A Active CN105809031B (zh) 2016-03-07 2016-03-07 数据库审计的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN105809031B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763543A (zh) * 2018-05-31 2018-11-06 郑州信大天瑞信息技术有限公司 数据库审计监测系统
CN110062001B (zh) * 2019-04-26 2023-01-24 深圳前海微众银行股份有限公司 数据投放方法、装置、设备及计算机可读存储介质
CN110363014A (zh) * 2019-07-05 2019-10-22 上海瀚之友信息技术服务有限公司 一种数据库的审计系统
CN111274461A (zh) * 2020-01-14 2020-06-12 深信服科技股份有限公司 数据审计方法、数据审计装置及存储介质
CN113704825A (zh) * 2021-09-08 2021-11-26 上海观安信息技术股份有限公司 一种数据库审计方法、装置、系统及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982141A (zh) * 2012-11-20 2013-03-20 北京搜狐新媒体信息技术有限公司 一种实现分布式数据库代理的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605722B (zh) * 2013-11-15 2018-11-06 北京奇虎科技有限公司 数据库监控方法及装置、设备
CN104063473B (zh) * 2014-06-30 2017-11-17 北京华电天益信息科技有限公司 一种数据库审计监测系统及其方法
CN104361035B (zh) * 2014-10-27 2017-10-27 深信服网络科技(深圳)有限公司 检测数据库篡改行为的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982141A (zh) * 2012-11-20 2013-03-20 北京搜狐新媒体信息技术有限公司 一种实现分布式数据库代理的方法及装置

Also Published As

Publication number Publication date
CN105809031A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN105809031B (zh) 数据库审计的方法、装置及系统
CN106713049B (zh) 一种监控的告警方法及装置
US9794291B2 (en) Detecting and managing abnormal data behavior
US9632903B2 (en) Techniques for distributed testing
CN101924757B (zh) 追溯僵尸网络的方法和系统
EP2866411A1 (en) Method and system for detecting unauthorized access to and use of network resources with targeted analytics
CN109344624B (zh) 基于云端协作的渗透测试方法、平台、设备及存储介质
CN110443048A (zh) 数据中心查数系统
CN108259425A (zh) 攻击请求的确定方法、装置及服务器
CN107786551B (zh) 访问内网服务器的方法及控制访问内网服务器的装置
CN109495467B (zh) 拦截规则的更新方法、设备及计算机可读存储介质
CN103888459B (zh) 网络内网入侵的检测方法及装置
CN108632378A (zh) 一种面向云平台业务的监控方法
CN104869155B (zh) 数据审计方法及装置
CN110290138B (zh) 适于测试数据库的限制登录方法和系统
CN107463839A (zh) 一种管理应用程序的系统和方法
CN111767573A (zh) 数据库安全管理方法、装置、电子设备及可读存储介质
CN107506408A (zh) 对海量事件分布式关联匹配的方法及系统
CN109413001A (zh) 对云计算系统内的交互数据进行安全保护的方法及装置
CN109600395A (zh) 一种终端网络接入控制系统的装置及实现方法
CN112769739B (zh) 数据库操作违规处理方法、装置及设备
CN115659324B (zh) 一种用于数据安全的多设备安全管理方法及系统
CN115222375B (zh) 一种基于大数据的政务数据监控分析处理方法及系统
CN106506553A (zh) 一种网际协议ip过滤方法及系统
CN106850501A (zh) 检测僵木蠕网络的方法以及系统

Legal Events

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