WAF(网站应用防火墙)目前已经是一款非常成熟的安全产品,市场上的WAF产品参差不齐,价格也都不菲,下面我就介绍一款DIY的WAF产品。

DIY的WAF其实采用的是一款开源的hwaf产品modsecurity。安装在nginx上,nginx开启反向代理模式开启modsecurity安全插件就是目前市场上商业化WAF的反向代理部署模式的原形了,据了解,安全宝的云WAF产品就是这种模式。

开源网站防护系统原理:

    在nginx基础上加上Modsecurity模块,为经过nginx传输的流量进行应用层过滤。

开源网站防护系统的利弊:

    利:可以自定义策略,比如说目前的请求短信接口类的恶意流量进行自定义策略进行过滤(目前安全宝的云WAF不具备该功能),可以使用除了自定义策略外由OWASP安全组织为Modsecurity撰写的crs核心规则库,来防范比如sql注入、跨站脚本类的通用型安全漏洞

    弊:Modsecurity还存在比较多的BUG,另外Modsecurity本身是为apache httpd开发的,目前已经支持nginx,但是对nginx中间件的配合还有些问题,比如说不能采用Modsecurity的日志控制中心来搜集日志。另外就是Modsecurity配合nginx过滤请求带来了比较大的服务器性能消耗,初步判断需要增加1倍的性能消耗,而且随着策略的条数增加,也就是说启用的策略条数越多,性能消耗也多。

按理说这么优秀的一款产品应该在国内已经很流行了,但是实际使用这款产品的并不多,因为产品存在部分不好解决的bug,就目前最新版本来说安装在nginx上就存在了致命性bug,post数据都会被拦截,除非不检测post流量,但这种设置从安全角度来说显然不可行,所以只能采取另外一种方法来绕过该BUG,今天先简单描述一下,明天继续更新!