CN101515931B - 一种基于代理方式的数据库安全增强方法 - Google Patents
一种基于代理方式的数据库安全增强方法 Download PDFInfo
- Publication number
- CN101515931B CN101515931B CN200910080856A CN200910080856A CN101515931B CN 101515931 B CN101515931 B CN 101515931B CN 200910080856 A CN200910080856 A CN 200910080856A CN 200910080856 A CN200910080856 A CN 200910080856A CN 101515931 B CN101515931 B CN 101515931B
- Authority
- CN
- China
- Prior art keywords
- request
- database
- order
- database server
- server
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于代理方式的数据库安全增强方法,属于数据库及信息安全技术领域。通过在应用服务器和数据库服务器之间部署一个请求检验与过滤机制,该机制包括数据库服务器的地址映射、独立于数据库的授权管理和危险命令管理功能,最终达到增强数据库入口安全的目的。其中,数据库服务器的地址映射是实现独立授权管理、危险命令管理功能的前提条件。同时,该方法对于访问数据库的应用系统是完全透明的,部署后无需对现有的应用系统做改动。地址映射机制实现的端口映射功能,隐藏了真实的IP地址和端口,攻击者不能直接与数据库服务器交互,有效的提高了数据库的安全性。
Description
技术领域
本发明属于数据库及信息安全技术领域,涉及一种数据库的安全增强方法。
背景技术
在信息系统中,数据库应用十分广泛。数据库系统作为信息的聚集体,存储着系统中最有价值信息的数据,是信息系统的核心部件,因此,数据库的安全性十分重要。
在网络环境下,数据库系统所面对的安全问题包括:
(1)数据库管理员(DBA)权限过高问题。目前广泛使用的数据库系统的安全级别为C2级,该类系统在访问控制方面采用的是自主访问控制(DAC)模式。在该模式下,DBA角色拥有至高的权限,且用户的权限可以不受限制的传播,这就使得获取DBA角色成为攻击者(如网络黑客)的目标。一旦攻击者获得了DBA角色,就意味着数据库将对其彻底暴露,毫无安全性可言。
(2)数据库系统安全漏洞问题。根据已经公布的资料,数据库存在许多安全风险,其中不少是致命的缺陷和漏洞。例如,缓冲区溢出漏洞或SQL注入漏洞。其中不少漏洞可以十分容易地被攻击者利用从而发起入侵或破坏,导致机密数据或系统控制权的泄露。
(3)遭受恶意攻击问题。由于数据库存储着最有价值的数据,是信息系统的核心部件,其每时每刻都有可能受到攻击。比如攻击者采用端口扫描、口令攻击、缓冲区溢出攻击、SQL注入攻击和拒绝服务攻击等方式。这些攻击行为均将会给数据库的安全造成十分严重的威胁。
发明内容
本发明的目的是为了解决数据库访问入口的安全问题,提出一种基于代理方式的数据库安全增强方法。其核心是:在应用服务器和数据库服务器之间部署一个请求检验与过滤机制。该机制包括数据库服务器的地址映射、独立于数据库的授权管理和危险命令管理功能,最终达到增强数据库入口安全的目的。其中,数据库服务器的地址映射是实现独立授权管理、危险命令管理功能的前提条件。同时,该方法对于访问数据库的应用系统是完全透明的,部署后无需对现有的应用系统做改动。
一种基于代理方式的数据库安全增强方法,其技术方案如下:
通过提供第一网络接口和第二网络接口,将第一网络接口与数据库服务器相连,将第二网络接口与应用服务器相连,使得应用服务器不直接连接数据库服务器。通过在两个网络接口之间转发数据,实现数据库服务器的地址映射。
当应用服务器向数据库服务器发出访问请求时,首先对该访问请求进行独立于数据库的授权管理,即,将IP地址和用户名进行组合来唯一甄别每个请求者,由此对请求者进行授权管理,而不仅仅是采用用户名甄别。此时,先判断请求类型,根据请求类型执行相应的响应策略。当请求类型为数据请求时,要对其进行是否包含命令调用的判断,如果其包含命令调用,对该数据请求进行危险命令管理,即,先判定命令类型,再根据命令类型执行相应的响应策略。通过这种方式,可实现比数据库系统本身更精确的用户甄别,能够有效的避免攻击者获得高权限时引起的数据泄露。当独立于数据库的授权管理和危险命令管理完成后,将通过检验的访问请求转发至数据库服务器。由此及时发现和阻止越权访问和攻击行为。
从第一网络接口向第二网络接口转发的数据为数据库服务器对应用服务器请求的响应,此时,将其直接转发到应用服务器。
有益效果
本发明以基于代理的方式增强数据库的安全性,主要表现在如下几个方面:
(1)本发明的地址映射机制隐藏了数据库服务器的真实地址。
引入地址映射机制之前,数据库服务器直接对外暴露,攻击者可以扫描服务器的端口,根据服务器的回复信息获得数据库以及操作系统的类型,进而进行口令猜测等攻击。
引入地址映射机制之后,数据库服务器与应用服务器之间被隔离。地址映射机制实现的端口映射功能,隐藏了真实的IP地址和端口,攻击者不能直接与数据库服务器交互,提高了数据库的安全性。
(2)本发明提供独立于数据库的二次授权管理。
在引入二次授权管理机制以前,由于数据库直接与应用程序进行连接,且只能通过口令进行认证,数据库容易受到来自于不同IP地址的假冒用户的连接和恶意的攻击。由于DBA角色具有超级权限,当恶意攻击者通过窃取口令、或者SQL注入的方法将自己的角色提高到DBA时,整个数据库将完全被其操纵。应用服务器也极易在类似SQL注入攻击的过程中,成为攻击者的跳板。
引入二次授权管理机制之后,应用程序对数据库的访问,必须经过二次授权管理机制和数据库系统两层身份认证和权限检查。
二次授权管理机制使用IP地址与用户名的组合唯一甄别一个访问者,只有存储于白名单中的“IP&用户”才能连接数据库。二次授权管理机制提供与数据库系统完全独立的授权检查,对每个“IP&用户名”组合进行权限管理。权限的管理可以精确到字段级。
通过二次认证和二次权限管理,攻击者难以伪造连接进行直接的攻击。而且,就算攻击者通过其它方式成功将角色提高到DBA,由于二次权限管理机制提供了独立的权限管理,攻击者仍然只能获得受限的权限,不能获得真正的DBA特权,提高了数据库的安全性。
(3)采用危险命令管理机制,有效防范对数据库的攻击。
危险命令管理机制能够实时检测出用户对数据库进行的危险系统命令调用、缓冲区溢出和SQL注入等攻击,自动阻断攻击行为,并审计下攻击的详细信息,提高了数据库的安全性。
附图说明
图1为本发明的基于代理方式的数据库安全增强方法的总体流程图;
图2为图1所示方法中独立于数据库的授权管理的流程图;
图3为图1所示方法中危险命令管理的流程图。
具体实施方式
下面结合附图对本发明的实施方式做进一步详细说明。
通过提供第一网络接口和第二网络接口,将第一网络接口与数据库服务器相连,将第二网络接口与应用服务器相连,使得应用服务器不直接连接数据库服务器。通过在两个网络接口之间转发数据,实现数据库服务器的地址映射。
当应用服务器向数据库服务器发出访问请求时,首先对该请求进行独立于数据库的授权管理,实现步骤如下:
步骤一、对客户端应用程序发起的数据库请求进行通信协议解析,还原出SQL语句。
步骤二、判断请求类型,并根据请求类型执行相应的响应策略:
(1)如果是连接请求,首先检查客户端的“IP&用户名”是否被授权,再检查请求连接的数据库是否被授权。如果任何一次授权检验失败,则做出不允许访问的处理(如审计、使失效、断开连接等);如果请求为被授权,则转发该请求至数据库服务器。
(2)如果是数据请求,则解析SQL语句,依据授权信息,检查用户请求的表、视图和字段是否被授权。如果请求没有被授权,则做出不允许访问的处理;如果请求为被授权,则判断数据请求中是否包含命令调用,如果不包含命令调用,则将请求转发至数据库服务器,否则,对该数据请求进行危险命令管理,实现步骤如下:
步骤一、判定请求命令的类型。
步骤二、根据命令的具体情况执行相应的响应策略:
(1)如果是系统命令,检验系统命令的功能。若命令的功能可能泄露操作系统和数据库的信息或者是执行操作系统命令,则根据事先制定的策略进行响应(如审计、使失效、断开连接等);
(2)如果命令具有SQL注入漏洞,则判定请求是否包含SQL注入攻击。若包含SQL注入攻击,则根据事先制定的策略进行响应(如审计、使失效、断开连接等);
(3)如果命令具有缓冲区溢出攻击危险,则检验命令参数中是否包含缓冲区溢出攻击。若命令包含缓冲区溢出攻击,则根据事先制定的策略进行响应(如审计、使失效、断开连接等);
如果系统命令不会威胁系统安全,或者不包含SQL注入攻击语句,或者不包含缓冲区溢出攻击,或者命令为普通命令时,将访问请求转发至数据库服务器。
数据库服务器收到客户端的访问请求后,对其做出响应。该响应被直接转发到客户端。
Claims (1)
1.一种基于代理方式的数据库安全增强方法,其特征在于技术方案如下:
通过提供第一网络接口和第二网络接口,将第一网络接口与数据库服务器相连,将第二网络接口与应用服务器相连,使得应用服务器不直接连接数据库服务器;通过在两个网络接口之间转发数据,实现数据库服务器的地址映射;
当应用服务器向数据库服务器发出访问请求时,首先对该访问请求进行独立于数据库的授权管理,即,将IP地址和用户名进行组合来唯一甄别每个请求者,由此对请求者进行授权管理,而不仅仅是采用用户名甄别,此时,先判断请求类型,根据请求类型执行相应的响应策略;当请求类型为数据请求时,要对其进行是否包含命令调用的判断,如果其包含命令调用,对该数据请求进行危险命令管理,即,先判定命令类型,再根据命令类型执行相应的响应策略;
从第一网络接口向第二网络接口转发的数据为数据库服务器对应用服务器请求的响应,此时,将其直接转发到应用服务器;
所述的独立于数据库的授权管理的具体实现步骤如下:
步骤一、对客户端应用程序发起的数据库请求进行通信协议解析,还原出SQL语句;
步骤二、判断请求类型,并根据请求类型执行相应的响应策略:
(1)如果是连接请求,首先检查客户端的“IP&用户名”是否被授权,再检查请求连接的数据库是否被授权;
如果任何一次授权检验失败,则做出不允许访问的处理;如果请求为被授权,则转发该请求至数据库服务器;
(2)如果是数据请求,则解析SQL语句,依据授权信息,检查用户请求的表、视图和字段是否被授权;
如果请求没有被授权,则做出不允许访问的处理;如果请求为被授权,则判断数据请求中是否包含命令调用,如果不包含命令调用,则将请求转发至数据库服务器,否则,对该数据请求进行危险命令管理,实现步骤如下:
步骤I、判定请求命令的类型;
步骤II、根据命令的具体情况执行相应的响应策略:
①如果是系统命令,检验系统命令的功能;
若命令的功能可能泄露操作系统和数据库的信息或者是执行操作系统命令,则根据事先制定的策略进行响应;
②如果命令具有SQL注入漏洞,则判定请求是否包含SQL注入攻击;
若包含SQL注入攻击,则根据事先制定的策略进行响应;
③如果命令具有缓冲区溢出攻击危险,则检验命令参数中是否包含缓冲区溢出攻击;
若命令包含缓冲区溢出攻击,则根据事先制定的策略进行响应;
如果系统命令不会威胁系统安全,或者不包含SQL注入攻击语句,或者不包含缓冲区溢出攻击,或者命令为普通命令时,将访问请求转发至数据库服务器;
数据库服务器收到客户端的访问请求后,对其做出响应,该响应被直接转发到客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910080856A CN101515931B (zh) | 2009-03-24 | 2009-03-24 | 一种基于代理方式的数据库安全增强方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910080856A CN101515931B (zh) | 2009-03-24 | 2009-03-24 | 一种基于代理方式的数据库安全增强方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101515931A CN101515931A (zh) | 2009-08-26 |
CN101515931B true CN101515931B (zh) | 2012-09-19 |
Family
ID=41040224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910080856A Expired - Fee Related CN101515931B (zh) | 2009-03-24 | 2009-03-24 | 一种基于代理方式的数据库安全增强方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101515931B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784221A (zh) * | 2016-08-30 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 权限控制方法、服务提供方法、装置、系统及电子设备 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045310B (zh) * | 2009-10-14 | 2015-07-15 | 上海可鲁系统软件有限公司 | 一种工业互联网入侵检测和防御方法及其装置 |
CN102255924B (zh) * | 2011-08-29 | 2013-11-06 | 浙江中烟工业有限责任公司 | 基于可信计算的多级安全互联平台及其处理流程 |
CN102722667B (zh) * | 2012-03-07 | 2015-12-02 | 甘肃省电力公司信息通信公司 | 基于虚拟数据库和虚拟补丁的数据库安全防护系统和方法 |
CN103338208B (zh) * | 2013-07-16 | 2017-05-24 | 五八同城信息技术有限公司 | 一种sql注入防御的方法和系统 |
CN103473353B (zh) * | 2013-09-25 | 2017-02-08 | 上海交通大学 | 面向Web安全的数据库安全防护方法和系统 |
CN104166812B (zh) * | 2014-06-25 | 2017-05-24 | 中国航天科工集团第二研究院七〇六所 | 一种基于独立授权的数据库安全访问控制方法 |
CN104766023B (zh) * | 2015-02-02 | 2017-09-19 | 苏州全维软件科技有限公司 | 基于oracle数据库的用户管理方法 |
CN109766686A (zh) * | 2018-04-25 | 2019-05-17 | 新华三大数据技术有限公司 | 权限管理 |
CN110381016A (zh) * | 2019-06-11 | 2019-10-25 | 辽宁途隆科技有限公司 | Cc攻击的防护方法及装置、存储介质、计算机设备 |
CN110457897A (zh) * | 2019-07-17 | 2019-11-15 | 福建龙田网络科技有限公司 | 一种基于通信协议与sql语法的数据库安全检测方法 |
CN112989403B (zh) * | 2019-12-18 | 2023-09-29 | 拓尔思天行网安信息技术有限责任公司 | 一种数据库破坏的检测方法、装置、设备及存储介质 |
CN112491813B (zh) * | 2020-11-10 | 2022-09-06 | 深圳市中博科创信息技术有限公司 | 指令的传输控制方法、装置及计算机可读存储介质 |
CN113190839A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于SQL注入的web攻击防护方法及系统 |
CN114531266A (zh) * | 2021-12-03 | 2022-05-24 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于中间数据库的配电网数据防护系统及其方法 |
CN115514585B (zh) * | 2022-11-23 | 2023-03-24 | 北京数字众智科技有限公司 | 一种数据库安全管理方法和系统 |
CN117271376A (zh) * | 2023-11-22 | 2023-12-22 | 天津华来科技股份有限公司 | 一种基于SQLMap的接口SQL注入检测优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858738A (zh) * | 2006-02-15 | 2006-11-08 | 华为技术有限公司 | 访问数据库的方法及装置 |
US7263717B1 (en) * | 2003-12-17 | 2007-08-28 | Sprint Communications Company L.P. | Integrated security framework and privacy database scheme |
CN101047704A (zh) * | 2006-04-05 | 2007-10-03 | 华为技术有限公司 | 基于会话发起协议网络的数据库访问系统、装置及方法 |
CN101355427A (zh) * | 2008-07-22 | 2009-01-28 | 中国移动通信集团江苏有限公司 | 信息网关-业务支撑系统内控安全方法 |
-
2009
- 2009-03-24 CN CN200910080856A patent/CN101515931B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263717B1 (en) * | 2003-12-17 | 2007-08-28 | Sprint Communications Company L.P. | Integrated security framework and privacy database scheme |
CN1858738A (zh) * | 2006-02-15 | 2006-11-08 | 华为技术有限公司 | 访问数据库的方法及装置 |
CN101047704A (zh) * | 2006-04-05 | 2007-10-03 | 华为技术有限公司 | 基于会话发起协议网络的数据库访问系统、装置及方法 |
CN101355427A (zh) * | 2008-07-22 | 2009-01-28 | 中国移动通信集团江苏有限公司 | 信息网关-业务支撑系统内控安全方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784221A (zh) * | 2016-08-30 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 权限控制方法、服务提供方法、装置、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101515931A (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101515931B (zh) | 一种基于代理方式的数据库安全增强方法 | |
Panchal et al. | Security issues in IIoT: A comprehensive survey of attacks on IIoT and its countermeasures | |
CN103310161B (zh) | 一种用于数据库系统的防护方法及系统 | |
CN114978584A (zh) | 基于单位单元的网络安全防护安全方法及系统 | |
CN111917714B (zh) | 一种零信任架构系统及其使用方法 | |
CN104468632A (zh) | 防御漏洞攻击的方法、设备及系统 | |
CN101355459B (zh) | 一种基于可信协议的网络监控方法 | |
CN103117998B (zh) | 一种基于JavaEE应用系统的安全加固方法 | |
US20130160084A1 (en) | Secure operating system/web server systems and methods | |
CN108259478B (zh) | 基于工控终端设备接口hook的安全防护方法 | |
CN101534300A (zh) | 多访问控制机制结合的系统保护架构及方法 | |
CN113114647A (zh) | 网络安全风险的检测方法、装置、电子设备、及存储介质 | |
CN107276986B (zh) | 一种通过机器学习保护网站的方法、装置和系统 | |
US8978150B1 (en) | Data recovery service with automated identification and response to compromised user credentials | |
CN101789942A (zh) | 一种防敏感数据泄密的方法及装置 | |
CN109150853A (zh) | 基于角色访问控制的入侵检测系统及方法 | |
CN108694329B (zh) | 一种基于软硬件结合的移动智能终端安全事件可信记录系统及方法 | |
CN117768236A (zh) | 一种基于api网关的安全管控和数据脱敏平台及方法 | |
CN102325132B (zh) | 一种系统层安全dns防护方法 | |
CN111131273A (zh) | 一种网络工程用互联网接入控制系统 | |
CN105790935A (zh) | 基于自主软硬件技术的可信认证服务器 | |
CN107682346A (zh) | 一种csrf攻击的快速定位与识别系统和方法 | |
CN113343197A (zh) | 一种工业互联网入侵检测和防御方法及其装置 | |
CN107454055B (zh) | 一种通过安全学习保护网站的方法、装置和系统 | |
Bhatia et al. | Vulnerability Assessment and Penetration Testing |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120919 Termination date: 20130324 |