xsidt-0_1_beta1.tar.gz提交时间:2006-02-16 提交用户:alert7 工具分类:其它工具 运行平台:Unix/Linux 工具大小:706785 Bytes 文件MD5 :197aa78cb23a24f52b1d73308e89a61e 工具来源:http://www.xfocus.org X-SIDT V0.1技术白皮书 2005-11-08 by alert7 草稿 内容目录 1 x-SIDT是什么 1 2 为什么要编写x-SIDT 1 3 X-SIDT实现原理 1 4 X-SIDT现支持系统 2 5 X-SIDT安装说明 2 5.1 编译x-SIDT 2 5.2 保护apache + php + mysql的php论坛 2 6 X-SIDT配置文件说明 3 X-SIDT是什么 x-SIDT 的英文Sql Inject Defense Tool的缩写(x-SIDT 念 x-[sit]),从它的英文名称上我们也可以看到它是一个SQL注射的防御工具。 为什么要编写x-SIDT Sql inject问题发展到现在,已经成为WEB应用的最大安全问题。现在管理员谈起Sql注射就色变,实在头疼。Google下“sql注入”或者“sql注射”就知道其危害的严重程度。随着WEB技术的广泛应用,毫不夸张的说,现在的网络攻击事件,80%是来自WEB的,而WEB上的攻击80%是针对Sql注射的(以上观点属于个人观点,并没有实际的调查分析,你可以不信^_^ )。X-SIDT的出现,就是在试图减少针对SQl注射的攻击事件,能大大增强系统对Sql 注射的免疫能力,大大降低安全风险。 X-SIDT实现原理 图 X-SIDT现支持系统 X-SIDT目前版本为0.1,只支持*unix下的mysql数据库 支持perl兼容的正则表达式 X-SIDT安装说明 编译x-SIDT 0:./configure 1: make 2: sudo make install 注意,x-SIDT需要libpcre库,出于安全原因,x-SIDT会检查系统的libpcre是否>=6.2,假如小于6.2的话,make的时候会警告 check-sql.c:18:3: warning: #warning your pcre library < 6.2 ,please update it for security reason. see www.securityfocus.com/bid/14620 保护apache + php + mysql的php论坛 问: 我想让让我们的x-SIDT保护apache + php + mysql的论坛该怎么做? 答: Apache和mysql的安装跟普通一样,关键是在php上,请确保编译configure php的时 候./configure .... --with-mysql=/usr/lib/mysql/ 注意:目前x-SIDT不支持编译php的时候使用—without-mysql的情况 让apachectl启动的时候加载我们的x-SIDT 在apache的启动脚本apachectl的开始处(第二行开始,第一行为#!/bin/sh为标识解释 器)里export LD_PRELOAD=/usr/lib/x-SIDT.so OK,经过如上操作,您的论坛就有了sql注射的防御功能了。当然要想更好的防御sql 注射,您可能需要看下配置文件/etc/x-sidt.conf X-SIDT配置文件说明 目前的配置文件相对比较简单 格式如下 #注释 x-sidt-filter pattern="/exec(\s|\+)+(s|x)p\w+/ix" deny log x-sidt-filter字段表明了该行规则为过虑器,目前只支持这一种 pattern=”xxxx”表示为是正则表达式,xxxx就是perl兼容的正则表达式。为x-sidt-filter中的第二个字段。 X-sidt-filter中的第三个字段为deny或者allow,表示当匹配到的后是采取拒绝行为还是允许行为。 X-sidt-filter中的第四个字段为log或者nolog,表示当匹配到的后是记录日志还是不记录日志。 #是否为调试模式,调试模式会把所有的sql查询都记录到文件里 debug 1 ------------------------- TODOLIST 1:add sql cache,提高速度 2:Defense log flood 3:加入自学习过程,在自学习过程中学到的sql放到white list中, 下次检查的时候假如发现是white list中的sql,就直接放过; 否则进行进一步检查. 开源项目,需要您的参与, mailtome: alert7@xfocus.org >> 下载 << |