web应用防火墙,WEB应用防火墙软件功能设计

写个篇文章主要也是记录一下自已的设计想法.到时候实现.
[基本概念]
因为用C#写的原故,我不知道反向代理的性能会达到多少预想值,如果并发大的网站,可能会比较吃力.(有做过的童鞋多多帮忙解释一下)
所以我设计的防火墙软件是建立在安全的操作系统基础上,针对WEB应用而设计. 并不具有对数据流的过滤功能,而是对数据流进行分析,然后再配合IIS,Apache,Windows安全策略,Linux iptables来操作控制.
[控制能力]
目前设想主要是进行WEB行为控制
分析访问WEB的数据流是否存在恶意关键字,重点防护SQL注入,XSS,CC攻击这3种.
分析规则设计:
1,同一个IP,2分钟之内访问的URL数据流中,参数中包含了[Select, update,insert,And, Or,Union,0x,hex,char,from,alert,javascript等(还有很多)]关键字的数量超过10次,可认定为手工注入或XSS测试者.
2,同一个IP,2分钟之内访问page数量超过100时,可认定为扫描器扫描.或是CC攻击.
防护措拖设计:
1,IIS,XSS攻击者,通过控制IIS,Apache本身的IP访问限制功能来屏蔽攻击者对WEB站点的访问,屏蔽IP时间10分钟,如再有分析到攻击数据包,则更新时间,一直保持到最后一次攻击访问的10分钟后再开放.
2.CC攻击者,通过控制安全策略,iptables来屏蔽攻击者对服务器的访问,什么服务都不再提供给它.
屏蔽IP时间20分钟,开放规则同上.
为什么IIS,XSS只屏蔽站点的访问权限,而CC要屏蔽整个服务器的访问权限呢? 因为服务器上可能有很多的WEB站点.不同的站点针对一个IP或能是不同的人群,因为都是NAT上网,如果是一个网吧,屏蔽了服务器上所有站点的访问,那是不值得的.
CC是恶意攻击者,那他很可能找服务器上所有的站点,进行弱点分析,然后CC攻击,所以直接屏蔽掉它.保护WEB服务器上多个站点的正常运行.
3.记录数据源攻击者的相关信息与被攻击的站点URL到log,方便以后查看,并发现漏洞可能存在的地方.
4. 报警,发送Email给管理员,让管理员知道服务器在被受攻击.
防火墙的其它特性:服务控制,方向控制,用户控制由系统自身加固来防御.
Tags: 

延伸阅读

最新评论

发表评论