面向Web安全的数据库安全防护方法和系统的制作方法

文档序号:6513133
面向Web安全的数据库安全防护方法和系统的制作方法
【专利摘要】本发明公开了一种面向Web的数据库安全防护方法和系统,在Web服务器和数据库之间部署有数据库防火墙,对发送给数据库的查询请求和从数据库返回的查询结果进行智能处理,并在系统环境部署中提供安全防护机制,仅仅开放单一端口进行连接。本发明利用防火墙模块通过对输入请求和输出结果的多重处理,保障了数据库的安全,同时通过Web服务器端独特的环境部署方式为数据库添加了安全保证。
【专利说明】面向Web安全的数据库安全防护方法和系统
【技术领域】
[0001]本发明涉及信息安全【技术领域】,尤其涉及一种面向Web安全的数据库安全防护方法和系统。
【背景技术】
[0002]数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。但随之而来产生了数据库的安全问题。数据库系统作为信息的聚合体,是计算机信息系统的核心部件,其安全性至关重要。
[0003]SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。如何为数据库提供安全防护,成为目前亟需解决的问题。
[0004]因此,本领域的技术人员致力于开发一种面向Web的数据库安全防护方法和系统,通过多重保护,为数据库提供全方位的安全。

【发明内容】

[0005]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种面向Web的数据库安全防护方法和系统,在服务器端提高数据库安全性,在Web端被攻击之后,也同样保证数据库的安全。
[0006]为实现上述目的,本发明提供了一种面向Web的数据库安全防护方法,包含如下步骤:
[0007](I)Web服务器将数据库查询的请求发送给数据库防火墙;
[0008](2)所述数据库防火墙经过智能处理后,递交所述数据库查询到数据库或者直接拦截;
[0009](3)所述数据库防火墙得到来自所述数据库的返回结果,经过智能处理后返回给所述Web服务器。
[0010]在本发明的较佳实施方式中,所述步骤(2)中所述数据库防火墙的智能处理步骤如下:
[0011](2-1)对所述数据库查询语句规格化处理;
[0012](2-2)与所述数据库防火墙的白名单中的语句进行匹配,如果匹配上,则转步骤(2-3),如果没有匹配上,则转步骤(2-4);
[0013](2-3)直接递交给数据库,等待返回结果;
[0014](2-4)所述查询语句是否涉及了网站的敏感表,如果含有,那么拦截查询;没有涉及所述敏感表,则所述查询请求语句是否包含渗透攻击的关键词,如果有,作为攻击语句进行拦截,如果没有,视为这条请求正常,放行通过,递交给所述数据库。
[0015]在本发明的另一较佳实施方式中,所述白名单是通过所述Web服务器正常运行状况下产生的数据库日志提取而来。
[0016]在本发明的较佳实施方式中,所述步骤(3)中所述数据库防火墙的智能处理步骤如下:
[0017](3-1)判断所述数据库返回结果是否包含敏感信息,如果包含所述敏感信息,所述数据库防火墙会依据网站管理员给定的条目阈值对输出结果作处理;
[0018](3-2)如果所述输出结果在所述阈值以内,视为正常,递交给所述Web服务器,如果所述输出结果超过阈值,认为有攻击者试图发起拖库攻击,直接拦截。
[0019]在本发明的另一较佳实施方式中,所述敏感信息包括身份证号和密码。
[0020]一种面向Web安全的数据库安全防护系统,包括Web服务器、数据库防火墙和数据库,所述Web服务器将接收到的数据库查询请求发送给所述数据库防火墙,所述数据库库防火墙对所述数据查询请求进行智能处理后,递交所述数据库查询到数据库或者直接拦截,其特征在于,所述Web服务器连接开放单一端口的所述数据库防火墙,所述数据库防火墙连接开放单一端口的所述数据库。
[0021]在本发明的较佳实施方式中,所述数据库防火墙的智能处理包括白名单过滤、敏感表比对、渗透语句防御和输出结果审核。
[0022]本发明提供的面向Web安全的数据库安全防护方法和系统,在数据库遭遇安全威胁的时候,数据库防火墙会智能依据处理流程拦截带有攻击性的查询语句,避免了敏感信息的外泄。同时,如果因为管理员的考虑不够周全,对攻击语句的拦截有所遗漏,防火墙还可以在输出结果的时候继续调整结果。通过多重保护,为数据库提供全方位的安全。再者,Web服务器端的环境部署还保证了 Web端被入侵时,防火墙能继续工作,从而继续为数据库提供安全保证。
[0023]以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
【专利附图】

