SQLassie 一款数据库防火墙工具

澳门十大网赌网址:2019-08-26 澳门十大正规网站: 4395 次

用法
SQLassie目前只支撑MySQL。要启动SQLassie,您需要配置SQLassie如何连接到MySQL服务器,启动SQLassie侦听现在受保护的其他端口,然后将应用程序配置为通过此备用端口而不是直接连接到MySQL。
例如,考虑一种情况,即您运行MySQL数据库引擎并侦听域套接字上的连接/var/run/mysql/mysqld.sock并运行MediaWiki安装。
首先,使用启动SQLassie

./sqlassie -s /var/run/mysql/mysqld.sock -l 3307
然后,编辑MediaWiki的配置文件LocalSettings.php连接到端口3307。
$wgDBServer = "127.0.0.1:3307"
请注意,您不能在这里使用localhost; 默认情况下,MySQL将其说明localhost为使用直接数据库域套接字连接的请求,并且大多数Web应用程序也以这种方式运行。因此,您必须使用显式字符串127.0.0.1才能强制连接通过TCP端口。有关更多信息,请查看应用程序的文档。
测试
现在您已经掌握了所有内容并运行,请检查您的Web应用程序是否仍然加载。如果是,您可以检查SQLassie是否正确过滤针对您的数据库的攻击。

建立终端并运行
mysql -u <user> -p -h 127.0.0.1 -P 3307 -C
通过SQLassie连接到数据库。
大家可以在这里进行一些测试。首先,SQLassie将阻止MySQL生成的大多数错误消息,因为这些信息对黑客来说很有价值。从跑步开始
SELECT * FROM foo;
通常情况下,MYSQL会响应一个没有选择数据库的错误,但是SQLassie会拦截查询,而是响应Empty set。在这种情况下,SQLassie认识到查询是一个SELECT查询,而不是给出错误,它只是提供了一个基于查询类型有意义的响应。
接下来,尝试运行
SELECT first_name, last_name, age FROM user WHERE id = 1323 UNION SELECT User, Password, 1 FROM mysql.user;
SQLassie将此查询标识为包含架构发现攻击并阻止查询,并使用虚假的空Empty set消息进行响应。
编译
SQLassie附带两个Makefile:一个用于gcc,一个用于clang 。此时对gcc的支撑更加彻底,因此要开始构建,请更改为源目录
cd src
并通过运行链接到gcc Makefile
ln -s Makefile.gcc Makefile
接下来,您需要安装一些依赖项。在基于Debian的系统上,您应该通过运行获得所需的一切
apt-get install make g bison flex libboost-regex-dev libboost-thread-dev libboost-program-options-dev libboost-test-dev libboost-filesystem-dev libmysqlclient-dev
最后,通过运行编译
make
生成的二进制文件将放在bin目录中。
文章来源及下载:https://github.com/super-l/sqlassie

 

转自:黑白之道

分享到:
×

微信扫一扫分享

XML 地图 | Sitemap 地图