WEB应用

阿里云盾网站安全防御(WAF)的正确使用方法

Jager · 2月28日 · 2015年 · · · 3107次已读

将 2 个网站搬到阿里云,一个是因为阿里云稳定,另一个就是牛逼轰轰的云盾了。之前在博客联盟群里模拟 CC 攻击过搭建在阿里云 ECS 上的博客,结果云盾毫无反应,而网站已经挂了。

这次特意细看了一下云盾上的 CC 防护功能,发现有部分朋友估计并未正确使用 WAF。所以,我在本文就简单的分享一下阿里云盾-WAF 网站防御的正确使用方法。

一、域名解析

大部分朋友,只是开启了云盾就不管了,这也就是很多朋友受到 CC 攻击后,云盾却毫无反应的原因了。实际上 WAF 防御必须配合域名解析来使用。

阿里云的 WAF 网站防御实际上相当于没有缓存机制的百度云加速或 360 网站卫士,不过只能用 cname 接入方式,后续是否会结合万网解析,新增 NS 接入方式就不得而知了:

阿里云盾网站安全防御(WAF)的正确使用方法

如上图所示,要开启 WAF 网站防御,就必须在域名解析那,将主机记录 cname 到云盾生成的 CNAME 地址。这时用户访问网站是这样一个情况:

用户浏览器 → 域名解析 →cname 到云盾服务器 → 源服务器

当受到攻击时,流量会经过云盾节点,并触发清洗机制,起到 CC/DDoS 防护作用。

当然,也有部分朋友知道 WAF 使用方法,但可能是出于 SEO 考虑,这些朋友也只会在网站受到攻击的时候才会修改为 CNAME 解析,因为 CNAME 解析到阿里云 WAF 域名后,IP 并不是固定的,这点和云加速之类的是一致的,不过遗憾的是 WAF 并没有搜索引擎自动回源机制,所以使用 cname 之后,IP 的频繁变更会对 SEO 造成不良影响!

如下图所示,使用 WAF 之后,网站 IP 也就变成了云盾节点 IP 了:

阿里云盾网站安全防御(WAF)的正确使用方法

那该如何解决这个问题呢?想必看过张戈博客上一篇文章的朋友已经了然于心了吧?没错!和备案不影响 SEO 的做法一样:将默认线路 cname 到阿里云 WAF 地址,然后再新增一条搜索引擎线路,指定到源服务器 IP 即可!这样就可以长期开启云盾 WAF 防御,而不影响 SEO 了!

本想,百度自家的云加速解析,对搜索引擎线路的判断应该是最靠谱的(对于做百度流量的网站来说),毕竟是自家的产品,有哪些蜘蛛 IP,都一清二楚,不会搞错!但实际测试发现,百度云加速目前并不支持 cname 默认线路的同时,新增搜索引擎线路,会提示该记录已存在!

Ps:尝鲜版的百度云加速倒是支持,地址是 http://next.su.baidu.com,感兴趣的可以自行测试下。

后来仔细一想,百度虽然对自己的蜘蛛了解透彻,但是对其他几家呢?比如搜狗,比如 360?估计是个半吊子。处于完整性考虑,我推荐使用 DNSPOD 解析,原因无它,看图:

阿里云盾网站安全防御(WAF)的正确使用方法

DNSPOD 和百度有过合作,所以有一个百度专属线路,额外的还有搜索引擎线路,想必比百度云加速收集的蜘蛛 IP 更加完善吧!

所以,正确的解析如下所示:阿里云盾网站安全防御(WAF)的正确使用方法

这样解析不但可以放心使用阿里云 WAF 防御,还可以隐藏你的网站真实 IP,避免发生源站被攻击只能换 IP 的尴尬(通过 hosts 本地解析进行攻击,啥 CDN 防护都没了作用!)

二、防护设置

可能开启了云盾,也正确解析了域名,但是被 CC 攻击时,云盾还是毫无反应?!实际上还要设置下 DDoS 防护高级设置,因为云盾默认的 DDoS 防护阈值还是太高,如下所示:

阿里云盾网站安全防御(WAF)的正确使用方法

清洗触发值: 每秒请求流量:180M 每秒报文数量:30000 每秒 HTTP 请求数:1000

我们这种搭建在阿里云的小博客,大部分带宽都只有 1~2M,别人 2M 请求流量或 100+并发就已经把你的网站打出了翔咯!所以很多朋友就算正确开启了 WAF 防御,被攻击的时候还是非常卡!

因此,我们必须根据自己网站的流量设置下阈值。

看了下,最低的请求流量是 10Mbps,也就是 10M 带宽,所以一般 ECS 服务器根本不够看,因为水管太小了。。因此,我们需要设置另一个阈值:http 并发请求。

对于我这种 1M 带宽的 ECS,相信 100 并发已经卡出了翔。所以,我们考虑设置在 50 以下:

阿里云盾网站安全防御(WAF)的正确使用方法

Ps:当然做好了 CDN 动静分离的网站可以设置到 100+,比如用了七牛 CDN 的朋友,总之得根据实际情况而定。

阈值只是触发的前提,下面还有一个触发之后的清洗限制,也就是发现并发超过阈值时,云盾对来访的单 IP 做连接数限制,超过了这个限制就返回 503:

