CN1858738B - 访问数据库的方法及装置 - Google Patents

访问数据库的方法及装置 Download PDF

Info

Publication number
CN1858738B
CN1858738B CN2006100076097A CN200610007609A CN1858738B CN 1858738 B CN1858738 B CN 1858738B CN 2006100076097 A CN2006100076097 A CN 2006100076097A CN 200610007609 A CN200610007609 A CN 200610007609A CN 1858738 B CN1858738 B CN 1858738B
Authority
CN
China
Prior art keywords
database
client
operation requests
unit
record
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
CN2006100076097A
Other languages
English (en)
Other versions
CN1858738A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2006100076097A priority Critical patent/CN1858738B/zh
Publication of CN1858738A publication Critical patent/CN1858738A/zh
Application granted granted Critical
Publication of CN1858738B publication Critical patent/CN1858738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种访问数据库的方法及装置,所述方法包括:A、数据访问代理通过调用安全认证***来验证所接收到客户端访问数据库操作请求的合法性,并将合法的操作请求发送给数据库,同时调用日志***记录所述操作请求;B、数据库对接收到的操作请求进行处理,并将处理结果返回客户端。所述装置包括:数据库客户端,该客户端嵌入数据访问代理,用于客户端访问数据库的工具,并对其封装数据库的操作请求;统一认证及日志单元,与数据库客户端的数据访问代理相连,用于统一制定数据访问的安全策略、日志策略和/或告警策略,并在异常事件时发出告警;数据库,与数据库客户端相连,用于存储用户关系的数据。以解决访问数据库的请求不可控和不可跟踪的问题。

Description

