|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
+ O$ e* v7 S% F5 P1 \- G4 i
0x01 部署+ I d6 y1 s& s% S& r, ]
a.伪透明模式:第一代的WAF大多只能支持200个Web以下,或者同一个D类子网内的透明。无法做到网线级别的透明。第一代多数为伪透明部署(需要设置IP地址、端口、域名等信息),无法做到自适应(接入即可防护)。
1 | ~- h: Y$ a4 [- Ub.极少有支持路由模式的:第一代的WAF多数没有这个功能。路由模式可以只将HTTP流量给WAF检测。比如出口是1000Mbps的,而Web带宽只有100Mbps,如果不支持路由模式,就只能浪费的去使用1000Mbps的设备。" s; L% k+ A, c9 X) r
c.鸡肋的代理模式:这个几乎都有的功能,性能之差可想而知,一次请求要建2次连接。并发数降低一半,带宽消耗增加一倍,非常不好。
W1 y% N. u+ B1 d& {0 j 2 b% Y3 n+ S8 b% I+ n% U; N
0x02 检测手段/ D9 J( b6 y7 {
a.IPS修改而来:基本依赖字符串匹配与正则表达式,修改国外SNORT的引擎而来,解码不完善、效率极低。Unicode编码的几乎很少有支持的。数据包碎片很容易绕过检测引擎。& T0 ?: A8 s% B0 j
b.基于策略:国外厂商比较喜爱,但配置及其复杂,网页个数多的情况下,性能呈几何方式下降。在一个超过30个网站的网络里,几乎不可用。利用一些CMS的漏洞,很容易绕过国外厂商此种WAF的检测。
h! R ?. K) J' `" o8 n
1 s# W f4 q- W( C1 f6 \$ C; l& `/ ^
+ }# x% a$ B7 N0 N, [0x03规则
5 l K- v: z/ J6 f1 k; fa.简单的字符串过滤规则:比如把select、insert等加为过滤关键字,一旦遇到此种字符串就视为攻击,误报极为严重。绕过方法也很简单,稍微大小写变化即可,比如写成:sEleCt,INsErT。有的甚至把一个短语写好多种写法,比如and,规则写6条AND/aND/AnD/And/anD/aNd。如果一个短语很长,这种规则如何匹配呢?
; z5 C: z9 `7 z6 Z) H# |b.规则过多:无用规则占多数,检测速度极为缓慢。如有的厂商采用美国开源的“SNORT”或者“MOD_SECURITY”规则,规则数量很多,但误报严重,有的甚至为鸡肋。国内CMS的漏洞无法防御。
) A# ~) `6 ]2 }
3 g: |+ U1 G7 X5 C h, A1 R" [1 B 1 ~: u; K" T- c* H/ M4 C
0x04 性能。" e1 G. U% M) u' U6 {8 c$ B
a.每秒处理HTTP请求数:熟话说“外行看热闹,内行看门道”。很多人都认为吞吐量的大小是评价WAF性能的指标,比如是200Mbps还是1000Mbps。在请求量低的情况下,一个伪千兆口的“百兆WAF”一般都可以吞吐700Mbps的数据量。实际上“每秒处理HTTP请求数”才是衡量WAF的关键指标。有的厂商,甚至把每秒请求数在1万的WAF当千兆的产品来慢,实际其真正能力只在两百兆左右。一个千兆的WAF,每秒处理HTTP请求数量至少得在5万以上,才可能真正可以处理大量的请求。. s" ~8 U ]3 ~. F" K r$ s$ B' g
b.客户并发数低:很多WAF都是采用反向代理或者透明反向代理的工作方式。这些方式下,并发数都很难高于2万,国外(俄罗斯)性能最好的反向代理服务器也只能达到2.5万并发,所以采用反向代理的WAF并发数低就不足为奇了。一旦并发超过2万,网络立即拒绝服务。
. M; G7 ]% z/ _ |
|