CDN应用进阶 | 正确使用CDN 让你更好规避安全风险
为了帮助用户更好地了解和使用CDN产品,CDN应用实践进阶系统课程开课了。12月17日,阿里云CDN产品专家彭飞在线分享了《正确使用CDN,让你更好规避安全风险》议题,内容主要包括以下几个方面:
- 使用CDN的常见误区和问题有哪些?
- DDoS攻击是如何一步步演进的?
- CDN场景中更有效的防护方式是什么?
- 阿里云CDN边缘安全体系如何帮助客户抵御攻击?
- 针对近期潜在安全风险,你可以怎么做?
客户体验和安全稳定是企业的两大核心诉求
阿里云CDN正式商业化至今,已经服务了30万+的全球客户,其中最核心的两类场景就是网站和APP的业务。在这个业务中,客户的核心诉求还是相对集中的,一方面,希望能够给他们的用户提供更优质的体验,需要解决分布于不同运营商网络下的终端用户的跨网访问效率、广泛分布用户的一致性访问体验、中心部署源站成本高昂、突发流量下的弹性扩展以及弱网环境下传输性能等等方面的问题;另一方面,客户希望业务是安全稳定运行,这种稳定就包括了提供SLA可靠性、解决网络DDoS和CC攻击、保护内容不被恶意爬取、劫持、篡改等等。综上所述,用户体验和安全稳定是企业的两大核心诉求。
CDN是企业常用的互联网服务之一,主要提供内容分发服务。CDN能帮助用户缓解互联网网络拥塞、提高互联网业务响应速度、是改善用户业务体验的重要手段。同时,CDN使用反向代理技术,能有效的保护用户源站,避免源站暴露进而遭到黑客的攻击。CDN海量的服务节点天然给用户提供了一定的防护能力,继而获得相应的稳定性提升。默认情况下会用整个CDN大网的网络能力和计算能力,有效的对抗攻击者的攻击。
关于CDN安全的那些误区和问题
前文提到了CDN节点可以为用户提供一定的防护能力,其实在使用CDN过程中会有一些常见的误区,比如:第一个误区是有些用户认为用了CDN之后有效保护源站就不需要额外购买安全服务了,甚至可以使用CDN平台来抵抗攻击;第二个误区是用户认为其用了CDN后无需进行任何额外配置,有攻击CDN自动来抵抗,和其没什么关系,对其没什么影响。
伴随这两种误区就会产生一些问题,比如:第一个问题是当用户遭到DDoS攻击,CDN为保证整体服务质量,会将用户业务切入沙箱,网站业务质量受到较大影响,且影响该域名后续的CDN加速服务质量。第二个问题是当用户遭到刷量型CC攻击,由于请求非常分散,CDN认为是客户正常业务的流量增长,因此尽力提供服务,造成短时间大量带宽突增,客户要为此付出大额账单,造成较大的经济损失。
正确地认识网络攻击
客户业务线上运行过程中,不可避免会遇到网络安全威胁,DDoS攻击是最典型的。DDoS的核心原理是什么?是如何发展演进的? 我们有必要进行详细的了解,以便于更好的在CDN上给与其防护。
DDoS的核心目标是造成业务损失,受害目标无法对外进行服务,进而造成业务损失。其本质是消耗目标系统的资源,具体有2种实现方式:一种叫做拥塞有限的带宽,第二种叫耗尽有限的计算资源。本质上CDN给用户提供的就是这两种资源。一个是分发的带宽资源,第二个是在节点上提供相应的算力,所以攻击本身就是在消耗这个。
其中三类攻击包括:
一、网络流量型攻击
这种攻击会利用到一些协议漏洞,比如UDP、SMP协议,很轻易地构造出过载大报文来堵塞网络入口,这就导致正常请求很难进入。
二、耗尽计算资源型攻击——连接耗尽
最典型的就是网络层CC,利用HTTP协议的三次握手,给服务器发一半的三次握手请求,后续的一些请求不再发了,所以服务器端就会等待,进而占用大量的资源,导致服务器连接资源直接被耗尽,服务不可持续。
三、耗尽计算资源型攻击——应用耗尽
典型是是7层的应用层CC攻击。这种攻击发出的攻击请求,从报文来看,看不出他有非常明显的畸形或有害性,很难去做相应的判断。由于七层CC都是正常的业务请求,同时CDN只是缓存内容,并不了解业务逻辑,同时业务也经常会遇到客户业务突发,当CC攻击时,如果无特殊的错误码异常,从CDN角度来看会和正常的业务上量是一样的,因此也会尽力服务。进而CC攻击会形成突发带宽峰值,进而产生高额账单,因此给客户造成了较大的经济损失。
DDoS攻击的演进
了解到攻击实质之后,再看看整个攻击的演进过程,便于大家更好地了解攻击原理。整个的演进大概分为四个阶段:
第一个阶段:DoS攻击
基于一个单点的服务器进行攻击流量的发送。这时流量规模在500Mbps到10Gbps之间,由于传统服务器的硬件、服务性能、带宽水平都有限,在这样的流量规模之下,就可以造成服务器的全面瘫痪,甚至终止。通过对传统硬件设备直接进行流量清洗的单点防护,再回到服务器,就可以达到防御目的。同时,也可以对相应的原IP进行封禁。
第二阶段:DDoS攻击
也就是分布式的DoS攻击,它的攻击源就不是单点的服务器,而是一群僵尸网络,黑客通过系统漏洞在网络上抓取大量肉鸡,运用这些肉鸡在不同的网络里去同时发起攻击,造成的带宽规模可能从10Gbps到100Gbps。对这种分布式的僵尸网络攻击形式,通常防御手段就是用多点的大流量清洗中心去做近源的流量压制,之后再把清洁流量注回到服务器。
第三阶段:DRDoS,分布式反射型拒绝服务攻击。
互联网上的肉鸡抓取可能存在困难,但一旦被发现,很快这个周期就会丢失掉。所以这些僵尸网络在控制一定的这个周期数量后,会通过反射的机制向目标主体进行攻击。反射的主要机制是互联网上公共的真实存在的设备,在处理协议的过程中可能会形成一个攻击流量成本的放大,比如请求NTP 10K返回50K,请求的原地址改成目标服务器,所有终端都以为受害主机在请求,所有请求都会回到受害主机。整个流量可能会从100Gbps到2Tbps之间,所以对于这种攻击一个是要在很多的协议源头去做流量的阻断,另一个就是还要通过全球化分布式的DDoS进行相应防御。
第四阶段:未来发展
未来,5g、IPv6和IoT技术发展,会导致单位攻击能力翻10倍、公网IP数量指数增长以及潜在肉鸡无处不在,都是我们将要面临的一些风险。所以未来的攻击规模可能会超过2Tbps甚至更高。
CDN场景中应该怎么去更加有效的防护?
沿着以上两个核心场景来看,一个是拥塞带宽,一个是耗尽资源。
对于拥塞有限带宽入口这类攻击,本质上要在流量上Hold住。CDN天然具有丰富的节点资源,使用分布式的网络将攻击分散到不同的边缘节点,同时在近源清洗后返回服务端。
对于耗尽有限资源资源这类攻击,本质上要做到攻击的快速可见,并且能够把相应特征进行阻断。单纯依靠CDN不能特别有效的解决问题,需要通过CDN节点上的配置,完成智能精准检测DDoS攻击,并自动化调度攻击到DDoS高防进行流量清洗。这时候需要用户购买高防抗DDoS的产品。
本质上标准的CDN仍然是一个内容分发产品,不是安全产品,也没有承诺安全方面的SLA,因此,如果用户需要更加专业的安全服务,还是需要选择云安全的DDoS等产品,形成多级的安全防护体系,来更加有效的进行风险防御。
那么,具体阿里云CDN结合云安全的产品之后,能够提供怎样的安全防护体系呢?
政企安全加速解决方案 是一套基于基于阿里云CDN构建的边缘安全体系,核心能力是加速,但又不止于加速。加速是整体方案的基础,依托于阿里云全站加速平台,通过自动化动静分离,智能路由选路,私有协议传输等核心技术,提升静动态混合站点的全站加速效果。在加速基础之上,为客户提供WAF应用层安全、DDoS网络层安全、内容防篡改、全链路HTTPS传输,高可用安全,安全合规 6大方面安全能力,从客户业务流量进入CDN产品体系,一直到回到客户源站,全链路提供安全保障,保障企业互联网业务的安全加速。
CDN边缘安全——网络层与应用层双重安全
一、网络层
银行,证券,保险等金融行业的业务线上化已经成为常见的业务办理模式,客户的 金融网银,网上业务办理业务,一般情况下Web攻击较多,遭遇DDoS网络攻击的场景并不常见,但一旦发生DDoS攻击,企业核心互联网业务就面临瘫痪风险,将会严重影响企业品牌,产生重大资损。因此一般情况银行客户都在源站侧部署DDoS防护能力,同时在CDN边缘分发侧,也希望CDN能利用大量分布式的节点优势,提供边缘DDoS防护能力,在边缘检测DDoS攻击并实现攻击阻断,保护源站不受到攻击冲击。最终实现,无攻击CDN分发,有攻击DDoS防护。
在CDN的边缘节点具备基础的抗D的防护能力。如果用户当前的攻击流量比较高,达到了用户设置的阈值之后,就可以自动化的检测到当前的攻击的流量,并且通过智能调度的方式,将当前恶意的请求全部解析到高防的IP。高防IP的产品去做流量的攻击检测,以及攻击的清洗防护,整个过程是自动化实现。
整个业务流程是:
•客户需要分别开通CDN和DDoS高防产品,并将域名配置在两个产品中,其次,将高防侧生成的调度CNAME在CDN侧进行联动配置。配置后即可实现无攻击CDN分发,有攻击DDoS防护的效果
•在遇到攻击时,首先,自动化丢弃非80|443端口非正常流量,第二,CDN会智能识别网络层攻击行为,精准,实时将DDoS攻击区域流量切换到高防服务,整个过程完全自动化,无需用户介入;第三,在高防侧用户可以享受最高超过1T的DDoS防护和清理能力,以及超过250W QPS的防护能力
•当攻击结束后,CDN将自动将流量重新调度回CDN网络,实现正常业务分发
如上就能够完整平滑的实现CDN与高防的联动,实现无攻击CDN分发,有攻击DDoS防护。
二、应用层
零售客户通过线上电商进行产品宣传和售卖已经成为一种常见的销售模式,无论是企业官网,电商平台,运营活动页面,只要是面向互联网业务无可避免的,经常经常遭遇Web,CC,刷量攻击,对客户体验,稳定性产生较大影响。客户在源站部署WAF能力,保护源站。同样,在CDN分发侧,希望在云端进行Web安全防护。客户会优先开启观察模式,在云端感知到网络攻击风险,然后,逐步灰度源站策略,实现多级防护结构,保证源站安全。
阿里云CDN团队与云安全团队合作,将沉淀多年的云WAF能力,注入到CDN边缘节点,实现WEB攻击的边缘安全防护。
大家都知道,CDN产品一般由2层节点构成多级分发体系,边缘节点更靠近客户,回源上层节点与源站交互获取源站内容,回源节点和边缘节点之间形成多级缓存,提升命中率。当前,云WAF能力已经注入到CDN回源节点,针对动态回源请求,防护OWASP Top10威胁,例如:SQL注入,XSS跨站等常见Web攻击;同时客户还能享受到0 DAY漏洞更新能力,24小时内提供高危漏洞虚拟补订防护。
然而仅能解决回源防护就足够了吗?如果出现恶意刷量,恶意爬取,大文件CC攻击场景,仅会对CDN边缘节点产生影响,请求不经过L2,会产生大量下行带宽,极大提升客户的带宽成本。所以,CDN在边缘节点提供频次控制,机器流量管理能力。通过频次控制能力,用户可以自定义防护规则,有效识别异常的高频访问,边缘抵御CC攻击。通过机器流量管理能力,识别恶意爬虫,刷单软件等机器流量,有效降低下行带宽,节约成本。
通过以上两层能力,CDN可以为用户提供较为立体的应用层防护能力。
希望大家能够更实际的去了解,并根据实际需求情况进行配置。以下是CDN频次控制、区域封禁、DDoS联动功能的钉钉群,可以扫码进群进行申请开通。同时,大家也可以在控制台开通CDN WAF功能,享受到相应服务。对于对安全有进一步需求的政企客户,欢迎加入政企安全加速产品交流钉钉群,联系群中的架构师获得更充分的建议。
原文链接
本文为阿里云原创内容,未经允许不得转载。
CDN应用进阶 | 正确使用CDN 让你更好规避安全风险的更多相关文章
- CDN学习笔记一(CDN是什么?)
CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...
- 推荐国内外优秀+免费CDN加速站点及公共cdn加速库
-----------------------------------------------------------------免费CDN加速站点 1.CloudFlare CloudFlare可能 ...
- Incapsula免费日本CDN加速和CDNZZ香港CDN节点加速
Incapsula免费日本CDN加速和CDNZZ香港CDN节点加速 免费的CDN对于那些将空间放在美国的博客网站加速效果是最好的,CDN可以解决国内连接美国的网络线路经常抽风和访问速度时好时坏的问题, ...
- 《CDN技术详解》 - CDN知多少?
开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了.或者,知道思路也行,毕 ...
- 【CDN】海外免费加速CDN:Incapsula,CloudFare
最近服务器要搬迁到香港,因为后续有国外用户使用,基于此要使用大陆和海外都比较好的cdn才好 一开始国外同事推荐CloudFare,后来看看效果开始使用Incapsula CloudFare 官网:ht ...
- 如何用云存储和CDN加速网站图片视频、阿里云OSS的使用(转)
总有人说阿里云主机带宽小,那只是因为你还停留在单机架构上. 阿里的架构设计,云主机主要用来跑程序的,附件的存储和访问主要靠OSS. 有人又会说了,OSS按存储费+流量双重计费伤不起,只是你不知道OSS ...
- 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法
首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的: 用户 → CDN 网络 → 一台或多台真实机器 ↗ CDN Server ...
- 引入外部 CDN失效时--怎么加载本地资源文件(本文以jquery为例)
相信大家都使用过CDN静态资源库,比如下面 CDN官方静态资源库:https://cdnjs.com/ 七牛前端公开库:http://staticfile.org (vue,react,nl都有) ...
- 关于CDN与缓存(浏览器和CDN)
本文目录:一.引入 二.CDN定义 三.关于缓存 四.浏览器缓存 一.引入 客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,进而影响用户体验,且无法保证客户端与源站点间的距离足够短,适合 ...
- CDN拾遗
作为前端er,辛辛苦苦搬完砖,好不容易上线之后,正准备告一声万事大吉,回家吃鸡.忽然qa/pm/老板问,为什么我这里还是没有更新?只能是弱弱的回一声,清个缓存看看?或者还有那么一天,发现大部分区域都是 ...
随机推荐
- live555使用NDK21编译出arm64-v8a和armeabi-v7a
一.编译环境 ubuntu环境 NDK21,下载地址链接 live555源码live555源码 二.编写编译脚本 环境和源码弄好后,就可以开始进行编写编译脚本 1 编写arm64-v8a脚本 将下载好 ...
- Spring Boot自动运行之 CommandLineRunner、ApplicationRunner和@PostConstruct
在使用Spring Boot开发的工作中,我们经常会需要遇到一种功能需求,比如在服务启动时候,去加载一些配置,去请求一下其他服务的接口.Spring Boot给我们提供了三种常用的实现方法: 第一种是 ...
- ElasticSearch - 基础概念和映射
前言 写这篇东西,是因为官方文档看着太痛苦,于是乎想用大白话来聊聊 ElasticSearc (下面都简称ES).所以下文对于 ES 一些概念的表述可能会与官方有出入,所以需要准确的表述和详细定义的, ...
- golang gc的内部优化
今天讲一个常见的gc compiler(也就是官方版本的go编译器和runtime)在垃圾回收的扫描标记阶段做的优化. 我对这个优化的描述印象最深的是在bigcache的注释里,大致内容是如果map的 ...
- KingbaseES V8R3 集群运维系列之 -- network_rewind.sh磁盘检测功能详解
案例说明: 在KingbaseES V8R3集群,network_rewind.sh用于当节点数据库服务down时,实现数据库服务的自动恢复功能.在network_rewind.sh执行时,会对数 ...
- 【Java面试题】Mybatis
五.MyBatis 40)谈谈 MyBatis Mybatis 是一个半自动化的 ORM 框架,它对 jdbc 的操作数据库的过程进行封装,使得开发者只需要专注于 SQL 语句本身,而不用去关心注册驱 ...
- Python爬取国家统计局2009至2020统计用区划和城乡划分代码(省市区/县三级)并存入mysql数据库
国家统计局->统计标准网址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ 获取资源请关注公众号 [靠谱杨阅读人生]回复[城乡分类]获取 流程 ...
- https安全性 带给im 消息加密的启发
大家好,我是蓝胖子,在之前# MYSQL 是如何保证binlog 和redo log同时提交的?这篇文章里,我们可以从mysql的设计中学会如何让两个服务的调用逻辑达到最终一致性,这也是分布式事务实现 ...
- .Net单元测试xUnit和集成测试指南(1)
引言 在现代化的软件开发中,单元测试和集成测试是确保代码质量和可靠性的关键部分.ASP.NET Core 社区内提供了强大的单元测试框架,xUnit 是其中之一,它提供了简单.清晰和强大的测试功能,编 ...
- 2024-04-06:用go语言,给你两个非负整数数组 rowSum 和 colSum, 其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和,换言之你
2024-04-06:用go语言,给你两个非负整数数组 rowSum 和 colSum, 其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和,换言之你 ...