热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了阿里云盾网站安全防御(WAF)的正确使用方法,需要的朋友可以参考下
将2个网站搬到阿里云,一个是因为阿里云稳定,另一个就是牛逼轰轰的云盾了。之前在博客联盟群里模拟CC攻击过搭建在阿里云ECS上的博客,结果云盾毫无反应,而网站已经挂了。

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

一、域名解析

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

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

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

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

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

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

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

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

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

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

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

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

所以,正确的解析如下所示:

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

二、防护设置

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

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

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

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

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

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

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

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

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

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

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

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

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

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


推荐阅读
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
author-avatar
姑获_626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有