作者回复: 开源WAF确实有一些,比如ModSecurity,不过我了解到的很少有用开源的。因为WAF的技术难度其实不高,难的是写规则。因此,有钱没人的公司会直接买乙方的商业WAF,规则运维都交给乙方。没钱有人的公司会自己开发一个,自己根据已知的漏洞写规则。没钱没人的话,还是不要搞WAF了,最后规则不完善,都是漏报和误报,就是个坑。。。
作者回复: 微服务通常都有统一的网关入口,因此WAF一般是和网关放在一块的。如果是自己实现的话,一般都是以Nginx的Lua插件来完成的。如果是引用的开源或者商用版本,一般WAF是串联在网关之前或者之后来进行过滤。经过网关处的WAF过滤后,内部微服务直接的HTTP调用就可以当作可信来处理了。
作者回复: 自己开发WAF一般是这个模式。厂商卖WAF的话,一般还是以一个硬件的网关盒子来接入的。
作者回复: 双拼和闭合你是指的Web安全中绕过过滤的攻击方法吧。也算是一种形式,不过现在WAF的规则一般比较完善,很难使用正常的攻击方式绕过。一般都是采用编码混淆、多个注入点拼接等方式,来隐藏攻击特征。
作者回复: 正则匹配一般只要部分匹配就可以了,而且正则匹配本身支持模糊匹配,所以提交非常大的数据可能用处并不大。
作者回复: 这个确实了解的不多,而且感觉有点作广告了,所以就免去了。而且厂商的对外口径嘛,以宣传为主,真实性确实不可参考,还是得实际测试为主。其实,现在的WAF都不差,实际采购的时候,重点关注的还是价格和服务质量。