美文网首页
CDN 防御功能分享

CDN 防御功能分享

作者: 诺曼底的救赎 | 来源:发表于2019-03-28 15:42 被阅读0次

    (以下为活动分享内容)

    什么是CDN

    谈CDN的防御之前,先简单谈下CDN,有些朋友在实际工作中遇到的并不是太多,所以在这里先简单介绍一下。

    先来说说CDN,它的英文全称是 content delivery network(内容分发网络) ,从名称来看,我们就能有一个初步的印象,CDN 就是提供内容分发的网络,它的主要功能就是如何把互联网上的内容快速的从源站发送到终端用户。

    除了概念,想了解CDN,还需要了解它的发展史。1991年冷战结束后,随着个人电脑、多协议路由器、浏览器等技术的发展,全球互联网得到空前发展,同时用户量也不断增加,广域网开始无法满足海量用户的需求,网络拥堵严重。

    这个时候有人就找到了麻省理工的汤姆·雷登博士,希望他能解决这个问题。于是他就带着他的研究生开始研究这个课题。

    1995年 他们做出了一套智能算法,能够很好的解决网络拥堵问题,这套智能算法就是CDN的原型。

    再后来,汤姆·雷登博士还创立阿卡迈这家公司,这家公司是CDN行业的鼻祖,1999年在纳斯达克上市,他们的能力据说连珠峰上都能覆盖。

    说完国外,再简单介绍下国内的CDN,平时大家在网上会经常看到一些关于CDN的东西,感觉很多厂商都在做,为了便于了解,我简单做了下归类,其实国内做CDN的大概可以分为四类,分别是:

    传统cdn厂商,这类厂商的特点就是自建节点,和阿卡迈类似,国内的主要就是蓝汛、网宿。

    然后就是基于云计算发展起来的,比如阿里、腾讯;还有基于P2P技术发展起来的CDN,比如迅雷;然后还有就是做融合CDN,这里比较有代表性的是 七牛、Ucloud、猫云。

    CDN要解决的问题

    发展历程说完,我们再看下CDN要解决的问题。看上图,这个是网络内容传输的传统的方式,内容由源服务器通过自己本地的带宽连接到广域网,然后再通过广域网发送到用户。

    他的主要问题是,当内容和用户量不断增加的时候,尤其是到WEB2.0时代,用户开始创造内容等时候,单纯的依靠增加服务器本地带宽和用户端的带宽是无法解决问题的,就是说你家门口的路虽然修好了,但公路没修好是一个概念。所以速度会很慢,那CDN是怎么解决的呢?来看下面这张图

    这是一个简化图,就是通过搭建成百上千个,遍布各地的高速缓存节点,然后把源站的内容先缓存到节点上去,这样就绕开了广域网的链路问题,用户不需要再去源站拿东西,这样减轻了源站的压力。

    另一方面,CDN的核心关键是一个智能调度系统,我们也可以叫负载均衡系统,他主要是通过识别用户的地址,然后通过算法,将用户的请求解析到离用户最近的节点上,实现用户访问的加速。

    总的来讲,CDN 要解决的问题主要是广域网中的传输链路的问题,通过节点+缓存的方式,实现链路优化和内容加速。

    CDN要解决的问题我们先说到这,下面我们来说说第三个部分。

    CDN如何防御网络攻击

    目前来看,网络攻击主要两类,一类是针对服务器层面的攻击,另一类就是针对应用层面的攻击,针对服务器层面的攻击最典型的就是DDos攻击,典型的DDos攻击主要有SYN Flood,UDP Flood,ICMP Flood 等,这些攻击又称洪水攻击,其原理基本上都是向服务器发送假请求,然后消耗服务器的计算资源,直至服务器瘫痪。

    针对应用层面的攻击比如CC,WAF,跨站等,这些攻击在一定程度上和DDos这种洪水攻击类似,只是这类攻击伪装的更好,不容易被发现和识别。

    针对这两类攻击,cdn的抵御方式主要有以下四点:

    第一个:源站隐藏

    这个其实懂CDN原理的人都知道,你的网站一旦加了CDN,你的源站IP 就会被隐藏起来,也就是你会有很多ip 地址出现,可以说你的CDN服务商有多少个节点,你就有多少了源站IP。

    我们知道DDos攻击主要是针对服务器发送请求,然后消耗服务器资源,如果源站都无法找到,攻击方也就没办法进行攻击。

    第二个:节点带宽

    这个点其实想说的是,DDos攻击又称流量攻击,或者洪水攻击,就是突然间涌入大量数据请求,让你的服务器瘫痪。

    但当加了CDN以后,攻击者如果还想攻击的话,就只能去攻击节点,而普通的一个节点带宽都在千G以上,攻击要想把节点打死,就要有足够的钱来支撑。所以很多攻击者考虑到成本问题,就会放弃攻击。

    第三个:智能调度

    上面说了,CDN的核心其实不光是节点、缓存,更重要的是智能调度,也就是说,真的发生攻击时,当一个节点压力过大,CDN的负载均衡系统,就会自动进行分流,来化解流量的暴增问题。

    第四个:访问次数和访问流量限制

    这里主要针对一些更隐蔽的攻击而设定的方法,比如HTTP类的攻击,对于同一个IP,1秒内访问上百次这种情况,我们就很容易判断是非正常的访问,这个时候就可以针对这个IP作出限制。

    访问流量限制,和上面的类似,都是对突发的、不正常的流量进行限制。这些限制性的操作又称流量清洗,一般主要针对CC类攻击。

    基于CDN的防御方法主要就是这些,从我们的实践来看,CDN能在一定程度上抵御大部分网络攻击,但这并不意味着加了CDN就可以高枕无忧,因为在互联网上,安全永远都是相对的。

    目前来看,市场上并没有一款产品能够100%抵御所以有攻击,所以网络安全还是需要时刻关注,而CDN只是我们做到相对安全的一个重要工具之一。另一方面,使用CDN做防御在成本上要比其他工具明显低的多。

    总结

    攻击的本质是流量,流量剧增带来服务器计算资源的枯竭,最后导致网站瘫痪。而CDN设计初衷就是解决数据暴增带来的传输问题,所以CDN本身就像一个流量分流器,它可以很好的应对突发流量,再加上节点众多,计算资源丰富,这样就能很好抵御大部分流量攻击。

    @柳枝行动@咕泡学院

    相关文章

      网友评论

          本文标题:CDN 防御功能分享

          本文链接:https://www.haomeiwen.com/subject/eixuvqtx.html