Maison >base de données >tutoriel mysql >用GreenSQL为MySQL建立防火墙_MySQL
因为可以保护你的数据库,从而免受SQL感染,GreenSQL被形象地称为MySQL数据库的”防火墙”。
对网站和Web应用程序的大量攻击都与所谓的SQL注入漏洞有直接联系。对一些编写得不太好的应用程序来说,这个问题很严峻。因为通过操控发送到Web服务器的数据,它能允许远程用户向数据库服务器发送任意的SQL命令,并且还借助SQL命令对抗由Web应用程序执行的合法的数据库查询。通常,这种对抗发生在没有任何事先检查或清扫处理的情况下。什么办法可以弥补这一缺陷呢?GreenSQL就是MySQL数据库的“防火墙”。它所做的就是拦截正发往MySQL的SQL命令,对命令进行检查,然后停止询问或适量放行。然后把查询结果返回给调用的应用程序。
GreenSQL 为一些Linux的发行套件提供二进制软件包。如果你的发行版本没有涵盖在下载页面(http://www.greensql.net/download)以内,那可以下载greensql-console和greensql-fw 源码编译。以下是教你在下载这两个文件后怎样进行安装:
# tar xvzf greensql-fw-0.9.4.tar.bz2
# cd greensql-fw-0.9.4
# ./build.sh
# greensql-create-db.sh
最后一个命令会为GreenSQL创立一个必需的MySQL数据库,所以你必须确保MySQL正在运行且被设定为听从某个端口(换言之,确保“跳过联网”没有被设定为/etc/my.cnf)。要启动并测试GreenSQL,用这个:
# greensql-fw -p /etc/greensql &
# mysql -u root -h 127.0.0.1 -P 3305 -p
GreenSQL代理听从3305端口。这意味着任何被代理的通过GreenSQL的应用程序都需要被设定成无法使用本地UNIX插孔或无法与本地主机的3306端口连接, 相反应该通过3305端口连接。
Greensql-console软件包提供了一个Web界面,该界面可以用来查看被锁定的查询,也可以用来设定需要锁定的内容与范畴。把greensql-console源码编译解压到你的站点树,并且将config.phg进行调整以适合于你所选的GreenSQL用户名,密码以及数据库名。
此外,如果你安装了GreenSQL,你会想确保GreenSQL可以在任何系统都能运行。这取决于你的Linux版本,有可能就像从greensql-fw源树那里拷贝一份初始化指令稿一样那么简单。(例如,rpm/greensql-fw.redhat.init),也许,你希望把它添加到你的本地启动脚本中。