开放源码数据库防火墙GreenSQL

介绍一款MySQL和PostgreSQL的数据库防火墙--GreenSQL

GreenSQL是一个开放源码数据库防火墙,用于保护数据库阻止SQL注入攻击。 GreenSQL项目作为代理的SQL命令,并为MySQL和PostgreSQL的中内置支持。这种逻辑是基于使用的SQL命令的风险评价得分矩阵以及阻止已知数据库(删除,创建等)的管理命令。 GreenSQL是在GPL许可协议下发布的。

GreenSQL结构

GreenSQL项目作为MySQL连接的反向代理。这就是说,不是直接连接到MySQL服务器,应用程序将连接到GreenSQL服务器。 GreenSQL会分析客户端的SQL查询,然后,如果他们是安全的,再将它们转发到后端的MySQL服务器中。

下图描述了整个过程。

开放源码数据库防火墙GreenSQL

正如你所看到的,GreenSQL调用真正的数据库服务器来执行SQL命令和Web应用程序连接到GreenSQL服务器,就好像它是一个真正的数据库服务器。对应用透明

GreenSQL可以与数据库一起安装在同一台计算机服务器,也可以使用不同的服务器。默认情况下GreenSQL监听127.0.0.1:3306端口(默认的MySQL设置)本地端口127.0.0.1:3305重定向SQL请求。这些设置可以使用GreenSQL控制台改变

该GreenSQL数据库防火墙可以用在许多方面:

*模拟模式(数据库ID)

*阻止可疑的命令(数据库的IPS)

*学习模式

*主动防护(数据库防火墙)未知查询

在模拟模式基本上没有被封锁。在这种情况下,GreenSQL(IDS的入侵检测系统的缩写)作为数据库入侵检测系统。在这种模式下,我们的风险识别可疑的打分矩阵引擎的查询和使用GreenSQL管理控制台通知数据库管理员。

当系统被配置为阻止可疑的命令,GreenSQL使用其启发式引擎来查找“非法的”自动查询和阻止他们。在这种模式下,GreenSQL基本上是一个数据库IPS系统(IPS是入侵防御系统)。如果查询被认为是非法的,如果发现它在白名单中,它会被重定向到真正的MySQL服务器。如果它被发现是“非法”,GreenSQL将返回一个空结果集的应用程序。在这种模式下,有时会产生GreenSQL假阳性和假阴性的错误。因此,一些法律问题可能会被封锁或GreenSQL系统可以通过一个“非法的”查询未被发现。这些都是IPS系统的优点和缺点。 GreenSQL不断提高其启发式引擎,但它仍然是不完美的。

为了解决我们建议启用的学习模式,然后在学习期间,上述方法的缺点是结束了,切换到查询不明的主动保护。在学习模式下,所有的查询会自动添加到白名单中。当学习模式结束后,GreenSQL自动启用积极的保护。当Active从保护模式启用未知的查询,所有未知的命令被封锁。这是数据库防火墙模式。当检测到未知的SQL命令,它会自动阻止。此外,计算其风险GreenSQL使用它的启发式方法和结果显示使用GreenSQL管理控制台。这是最快的模式,因为GreenSQL只计算为新的查询不经常发生的风险。

GreenSQL如何找到“非法的”查询?

GreenSQL发现使用可疑的一些方法查询:

*通过确定敏感的SQL命令

*通过计算查询的风险

确定敏感的SQL命令

GreenSQL使用模式匹配引擎,搜寻被认为是“非法”的命令。从本质上讲,这是一个基于签名的子系统。例如,下面的命令被视为“非法”:数据库管理命令;命令,试图改变一个DB结构和命令,用来访问系统文件。管理员可以批准加入到白名单或改变配有“非法”模式的列表配置文件是“非法”查询。

计算查询的风险

GreenSQL计算每个查询的风险。从本质上讲,这是一个异常检测子系统。经过计算的风险,GreenSQL可以阻止查询或只是制造了一个警告消息(这在应用模式而定)。有许多启发数GreenSQL计算风险时使用。例如,查询的风险增加了:

*访问敏感表(用户,帐户,信用卡信息)

在SQL *评论命令

*一个空密码字符串

*一个'或'查询标记内

* SQL表达式,它总是返回true(同义反复的SQL)

为了找到异常,GreenSQL使用自己的SQL语言词法分析器找到SQL令牌。

如何命令封锁?

当GreenSQL确定某个查询应该被阻止,就会产生一个空结果集并将其发送回应用程序,因此它可以继续正常。

白名单是如何工作的?

每次GreenSQL认为一个SQL查询是一个安全风险,它被封锁。您可以通过改变明确将它添加到白名单这个特定的查询行为。

新:在所有新的学习模式查询会自动添加到白名单。

原文地址:http://www.greensql.net/about

本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/456635,如需转载请自行联系原作者

上一篇:SELinux、LINUX关闭防火墙
下一篇:【产品测试】防火墙测试记录备份