由CloudFlare宕机引发的思考
创始人
2024-09-09 06:40:18
0

3月3日, CloudFlare经历了过去四年间第三次严重的事故。UTC时间9:47(北京时间3月3日17:47),CloudFlare的边缘路由器发生故障,这导致使用CDN和安全服务的785000多个网站受到影响。约30分钟后故障被排除,事故持续影响了一个多小时。

CloudFlare的联合创始人及CEO Matthew Prince在事故当天就通过 blog对事故进行了分析,并向用户道歉。从广泛的评论来看,主流舆论对于此次事故还是报以宽容和理解,对CloudFlare的勇于认错的态度和快速的行动进行了肯定。

 

 

图:CloudFlare的实现原理

据TechCrunch 报道,中国是除美国本土外CloudFlare的最大市场,尽管此次事故在国内也引起了大量讨论,但还没有商业用户的抱怨声音(企业用户每月需支付3000美元)。

去年四月,CloudFlare的月PV达到400亿,目前这个数据已经达到1000亿。CloudFlare帮助网站节省带宽、提高访问速度,并过滤恶意攻击。

什么引起了事故?

Matthew Prince在blog上表示:

CloudFlare 的管理团队发现一处DDoS攻击,监测工具显示攻击包大小在 99971 ~ 99985 bytes 左右(正常包大小是 1500 bytes,通常都在 500 ~ 600 bytes),于是将其规则加入 Juniper 的 Junos 防火墙设置中,不过预期大小的包并没有被拦截,因为实际上并不存在这么大的数据包,取而代之的是匹配规则的数据包冲刷到内存中,直到内存耗尽,系统崩溃。

通常系统崩溃会自动重启而恢复工作,但这次例外了。由于系统没有正常启动,管理端口没有响应控制,于是CloufFlare的管理中心只能电话通知全球 14 个国家的 23 个数据中心的管理员硬启动机器,这个过程大概花费了 30 分钟。最早恢复的数据中心由于负荷了最多了访问流量,仍然导致了 CloudFlare 服务的不稳定性,加上等待 DNS 缓存更新等,服务恢复时已经影响已持续超过 1 小时。

我们学到了什么?

网络技术工程师 IKE123在微博上评论:

1、主因:flowspec的bug引起的加载filter的时候导致的内存泄露。

2、Crash以后未能自动重启,所有收到该flowspec路由的边缘设备全玩完。

3、非架构问题,所以SDN/Openflow不会更好。

4、软件都有bug,这只是flowspec用的少,才有低级错误,不过换SDN估计更差(使用案例更少)。

5、ISP玩PCEP(路径计算单元通信协议)。

他特意向CSDN澄清:SDN和这次事故无关,只是有人提出来说SDN能有帮助。他认为:ISP骨干应该用PCEP,而不是Openflow。 PCEP是集中计算RSVP TE(基于流量工程扩展的资源预留协议),下发到设备上。Google是大驱动因素。

蓝盾股份是国内提供类CloudFlare服务的公司之一,该公司负责应用安全产品线研发总监 余志刚告诉CSDN:

我最近研发的产品是 云防线,技术架构与CloudFlare类似。

CloudFlare 这种技术架构中DNS服务集群充当的是全局负载均衡、智能路由的角色,而其他的分数据中心的运作都将依赖全局的DNS智能集群,如果这个中心集群宕机,将导致整个系统瘫痪,哪怕分中心无任何问题,数据流量也将路由不到。

通过分析官方blog的内容,我猜测CloudFlare 的DNS应该是有热备的,但可能这两套系统都在这个核心路由器后面。路由器出问题后导致两套系统都无法访问。

余志刚认为,这次事故反映出这种基于SaaS概念的安全系统需要完善一下几个方面:

1、加强全局负载均衡,也就是DNS智能集群的安全防护及运营水平。

2、在财力允许的情况下,尽量建立DNS智能集群的备份系统,两套系统做到热备。

3、将用户管理系统也就是www.cloudflare.com这个网站管理系统和核心系统分开,当DNS智能集群宕机,无法为用户网站提供加速、防护服务后,保证管理系统能正常使用,然后给用户提供快速切换到原有DNS解析服务器的选项。

陈利人认为:

CloudFlare CDN加速的原理:当用户访问已经启用CloudFlare CDN加速网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点 时,CloudFlare的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。说白了,就是基于DNS的负载均衡。

在Hacker News上对此次事故有着疯狂的 讨论:

“如果你将Juniper和Cisco的设备放在一起,那么就会产生很多奇怪的问题。”

“最好不用只使用一家供应商。”

“Junos的更新速度显然慢了。”

“任何设备都不能保证网络万无一失。”

敏捷开发者、趴猫网 创始人 王龙:

自己运营的主打产品不要用任何第三方的产品,金窝银窝不如自己的草窝,所有东西自己来搭建,框架用自己开发的,平台用自己运维的,服务器用自己的,插件自己来写,CDN自己搭建,云架构自己部署,就不会出现这种由于第三方问题出现的问题,起码问题是可控的。

行人23:

电话14个国家23个数据中心管理员只需要30分钟,放到国内厂商需要多久呢?

wanght1979:

作为刚刚从机房出来的苦逼,深刻理解其困扰。

如果你有任何观点,不妨在评论中告诉我们。

国内的类CloudFlare市场

在国内, 安全宝、 知道创宇和云防线都提供类CloudFlare的服务。国内两大CDN 服务商网宿和蓝汛这块业务跃跃欲试,电信运营商已经参与这个市场。尽管市场竞争非常激烈,但和所有其它云计算服务一样,用户的 接受程度还很低,“目前来说用户对这种SaaS概念的安全服务接受程度还比较有限。随着发展,SaaS服务慢慢被大家接受,这肯定是未 来安全行业发展的方向”,余志刚表示。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...