【附图说明】
[0024]图1是本发明的一个较佳实施例的服务器环境部署;
[0025]图2是发明的一个较佳实施例的防护系统工作流程;
[0026]图3是发明的一个较佳实施例的数据防火墙对查询请求处理的工作流程;
[0027]图4是发明的一个较佳实施例的数据防火墙对数据库输出结果处理的工作流程。【具体实施方式】
[0028]如图1所示,一种数据库安全防护系统,在Web服务器和数据库之间部署有数据库防火墙,对发送给数据库的查询请求和从数据库返回的查询结果进行智能处理,包括白名单过滤、敏感表比对、渗透语句防御和输出结果审核等处理,为数据库的安全访问提供保证。并且在系统环境部署中提供安全防护机制,即Web服务器连接开放单一端口的数据库防火墙,数据库防火墙连接开放单一端口的数据库。单一端口开放的设计保证了 Web端被入侵时,防火墙能继续工作,从而继续为数据库提供安全保证。
[0029]防护系统的工作流程如图2所示,Web服务器将数据库查询的请求发送给数据库防火墙。防火墙经过智能处理之后,递交查询或者直接拦截。如果防火墙得到了来自数据库的返回结果,再一次处理,然后才返回给Web服务器。
[0030]数据防火墙对查询请求处理的工作流程如图3所示,具体步骤为:
[0031 ] (I)对数据库查询语句规格化处理;
[0032](2)与数据库防火墙的白名单中的语句进行匹配,白名单是通过Web服务器正常运行状况下产生的数据库日志提取而来。如果匹配上,则转步骤(3),如果没有匹配上,则转步骤(4);
[0033](3)直接递交给数据库,等待返回结果;
[0034](4)进一步关注所述查询语句是否涉及了网站的敏感表,如果含有,那么拦截查询,系统将不在白名单中却涉及敏感表的查询作为攻击语句处理;如果所述查询请求没有涉及所述敏感表,继续关注所述查询请求语句是否包含渗透攻击的一些关键词,如果有,作为攻击语句进行拦截,如果没有,视为这条请求正常,放行通过,递交给所述数据库。
[0035]数据防火墙对数据库输出结果处理的工作流程如图4所示,其步骤如下:
[0036](I)判断数据库返回结果是否包含敏感信息,比如身份证号,密码等;如果包含敏感信息,数据库防火墙会依据网站管理员给定的条目阈值对输出结果作处理;
[0037](2)如果输出结果在所述阈值以内,视为正常,递交给所述Web服务器;如果输出结果超过阈值,认为有攻击者试图发起拖库攻击,直接拦截。
[0038]本发明通过防火墙模块通过对输入请求和输出结果的多重处理,保障了数据库的安全。而Web服务器端独特的单一端口连接环境部署方式更是为数据库添加了有力的安全保证。
[0039]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本【技术领域】中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【权利要求】
1.一种面向Web的数据库安全防护方法,其特征在于,包含如下步骤: (1)Web服务器将数据库查询的请求发送给数据库防火墙; (2)所述数据库防火墙经过智能处理后,递交所述数据库查询到数据库或者直接拦截; (3)所述数据库防火墙得到来自所述数据库的返回结果,经过智能处理后返回给所述Web服务器。
2.如权利要求1所述的面向Web的数据库安全防护方法,其中,所述步骤(2)中所述数据库防火墙的智能处理步骤如下: (2-1)对所述数据库查询语句规格化处理; (2-2)与所述数据库防火墙的白名单中的语句进行匹配,如果匹配上,则转步骤(2-3),如果没有匹配上,则转步骤(2-4); (2-3)直接递交给数据库,等待返回结果; (2-4)所述查询语句是否涉及了网站的敏感表,如果含有,那么拦截查询;没有涉及所述敏感表,则所述查询请求语句是否包含渗透攻击的关键词,如果有,作为攻击语句进行拦截,如果没有,视为这条请求正常,放行通过,递交给所述数据库。
3.如权利要求2所述的面向Web的数据库安全防护方法,其中,所述白名单是通过所述Web服务器正常运行状况下产生的数据库日志提取而来。
4.如权利要求1所述的面向Web的数据库安全防护方法,其中,所述步骤(3)中所述数据库防火墙的智能处理步骤如下: (3-1)判断所述数据库返回结果是否包含敏感信息,如果包含所述敏感信息,所述数据库防火墙会依据网站管理员给定的条目阈值对输出结果作处理; (3-2)如果所述输出结果在所述阈值以内,视为正常,递交给所述Web服务器,如果所述输出结果超过阈值,认为有攻击者试图发起拖库攻击,直接拦截。
5.如权利要求4所述的面向Web的数据库安全防护方法,其中,所述敏感信息包括身份证号和密码。
6.一种面向Web安全的数据库安全防护系统,包括Web服务器、数据库防火墙和数据库,所述Web服务器将接收到的数据库查询请求发送给所述数据库防火墙,所述数据库库防火墙对所述数据查询请求进行智能处理后,递交所述数据库查询到数据库或者直接拦截,其特征在于,所述Web服务器连接开放单一端口的所述数据库防火墙,所述数据库防火墙连接开放单一端口的所述数据库。
7.如权利要求6所述的面向Web的数据库安全防护方法,其中,所述数据库防火墙的智能处理包括白名单过滤、敏感表比对、渗透语句防御和输出结果审核。
【文档编号】G06F21/60GK103473353SQ201310442701
【公开日】2013年12月25日 申请日期:2013年9月25日 优先权日:2013年9月25日
【发明者】邹福泰, 付毓飞, 章思宇, 易平 申请人:上海交通大学
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1