访问数据库的方法及装置
技术领域
本发明涉及数据库技术,特别是涉及一种访问数据库的方法及装置。
背景技术
随着社会的发展,大量的数据需要存储起来,对存储的数据,根据不同用户的需求应用一定的数据访问方法进行处理,所述数据库是适应这种需求的一种技术,简单的说,数据库是数据以一种能够持久保存,并且可以***作的方式来保存的数据集合。一个数据库***由一个数据库和周围的环境,包括软件、操作***、硬件和使用它的用户组成。为了使用户可以方便的访问到数据库(比如,用户需要对数据库中的数据进行查询、添加、删除、修改等操作),数据库需要数据进行相应的控制。其中,数据库对数据的控制功能主要包括:1)数据完整性控制,是指存储数据的正确性、有效性;2)数据安全性控制,是指保护数据不被非法者使用、不造成数据的泄密;3)数据的并发控制,是指对多用户的并发操作加以控制和协调;4)数据恢复功能,是指将数据库从某一错误状态恢复到某一已知的正确状态的转换。
所述数据库***的体系结构是数据库***的一个总框架。尽管实际数据库软件产品种类繁多,使用的数据库语言各异,基础操作***不同,但是绝大多数数据库***在总体结构上都具有三级模式的结构特征。即:外模式、模式、内模式。其中,所述外模式又称子模式或用户模式,是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图;所述模式又称逻辑模式,是数据库中全体数据的全局逻辑结构和特性的描述,也是所有用户的公共数据视图;所述内模式又称存储模式,是数据在数据库***中的内部表示,即数据库的物理结构和存储方式的描述。
请参考图1,为目前使用数据库的客户终端访问数据库的逻辑示意图。其访问过程为:首先确定相应数据库的连接参数,如数据库名称、统一资源定位符(URL)及用户名称等;然后由获取的数据库连接参数建立与该数据库的连接;第三,则是根据数据库***访问操作的需求封装SQL(结构化查询语言)语句,然后执行封装后的SQI语句,返回操作结果。
具体图1所示,使用数据库客户端10的应用程序101(包括应用程序1、2和3)通过外模式标识(数据库用户)访问数据库2,并进行相应操作,比如SQL(结构化查询语言)语句。其中,所述外模式(数据库用户)标识包括:用户名、口令等,是外部应用访问数据库***的标识,可以对其进行某种方式的加密,以保证用户名、口令不致外泄。而在数据库20内设置权限认证***201,用以验证用户的合法性、和使用权限等,同时,也在数据库内设置用户所允许看到的表或数据视图202,并禁止非法用户访问数据库中不归该外模式所允许的其他数据。
上述方式对于大型应用***如移动通信、银行来说,在构建数据库***时,会使用统一的外模式来建立***的数据模型,所有应用程序客户端及维护***的人员均使用该模式或权限更小的外模式来操作数据库(SQL语句),如变更表结构、查询相关表的数据和变更表的数据等。但是,对于这些操作,目前的这种访问数据库的方法中对客户端IP地址、用户隐私相关表的查询、变更以及表结构的变更都没有进行记录、安全认证以及告警触发机制。因此目前所公开公开的技术方案存在如下缺陷:
1)对数据库的操作(SQL语句)无法跟踪,且不可控。也就是说,很难确定某个用户对数据库的破坏性操作(SQL语句)是何时发生的,以及从哪台终端登录上来的,具体的使用者是谁等;
2)在对数据库的异常操作(SQL语句,如修改表结构、删除表、删除存储过程等)发生时,***管理人员无法及时获知,导致数据库的安全性(在应用层面)大大降低,可能导致使用该数据库的应用***(如BOSS支撑***、银行***等)瘫痪,同时大大增加了数据库的维护管理的难度。
发明内容
本发明解决的技术问题是提供一种访问数据库的方法及装置,以解决目前技术方案中访问数据库的请求是不受控和不可跟踪的问题;以及对数据的安全性不可预防,且不能得到充分保障的问题。
为解决上述问题,本发明提供一种访问数据库的方法,其特征在于,包括步骤:
A、数据访问代理通过调用安全认证***来验证所接收到客户端访问数据库操作请求的合法性,并将合法的操作请求发送给数据库,同时调用日志***记录所述操作请求,其中,调用日志***记录所述操作请求的过程为:所述日志***根据日志级别对所述操作请求进行记录;
B、数据库对接收到的操作请求进行处理,并将处理结果返回客户端。
所述安全认证***将符合安全告警策略的操作请求作为告警事件发送给告警***,并通知***管理员。
所述合法性是根据预先制定的安全认证策略来度量的,所述安全认证策略包括:权限的合法性、请求的有效性以及攻击检查。
所述日志***将符合日志报警策略的操作请求作为告警事件发送给告警***,并通知***管理员。
步骤B中将处理结果返回客户端路径为:数据库直接将处理结果反馈客户端或者是通过数据访问代理将处理结果反馈客户端。
另外,本发明还提供一种访问数据库的装置,所述装置包括:
数据库客户端,用于发出数据库操作请求;
安全认证单元,用于验证访问数据库操作请求的合法性,并设置相应的告警策略,对符合告警策略的事件发出告警;
日志记录单元,用于记录访问数据库的所有操作请求,并设置相应的告警策略,在事件完成后对符合告警策略的事件发出告警;
数据库,用于存储用户关系的数据,并将处理完的数据库操作请求反馈给数据库客户端;
数据访问代理单元,与数据库客户端、安全认证单元、日志记录单元和数据库分别相连,用于接收用数据库客户端发送的数据库操作请求信息,并调用安全认证单元验证所述操作请求信息的合法性,将合法的操作请求信息发送给数据库;以及调用日志记录单元记录接收到的所有操作请求信息。
所述数据访问代理单元嵌入到数据库客户端,用于客户端访问数据库的工具,并对其封装数据库的操作请求。
所述装置还包括告警单元,与安全认证单元和日志记录单元分别相连,用于将安全认证单元和日志记录单元发出的关于数据库***的告警事件通知***管理员。
此外,本发明再提供一种访问数据库的装置,所述装置包括:
数据库客户端,该客户端嵌入数据访问代理,用于客户端访问数据库的工具,并对其封装数据库的操作请求;
统一认证及日志单元,与数据库客户端的数据访问代理相连,用于统一制定数据访问的安全策略、日志策略和/或告警策略,并在异常事件时发出告警,其中,所述日志策略为记录所述操作请求,并且记录所述操作请求的过程为:根据日志级别对所述操作请求进行记录;
数据库,与数据库客户端相连,用于存储用户关系的数据。
所述装置还包括告警单元,与统一认证及日志单元相连,用于将统一认证及日志单元发出的关于数据库***的告警事件通知***管理员。
最后,本发明又提供一种访问数据库的装置,所述装置包括:
数据库客户端,在该客户端内嵌入数据访问代理、安全认证子单元和日志记录子单元,用于将访问数据库的操作请求信息封装在数据访问代理中,通过安全认证子单元验证所述操作请求的合法性,并将合法的操作请求发送给数据库,并通过日志记录子单元对所述操作请求进行记录,其中记录所述操作请求的过程为:所述日志记录子单元根据日志级别对所述操作请求进行记录;所述数据库客户端还统一制定数据访问的安全策略、日志策略和/或告警策略,以及在异常事件时发送告警;
数据库,与数据库客户端相连,用于存储用户关系的数据;
所述装置还包括告警单元,与数据库客户端相连,用于将数据库客户端发出的关于数据库***的告警事件通知***管理员。
与现有技术相比,本发明具有以下有益效果:本发明通过在客户端和数据库之间设置数据访问代理,用于截获客户端发送的数据库操作请求,并对数据库的访问操作请求(SQL语句)均根据相应的安全策略验证其合法性;同时,对数据库操作请求根据相应的日志记录策略进行记录,在数据库的数据遭到破坏时,可以追踪到破坏者;当所有访问的数据库***的有异常请求(SQL语句)事件时,均可通过设置的安全告警策略、日志告警策略,将异常事件发送到告警单元,所述告警单元及时通知***管理员(DBA),以便于***管理员监客户端访问控数据库的数据情况,并对异常情况及时做出处理与维护,提高数据库的安全性。此外,通过设置相应的防攻击策略(如某个IP地址过来的客户请求(SQL)将被禁止等,屏蔽对数据库的攻击。通过安全认证***的安全策略,对不同的客户端分配不同的权限,即便使用数据库的同一用户模式,也可以限制其对数据库的分类访问请求。如BOSS应用***的数据库用户是BOSS,客户端均用BOSS登录该数据库,但可以通过安全认证***来设置相应的策略,即符合某些条件的SQL语句被授权或禁止等动作来保护数据库的安全性。因此,所有访问数据库的操作请求,均是受控的、可跟踪的。由于本发明所述方案只对客户端的操作请求(SQL语句)进行监控,对要保护的数据库无任何额外开销。
附图说明
图1是现有技术中访问数据库的逻辑示意图;
图2是本发明所述访问数据库的方法的流程图;
图3是本发明所述访问数据库的方法的时序示意图;
图4是本发明所述访问数据库的装置的逻辑结构示意图;
图5是本发明所述访问数据库的装置的一种实施例;
图6是本发明所述访问数据库的装置的又一种实施例;
图7是本发明所述访问数据库的装置的再一种实施例;
图8是本发明所述访问数据库的装置的另一种实施例。
具体实施方式
本发明的核心是在数据库客户端和数据库之间,设置一个数据访问代理,用于截获所有对数据库的访问操作请求;所述数据访问代理调用安全认证***验证客户端发送数据库访问操作请求的合法性,同时,将数据库客户端发送的数据库访问操作请求发送到日志***,所述日志***对数据库访问操作请求进行记录,当数据库的数据遭到破坏时,可以追踪到破坏者。此外,本发明还可以在所述安全认证***及日志***可以设置相应的告警策略,并将符合告警策略的异常操作请求作为告警事件发送给告警***,告警***将该事件及时发送给***管理员(DBA),以便于***管理员及时获知相关异常,对该数据库进行及时维护,提高数据库的安全性。
下面结合附图对本发明做进一步的说明。
请参阅图2,为本发明所述访问数据库的方法的流程图,所述方法包括步骤:
步骤S11:验证所接收到客户端访问数据库操作请求的合法性,并将合法的操作请求发送给数据库,同时记录所述操作请求;
步骤S12:数据库对接收到的操作请求进行处理,并将处理结果返回客户端。
数据库客户端发出访问数据库的操作请求(即SQL语句);数据访问代理收到所述客户的操作请求(即SQL语句)后,首先解析该SQL语句,并调用安全认证***,验证访问数据库的操作请求是否合法,所述合法性的判断是根据安全认证***预先制定的策略来度量的,其中,所述策略包括:权限合法性、请求的有效性和攻击检查等;但是,所述策略并不限于所公开的这几种,还可以根据实际需要制定其它相应的策略。本发明通过安全认证***的安全策略,可以对不同的客户端分配不同的使用权限,即便使用数据库的同一用户模式,也可以限制其对数据库的分类访问请求。比如BOSS应用***的数据库用户是BOSS,客户端均用BOSS登录该数据库,但可以通过安全认证***来设置相应的策略,即符合某些条件的SQL语句被授权或禁止等动作来保护数据库的安全性。
所述安全认证***将验证结果反馈数据访问代理;同时,安全认证***将符合安全告警策略的操作请求(即SQL语句)作为告警事件发送到告警***,以便***管理员(DBA)及时知悉,防患于未然。
当所述数据访问代理接收到的反馈的验证结果时,根据该验证结果做出相应的处理,即:如果验证该操作请求为非法请求,则不允许访问数据库,并将该结果直接反馈给客户端;如果该操作请求是合法请求,所述数据访问代理将数据库客户端所有的访问数据库的操作请求(SQL语句)都发送到日志***进行记录,当数据库的数据遭到破坏时,根据记录可以追踪到破坏者。所述日志***根据日志级别对访问操作请求进行记录,并将符合日志告警策略的访问操作请求作为告警事件发送到告警***,以及时通知***管理员(DBA)。同时,所述数据访问代理将客户端所有合法的操作请求发送到数据库,所述数据库对接收的操作请求进行处理,并将处理的结果直接反馈给数据库客户端,或者通过数据访问代理将处理结果反馈给数据库客户端。此外,在上述实现过程中,所述数据访问代理将合法的操作请求发送给数据库进行处理的过程与将所有客户端发送的操作请求发送给日志***进行记录的过程是并行的,二者互不影响。其所述方法的实现过程的时序图具体详见图3。
还请参考图4,为本发明所述访问数据库的装置的逻辑结构示意图。所述装置包括:数据库客户端11、数据访问代理单元12、安全认证单元13、日志记录单元14和数据库15。另外,所述装置还可以包括告警单元16。
其中,所述数据库客户端11,是要访问数据库的客户端,是数据库15的主要使用者,由其发出数据库操作请求(SQL语句),所述数据库操作请求主要包括:数据查询语言DQL、数据操作语言DML、数据定义语言DDL、数据控制语言DCL等操作请求。下面所述的客户端均指数据库客户端。
所述数据访问代理单元12,分别与数据库客户端11、安全认证单元13、日志记录单元14和数据库15相连,用于截取数据库客户端发送的数据库操作请求信息,并根据相应的安全策略调用安全认证***验证操作请求的合法性,如果安全认证***认为该操作请求不合法,也就是不符合预先制定的安全策略,则数据访问代理直接将验证结果返回数据库客户端;如果该操作请求合法,则将所有的操作请求发送到日志***进行记录。同时,将合法的操作请求发送给数据库。其中,所述数据访问代理单元12只截获客户端发送的SQL语句,(即客户端通过先访问该数据访问代理来访问数据库,而不是直接访问数据库),并解析所接收的SQL语句,得到该SQL语句是哪种类型的操作,访问的是哪个表等,这些信息是设置安全策略与告警策略的基础。所述安全策略和告警策略设置的原理也就是针对符合某种条件的请求做出某种动作,这对于本领域的技术人员来说,已是公知技术,在此不再描述。所述数据访问代理单元12不关心数据库处理结果的返回,也就是说,数据库处理结果可以不经过数据访问代理单元12而直接返回给数据库客户端11;也可以将处理结果先反馈给数据访问代理单元12,再由数据访问代理单元12转发给数据库客户端11(如图4中虚线所示)。
此外,本发明所述的数据访问代理单元12与目前的中间件技术(比如BEA的TUXEDO、IBM的CICS、ORACLE的AS、DEPHI的MIDAS等中间件***)在架构上是不同的,在所述的中间件技术中,其类似数据访问代理功能的部件主要用于屏蔽多***之间的差异性,做到透明的传输,并对作请求包与返回包均进行相应的加工处理。而本发明所述的数据访问代理单元主要是截获数据库操作请求,并对其进行安全认证及日志记录,而并不关心数据库真正的返回的处理结果,即不对返回包进行任何加工处理。
所述安全认证单元13,分别与数据访问代理单元12和/或告警单元16连接,是根据***设置的安全策略验证访问数据库操作请求的合法性。所述安全策略是预先设置的,具体的策略是根据应用***的不同,其设置也不同。比如,安全策略的设置可以根据哪个IP地址的客户端对哪个表的查询是不允许的;除了某个IP地址外的客户端是不能删除、变更所有表的结构等策略。同时,所述安全认证单元13也可以设置相应的告警策略,将符合告警策略的操作请求事件向告警单元16发出告警;同时也可拒绝该操作请求(SQL语句)。所述告警策略可以是指某个未知IP地址的客户端查询某个表的数据时,要通过短信***通知某个***管理员,或者是拒绝访问等情况,这样安全认证单元可以做到事前预防。
所述日志记录单元14,分别与数据访问代理单元12和/或告警单元16连接,将数据访问代理单元12发送过来的所有数据库操作请求信息全部记录独立存储,所述存储的方式可以是数据库、文件***、闪存或内存来存储等,但并不限于这几种方式。所述日志记录单元同时也可以设置相应的告警策略(其与安全认证单元的告警策略设置原理是相同的,但这里只能是事后告警,因为日志记录单元14对SQL语句的记录是与该SQL语句在数据库的执行是并行的),并对符合告警策略的事件向告警单元16发出告警。
所述数据库15,分别与是被该数据访问代理单元12所监控的数据库,其存储着用户真正关系的数据;并将处理完的数据库操作请求反馈给数据库客户端;或者是将处理完的操作请求先反馈给数据访问代理单元12,所述数据访问代理单元在将该接收的反馈结果返回给数据库客户端11。
所述装置还可以包括告警单元16,所述告警单元16与安全认证单元13和日志记录单元14分别相连,所述告警单元16是可以根据应用***的需要来设置。用于将接收到安全认证单元13和日志记录单元14发出的关于数据库***的告警事件通知***管理员(DBA),便于***管理员及时知悉,防患于未然。其中,所述告警单元16可以通过短信、语音或Email来通知***管理员。
另外,在上述装置中,可以将所述数据访问代理单元12内嵌到数据库客户端11,作为最终使用数据库的人员访问数据库的工具,并在嵌入数据访问代理单元11的数据库客户端11上封装所有访问数据库的操作请求。
此外,所述数据库客户端11与数据访问代理单元12是逻辑上的划分,在实际应用中可以分开的,也可以是兼容在一起。所述安全认证单元13和日志记录单元也是逻辑上的划分,在实际应用中可以是分开的,也可以兼容在一起。其具体的实现过程还请参考以下具体的实施例。
请参考图5,为是本发明所述访问数据库的装置的一种实施例。所述装置包括:数据库客户端21、统一认证及日志单元22和数据库23。所述装置还可以包括告警单元24,其中所述告警单元以短信子单元241为例来说明。
所述数据库客户端21,在客户端嵌入数据访问代理211,作为最终使用数据库的人员的访问数据库的工具,并对其封装数据库的操作请求。
所述统一认证及日志单元22,与数据库客户端21的数据访问代理211相连,包括安全认证子单元221及日志记录子单元222,并统一制定数据访问的安全策略、日志策略和/或告警策略,在有异常事件时将告警发送到告警***24中的短信子单元241,所述短信子单元241将告警发送给***管理员(DBA)。本发明通过安全策略决定该数据库的操作请求(SQL语句)是否可以继续;通过告警策略决定该数据库的操作请求(SQL语句)是否通知相关人员,比如***管理员DBA是否知悉;通过日志策略记录多有客户端访问数据库的操作请求(SQL语句),以便于对***的访问进行跟踪,当数据库的数据遭到破坏时,可以追踪到破坏者。
所述数据库23,与数据库客户端21相连,用于存储用户关系的数据。
所有使用该数据库客户端21的人员首先进行安全登录,此时统一认证单元22需要记录、验证客户端进程所在主机的唯一性标识(如主机名、IP地址、MAC地址、以及登录用户名等)的合法性,并将验证结果反馈给数据库客户端21的数据访问代理211,所述数据访问代理211将合法的数据库操作请求(SQL语句)发送给数据库23进行处理,同时,数据访问代理211调用日志记录单元进行记录。数据库23处理完成后,将处理结果返回数据库客户端21。其中日志的记录与数据库的处理请求是并行的,也就是说,日志记录的成功与失败与数据库对客户端请求的结果无任何关系。
因此,本发明所述实施例的特点可用于大型数据库应用***(比如通信、银行等领域)的应用***维护,因为这种***一般是使用相同的用户模式,由多人共同进行维护;另外,在数据库客户端21封装了所有数据库操作(SQL语句),以替代通用的数据库客户端,同时截获了使用该客户端的所有的数据库操作请求(SQL语句),并将该操作请求发送到统一认证单元22进行认证及记录;所述统一认证及日志单元22,根据预先设置的告警策略,对数据库23接收到的异常操作请求(SQL语句)进行告警,使***管理员及时获知相关异常。因此,本实施例基本上能避免数据库维护的随意性、不可跟踪性,从而提高了数据库的安全性。
再请参考图6,为是本发明所述访问数据库的装置的又一种实施例。所述装置包括:数据库客户端31、安全认证单元32及日志记录单元33和数据库34。所述装置还可以包括告警单元35,其中所述告警单元以短信子单元351为例来说明。
所述数据库客户端31进程将数据访问代理311嵌入在内,作为最终使用数据库的人员的访问数据库的工具,并对其封装了所有对数据库的操作请求;所有使用该数据库客户端31的人员首先进行安全登录,此时安全认证单元32需要记录数据库客户端31进程所在主机的唯一性标识(如主机名、IP地址、MAC地址、以及登录用户名等),然后再进行后续的数据库操作请求(SQL语句);同时安全认证单元32对数据库客户端31的操作请求(SQL语句)进行验证,并根据安全策略的设置对操作请求(SQL语句)进行拒绝,或者是在有异常事件时,根据告警策略的设置对操作请求(SQL语句)进行告警。并将告警发送到告警单元25中的短信子单元251,所述短信子单元251将告警发送给***管理员(DBA)。
所有的数据库操作请求(SQL语句)在经过认证后,发送到数据库34进行处理,同时进行记录。数据库34处理完成后,将处理结果返回给数据库客户端31。所述日志记录单元33通过日志策略记录数据库操作请求(SQL语句),以便于对***的访问进行跟踪。其中,所述日志的记录与数据库的处理请求是并行的,也就是说,日志记录的成功与失败与数据库对客户端请求的结果无任何关系。
因此,本实施例与上述实施例(如图4所示)基本相同,其区别是安全认证单元与日志记录单元分别是独立的单元。其特点与上述实施例的特点相同,详见上述,在此不再赘述。
还请参考图7,为本发明为所述访问数据库的装置的再一种实施例。所述装置包括:数据库客户端41和数据库42。所述装置还可以包括告警单元43,其中所述告警单元以短信子单元431为例来说明。
本发明将数据库客户端41封装成一个胖客户端(即带安全控制的数据库客户端),将数据访问代理子单元411、安全认证子单元412、日志记录子单元413等单元全部封装到一起;统一制定数据访问的安全策略、日志策略和/或告警策略,在有异常事件时将告警发送到告警单元43的短信子单元431中,所述短信子单元431将告警发送给***管理员(DBA)。本发明通过安全策略决定该操作请求(SQL语句)是否可以继续;通过告警策略决定该操作请求(SQL语句)是否通知相关人员如***管理员DBA知悉;通过日志策略记录所有访问数据库的操作请求(SQL语句),以便可以对***的访问进行跟踪。
所有使用该数据库客户端41的人员首先进行安全登录,此时安全认证子单元412需要记录、验证客户端进程所在主机的唯一性标识(如主机名、IP地址、MAC地址、以及登录用户名等)的合法性,然后再进行后续的数据库操作请求(SQL语句);所有的数据库操作请求(SQL语句)在经过认证后,发送到数据库42进行处理,同时在日志记录子单元413进行记录。数据库处42理完成后,将处理结果返回给客户端。其中,日志的记录与数据库的处理请求是并行的,也就是说,日志记录的成功与失败与数据库对客户端请求的结果无任何关系。
因此,本实施例与上述实施例(如图4所示)基本相同,其区别之处是将数据访问代理、安全认证、日志记录等单元全部封装到数据库客户端进程中。其特点与上述实施例的特点相同,具体详见上述,在此不再赘述。另外,本实施例的部署较为方便。
最后请参考图8,为本发明为所述访问数据库的装置的另一种实施例。所述装置包括:数据库客户端51、数据访问代理单元52、统一认证及日志单元53和数据库54。其中所述统一认证及日志单元53包括:安全认证子单元531和日志记录子单元532。所述装置还可以包括告警单元55,其中所述告警单元55以短信子单元551为例来说明。
所述数据库客户端51,用于发出数据库操作请求。所述数据访问代理单元52,与数据库客户端51、统一认证及日志单元52和数据库53分别相连,用于接收用数据库客户端51发送的数据库操作请求信息,并调用安全认证子单元531验证所接收到的操作请求信息的合法性,将合法的操作请求信息发送给数据库53;以及将数据库的操作请求发送给日志记录子单元532进行记录。所述统一认证及日志单元53,与数据库客户端51和数据访问代理单元52相连,用于统一制定数据访问的安全策略、日志策略和/或告警策略,并在异常事件时发出告警。所述数据库54,与数据库客户端51相连,用于存储用户关系的数据。所述装置还包括告警单元55,与统一认证及日志单元53相连,用于将统一认证及日志单元发出的关于数据库***的告警事件通过短信子单元551通知***管理员。其具体的实现详见上述,在此不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种访问数据库的方法,其特征在于,包括步骤:
A、数据访问代理通过调用安全认证***来验证所接收到客户端访问数据库操作请求的合法性,并将合法的操作请求发送给数据库,同时调用日志***记录所述操作请求,其中,调用日志***记录所述操作请求的过程为:所述日志***根据日志级别对所述操作请求进行记录;
B、数据库对接收到的操作请求进行处理,并将处理结果返回客户端。
2.根据权利要求1所述访问数据库的方法,其特征在于,所述安全认证***将符合安全告警策略的操作请求作为告警事件发送给告警***,并通知***管理员。
3.根据权利要求1或2所述访问数据库的方法,其特征在于,所述合法性是根据预先制定的安全认证策略来度量的,所述安全认证策略包括:权限的合法性、请求的有效性以及攻击检查。
4.根据权利要求1所述访问数据库的方法,其特征在于,所述日志***将符合日志报警策略的操作请求作为告警事件发送给告警***,并通知***管理员。
5.根据权利要求1所述访问数据库的方法,其特征在于,步骤B中将处理结果返回客户端路径为:数据库直接将处理结果反馈客户端或者是通过数据访问代理将处理结果反馈客户端。
6.一种访问数据库的装置,包括:
数据库客户端,用于发出数据库操作请求;
安全认证单元,用于验证访问数据库操作请求的合法性,并设置相应的告警策略,对符合告警策略的事件发出告警;
日志记录单元,用于记录访问数据库的所有操作请求,并设置相应的告警策略,在事件完成后对符合告警策略的事件发出告警;
数据库,用于存储用户关系的数据,并将处理完的数据库操作请求反馈给数据库客户端;
其特征在于,所述装置还包括:
数据访问代理单元,与数据库客户端、安全认证单元、日志记录单元和数据库分别相连,用于接收用数据库客户端发送的数据库操作请求信息,并调用安全认证单元验证所述操作请求信息的合法性,将合法的操作请求信息发送给数据库;以及调用日志记录单元记录接收到的所有操作请求信息。
7.根据权利要求6所述访问数据库的装置,其特征在于,所述数据访问代理单元嵌入到数据库客户端,用于客户端访问数据库的工具,并对其封装数据库的操作请求。
8.根据权利要求6或7所述访问数据库的装置,其特征在于,所述装置还包括告警单元,与安全认证单元和日志记录单元分别相连,用于将安全认证单元和日志记录单元发出的关于数据库***的告警事件通知***管理员。
9.一种访问数据库的装置,其特征在于,包括:
数据库客户端,该客户端嵌入数据访问代理,用于客户端访问数据库的工具,并对其封装数据库的操作请求;
统一认证及日志单元,与数据库客户端的数据访问代理相连,用于统一制定数据访问的安全策略、日志策略和/或告警策略,并在异常事件时发出告警,其中,所述日志策略为记录所述操作请求,并且记录所述操作请求的过程为:根据日志级别对所述操作请求进行记录;
数据库,与数据库客户端相连,用于存储用户关系的数据。
10.根据权利要求9所述访问数据库的装置,其特征在于,所述装置还包括告警单元,与统一认证及日志单元相连,用于将统一认证及日志单元发出的关于数据库***的告警事件通知***管理员。
11.一种访问数据库的装置,其特征在于,包括:
数据库客户端,在该客户端内嵌入数据访问代理、安全认证子单元和日志记录子单元,用于将访问数据库的操作请求信息封装在数据访问代理中,通过安全认证子单元验证所述操作请求的合法性,并将合法的操作请求发送给数据库,并通过日志记录子单元对所述操作请求进行记录,其中记录所述操作请求的过程为:所述日志记录子单元根据日志级别对所述操作请求进行记录;所述数据库客户端还统一制定数据访问的安全策略、日志策略和/或告警策略,以及在异常事件时发送告警;
数据库,与数据库客户端相连,用于存储用户关系的数据;
12.根据权利要求11所述访问数据库的装置,其特征在于,所述装置还包括告警单元,与数据库客户端相连,用于将数据库客户端发出的关于数据库***的告警事件通知***管理员。
CN2006100076097A 2006-02-15 2006-02-15 访问数据库的方法及装置 Active CN1858738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006100076097A CN1858738B (zh) 2006-02-15 2006-02-15 访问数据库的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006100076097A CN1858738B (zh) 2006-02-15 2006-02-15 访问数据库的方法及装置

Publications (2)

Publication Number Publication Date
CN1858738A CN1858738A (zh) 2006-11-08
CN1858738B true CN1858738B (zh) 2010-08-25

Family

ID=37297647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100076097A Active CN1858738B (zh) 2006-02-15 2006-02-15 访问数据库的方法及装置

Country Status (1)

Country Link
CN (1) CN1858738B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4989431B2 (ja) * 2007-11-30 2012-08-01 株式会社富士通ビー・エス・シー セキュリティ管理プログラム、セキュリティ管理方法および携帯端末装置
CN101739422B (zh) * 2008-11-05 2013-12-18 深圳迪贝守望信息技术有限公司 基于数据库协议代理的前置式数据库访问控制方法和***
CN101515931B (zh) * 2009-03-24 2012-09-19 北京理工大学 一种基于代理方式的数据库安全增强方法
CN101930434A (zh) * 2009-06-19 2010-12-29 深圳市守望网络技术有限公司 基于小区安防模式的数据库访问安全防范方法和***
CN101763593A (zh) * 2009-12-17 2010-06-30 中国电力科学研究院 一种实现***审计日志的方法及装置
CN102195795B (zh) * 2010-03-19 2014-03-12 Tcl集团股份有限公司 智能小区日志***及其日志记录方法
CN101833620A (zh) * 2010-04-28 2010-09-15 国网电力科学研究院 一种基于自定义安全jdbc驱动的数据库防护方法
CN102654864A (zh) * 2011-03-02 2012-09-05 华北计算机***工程研究所 一种面向实时数据库的独立透明型安全审计保护的方法
CN102801699B (zh) * 2011-12-28 2015-07-29 北京安天电子设备有限公司 防止服务器数据篡改的***、方法及设备
CN102722667B (zh) * 2012-03-07 2015-12-02 甘肃省电力公司信息通信公司 基于虚拟数据库和虚拟补丁的数据库安全防护***和方法
CN102750357A (zh) * 2012-06-12 2012-10-24 苏州微逸浪科技有限公司 一种基于异构数据库的事件数据处理方法
CN104424447A (zh) * 2013-09-02 2015-03-18 ***通信集团四川有限公司 一种构建数据库防火墙的方法和装置
CN103905464B (zh) * 2014-04-21 2017-03-01 西安电子科技大学 基于形式化方法的网络安全策略验证***及方法
CN104166812B (zh) * 2014-06-25 2017-05-24 中国航天科工集团第二研究院七〇六所 一种基于独立授权的数据库安全访问控制方法
CN105279169A (zh) * 2014-06-26 2016-01-27 中兴通讯股份有限公司 一种数据库操作处理方法及装置
CN104504014B (zh) * 2014-12-10 2018-03-13 无锡城市云计算中心有限公司 基于大数据平台的数据处理方法和装置
CN104899278B (zh) * 2015-05-29 2019-05-03 北京京东尚科信息技术有限公司 一种Hbase数据库数据操作日志的生成方法及装置
CN105447408A (zh) * 2015-12-03 2016-03-30 曙光信息产业(北京)有限公司 一种数据保护方法及装置
CN105512569A (zh) * 2015-12-17 2016-04-20 浪潮电子信息产业股份有限公司 一种数据库安全加固的方法及装置
CN105429826A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 一种数据库集群的故障检测方法和装置
CN106021335A (zh) * 2016-05-06 2016-10-12 北京奇虎科技有限公司 访问数据库的方法及装置
CN107741948A (zh) * 2017-09-01 2018-02-27 郑州云海信息技术有限公司 一种数据库告警方法、装置及终端
CN109828983B (zh) * 2018-12-15 2024-05-07 平安科技(深圳)有限公司 Pg数据库处理方法、装置、电子设备及存储介质
CN109413111B (zh) * 2018-12-21 2021-10-26 郑州云海信息技术有限公司 一种基于智慧数据中心的安全访问***及方法
CN109934011A (zh) * 2019-03-18 2019-06-25 国网安徽省电力有限公司黄山供电公司 一种应用于运维审计***的数据安全分区方法
CN110457944B (zh) * 2019-08-02 2023-08-25 爱友智信息科技(苏州)有限公司 一种数据分享方法及***
CN112769739B (zh) * 2019-11-05 2023-08-04 ***通信集团安徽有限公司 数据库操作违规处理方法、装置及设备
CN110995657A (zh) * 2019-11-11 2020-04-10 广州市品高软件股份有限公司 一种基于数据标签的数据访问方法、服务端及***
CN111092910B (zh) * 2019-12-30 2022-11-22 深信服科技股份有限公司 数据库安全访问方法、装置、设备、***及可读存储介质
CN112231733A (zh) * 2020-10-29 2021-01-15 刘秀萍 对象代理特征数据库的mac防护增强***
CN112632171B (zh) * 2020-12-30 2024-05-28 中国农业银行股份有限公司 一种针对数据访问的拦截审核方法及***
CN112817833A (zh) * 2021-01-20 2021-05-18 ***股份有限公司 一种监测数据库的方法及装置
CN113919000B (zh) * 2021-12-16 2022-03-29 北京交研智慧科技有限公司 一种用户数据库管理方法及装置
CN115906178B (zh) * 2022-12-23 2024-06-04 星环信息科技(上海)股份有限公司 一种数据库管理方法、数据订阅端及数据发布端

Also Published As

Publication number Publication date
CN1858738A (zh) 2006-11-08

Similar Documents

Publication Publication Date Title
CN1858738B (zh) 访问数据库的方法及装置
CN110543464B (zh) 一种应用于智慧园区的大数据平台及操作方法
US20210209077A1 (en) Communicating fine-grained application database access to a third-party agent
CN105656903B (zh) 一种Hive平台的用户安全管理***及应用
CN109831327B (zh) 基于大数据分析的ims全业务网络监视智能化运维支撑***
CN103501228B (zh) 一种动态二维码令牌及动态二维码口令认证方法
CN107508812B (zh) 一种工控网络数据存储方法、调用方法及***
CN103490886B (zh) 权限数据的验证方法、装置及***
CN103095720B (zh) 一种基于会话管理服务器的云存储***的安全管理方法
US20070118534A1 (en) Auditing database end user activity in one to multi-tier web application and local environments
CN102891840B (zh) 基于三权分立的信息安全管理***及信息安全的管理方法
JP2006500657A (ja) セキュリティポリシーの維持及び配信をサポートするためのサーバー、コンピュータメモリ、及び方法
CN102546664A (zh) 用于分布式文件***的用户与权限管理方法及***
CN102497374A (zh) 基于云计算可离线的软件许可集中安全认证***及其方法
CN109995530B (zh) 一种适用于移动定位***的安全分布式数据库交互***
CN112468504B (zh) 一种基于区块链的工控网络访问控制方法
CN106603488A (zh) 一种基于电网统计数据搜索方法的安全***
CN104504014A (zh) 基于大数据平台的数据处理方法和装置
CN109936555A (zh) 一种基于云平台的数据存储方法、装置及***
CN110430180A (zh) 一种基于热插拔的物联网平台及实现方法
CN112015111B (zh) 基于主动免疫机理的工业控制设备安全防护***和方法
CN101540704A (zh) 不可信dbms恶意入侵检测***及方法
WO2019191635A1 (en) System and methods for preventing reverse transactions in a distributed environment
CN1760914A (zh) 国家地质空间数据网格服务***
CN114881469A (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
C14 Grant of patent or utility model
GR01 Patent grant