CDN可以通过以下几种方式防御攻击:
隐藏源服务器IP:CDN能够隐藏网站源IP,使得攻击者无法直接找到源服务器,从而降低了源服务器被攻击的风险。
突破地域网络限制:CDN能够将网站上的静态资源镜像一份存放在CDN各节点服务器上,不同地域的用户访问这些静态资源时能做到“就近读取”,从而加快网站响应及渲染速度。这种“就近读取”的方式可以突破地域网络限制,使得攻击者无法直接访问到源服务器。
防御DDoS攻击:CDN能够防御DDoS攻击,包括SYNFlood、UDPFlood、ICMPFlood、IGMPFlood、ACKFlood、CC等攻击类型。例如,对于SYNFlood攻击,CDN会结合synCookie、synproxy、safereset、syn重传等算法,并引入了IP信誉机制,如果该IP的信誉值较高,则采用syncookie算法;而对于信誉值较低的源IP,则基于协议栈行为模式,如果syn包得到验证,则对该连接进入syncookie校验,一旦该IP的连接得到验证则提高其信誉值。
防御HTTPGetFlood攻击:HTTPGetFlood攻击是通过大量的HTTP GET请求来消耗服务器资源的一种攻击方式。对于这种攻击,CDN可以通过统计到达每个服务器的每秒钟的GET请求数,如果远远超过正常值,就要对HTTP协议解码,找出HTTPGet及其参数(例如URL等),然后判断某个GET请求是来自代理服务器还是恶意请求。
防御CC攻击:CC攻击是通过大量的垃圾邮件或恶意请求来消耗服务器资源的一种攻击方式。对于这种攻击,CDN可以通过限制每个源IP的连接数,对特定的URL进行防护,以及反查Proxy后面发起HTTPGetFlood的源等方式来进行防御。
防御UDP Flood攻击:UDP Flood攻击是通过大量的UDP数据包来消耗服务器资源的一种攻击方式。对于这种攻击,CDN可以通过判断包大小,如果是大包攻击则使用防止UDP碎片方法:根据攻击包大小设定包碎片重组大小,通常不小于1500。在极端情况下,可以考虑丢弃所有UDP碎片。攻击端口为业务端口:根据该业务UDP最大包长设置UDP最大包大小以过滤异常流量。
以上就是CDN可以防御的一些主要攻击类型。
CDN的产生
CDN的起源
CDN的起源可以追溯到1998年。当时,麻省理工学院的教授提出使用算法将内容缓存在终端用户附近,以解决互联网拥堵和缓慢的问题。这个理念最初是将内容缓存在终端用户附近,每个人都可以将内容缓存到网络边缘。这个算法不仅解决了互联网拥堵的问题,还带来了三个好处:使用户能够更快地看到自己想浏览的内容,网站运维人员可以将以前任务分配给CDN提供商,从而降低服务器负载,缓存还能够减轻互联网中间一英里的流量负担。这个算法的提出者之一还凭借此算法成立了Akamai公司,世界上第一个CDN由此诞生。
CDN的发展历程
CDN的发展经历了几个重要的阶段。第一阶段是缓存阶段,主要是将内容缓存在终端用户附近。第二阶段是加速年代,对于静态内容,缓存能够解决用户问题,但是对优化交易处理或动态内容却不行。2003年,Akamai公司率先提出了动态网站加速的方法,将动态交易拆分开,并利用大规模庞大且神奇的数学算法为交互中的每一元素找到最快的传送路径。第三阶段是移动体验和安全时代,随着移动时代的到来,移动端的用户大大增加,但是此时移动端用户的体验不是太好,而且移动端的访问量呈爆炸式增长,对这一问题的解决就很重要。Akamai再次引导人们走过了新的移动时代。他们的ION解决方案,能够基于用户情况或使用情境动态优化内容和应用交付。第四阶段,也就是现在,Akamai推出了一个称之为Cloudlet的服务,CDN可以实现与后端系统的完美配合,将客户引向A/B站点并展开追踪,帮助将用户转化数据与每次访问关联起来。
CDN的发展趋势
未来,CDN的发展将会出现以下趋势:价格更低,在云计算厂商激烈的价格战下,CDN价格将越来越低,越来越透明,传统CDN产商面临挑战。智能CDN,CDN云计算、AI、大数据、P2P、QUIC等技术的紧密结合是发展趋势。