阿里云盾网站安全防御(WAF)的正确使用方法

原则上,触发清洗阈值之后,单一 IP 连接数限制得越小越好,但是又不能将正常的访问阻挡在门外。所以这个限制该如何定义还得看实际情况!当然,你可以通过模拟攻击去测试出一个合理的限制值,但是也得考虑一些局域网公用一个公网 IP 上网的情况(得看网站的受众人群)。

看到这,相信不少用阿里云服务器的朋友已经有所收获吧?再我看来,使用阿里云 WAF 的作用主要有 2 个,一个是基础 DDoS 防护,另一就是隐藏网站真实 IP。当你的网站经常被攻击,而云盾都无法完全清洗时,我们还可以在本文的基础上再套上一层百度云加速,平常不被攻击时,百度云加速设置回源,关闭加速即可,具体做法我就不多说了,看图即懂:

阿里云盾网站安全防御(WAF)的正确使用方法

这种方案的网站访问模式如下:

用户浏览器 → 域名解析  →  百度云加速节点(缓存开启时) → 阿里云盾节点 → 源服务器

当然,这个方案只适用于百度云加速 3.0 尝鲜版,地址:http://next.su.baidu.com/ ,感兴趣的自己去研究下吧!就写这么多,洗洗睡。

最新补充:提了好几次工单,才弄清楚云盾中的 DDoS 和 WAF 是 2 个不同的功能,看来是我理解错了!最后纠正下,DDoS 中的 DD/CC 防护和 WAF 设置并无关系,也就是你不设置 WAF 的 CNAME 也没关系,只要开启了 DDoS 防护就可以了!所以本文中的部分描述是不到位的,但是必须说明的是,参考本文开启 WAF 之后,确实可以实现隐藏真实 IP 的妙用!强烈建议使用!

23 条回应
  1. 暴博客 2015-3-2 · 18:13

    支持Jager!马上去使用!

  2. 胖猫 2015-4-7 · 14:11

    楼主写的不错,支持了

  3. 皇家元林 2015-4-25 · 0:08

    是不错,但它不支持https,可惜。。。

  4. 张new 2015-5-19 · 15:08

    阿里云盾-WAF网站防御已经不让申请了,看来只能换百度云加速了

  5. 光网烈火 2015-6-3 · 17:49

    原来是这样,那我也去开启云盾算了,就是怕影响收录

    • avatar
      Jager 2015-6-3 · 22:24

      怕影响收录,说明对文章还是没有彻底理解透彻。
      设置了搜索引擎线路就不会影响收录!

  6. af爱好者 2015-6-30 · 10:13

    学习了,设置了搜索引擎回原,就不会影响了。

  7. vivre 2015-7-2 · 11:45

    看着大家只是把waf当成 抗d\抗c 而不关注他的 web应用层攻击 我很伤心啊。

  8. vivre 2015-7-2 · 11:48

    有一点, 阿里云和360、加速乐还不一样, 他只分配一个节点。而且你看到的这个ip是固定分配的,除非你网站被攻击,才会进行节点切换,避免你的网站造成节点上的用户受影响。
    所以云盾waf对seo的影响来说很小。

  9. vivre 2015-7-2 · 12:55

    阿里的cdn集成了 waf和抗cc功能,可以用用看, 收费的服务和 免费服务肯定效果不一样
    传送门:http://help.aliyun.com/knowledge_list.htm?categoryId=8314937

  10. 小幻 2015-8-29 · 9:16

    前几天老王10GDD我,云盾瞬间炸了,一堆短信到我手机。。。
    结果就是防不住。。。

  11. boke112导航 2015-10-16 · 11:15

    这个也不错,先收藏了,等消化后再折腾试试

  12. 藏标网 2015-12-2 · 19:12

    现在waf已经被阿里云取消了,好像变成收费的了,我现在还在用,都不敢换空间了,只能续费!

    • 阅读纵横 2016-3-20 · 13:20

      本来想用的,一看变成收费了,而且不便宜,哎

  13. 狂族晨曦 2016-4-1 · 17:11

    有点晕了,我用的阿里云,是不是设置了CDN解析之后,就可以把指向主机的a记录删了?

    • avatar
      Jager 2016-4-1 · 22:52

      正解

      • 狂族晨曦 2016-4-1 · 22:56

        OK,目前发现没什么问题,现在已经ping不到我的源站IP了。只是有点郁闷的是,正巧碰上清明节放假,verycloud的开发放假了,不能给我API,和值班的同志聊了一会儿。

  14. boke112导航 2016-10-2 · 9:02

    WAF不知道是不是阿里云的Web应用防火墙?这个好像是收费的,而且还挺贵的

    • avatar
      Jager 2016-10-2 · 9:51

      确实收费了

  15. 火端网络 2016-11-30 · 0:38

    如果攻击者模拟搜索引擎访问网站,应该也就知道源IP了吧

    • avatar
      Jager 2016-11-30 · 1:46

      基本都是通过判断蜘蛛IP段来区分搜索引擎的,一般人模拟不了

  16. 一曲长歌辞烟雨 2016-12-3 · 12:18

    waf好像也收费了呢。。。

  17. 枫少 2019-4-28 · 15:25

    签到成功!签到时间:下午3:21:08,每日签到,生活更精彩哦~