用GreenSQL为MySQL建立防火墙_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),也许,你希望把它添加到你的本地启动脚本中。
上一篇: PHP反向代理类代码
推荐阅读
-
用GreenSQL为MySQL建立防火墙_MySQL
-
使用存储过程和Event事件为Mysql表自动建立分区_MySQL
-
用PHP和MYSQL建立计数器过程详解
-
mysql表字段的默认值为函数的返回值 用mysql触发器实现
-
为什么小弟我用php代码插入数据到mysql中 显示为空
-
做一个大量用户的历史记录在线同步,用mysql,是为每个用户建一个Table效率高还是在一个Table里用UID标识不同用户效率高?
-
mysql 解决row_count()用mysql_affected_rows()获取后值为-1的方
-
使用存储过程和Event事件为Mysql表自动建立分区_MySQL
-
详解用phpmyadmin建立MYSQL数据库的过程_PHP教程
-
用WebWork、JSP、Velocity建立注册页面_MySQL