联想cdn备用cdn服务器连接异常异常

CDN流量放大攻击思路探究及防御办法
大家好,我们是OpenCDN团队,专注于CDN技术的开发和研究。
首先,为了对CDN进行攻击,我们必须清楚CDN的工作原理,这里我们再来简单介绍一下CDN的工作模型。
CDN的全称是Content Delivery Network(内容分发网络),通过在网络各处的加速节点服务器来为网站抵挡恶意流量,把正常流量进行转发。用简单点的话来说,CDN一般有三个作用
1. 跨运营商加速:我们自己的网站常常只属于一个运营商(比如:电信),而加速节点遍布每家运营商,于是和网站不同运营商(比如:联通)的用户访问起来就不会那么慢了。
2. 缓存加速:很多的静态资源以及一部分页面更新都是比较慢的(比如首页),这个时候CDN就会根据浏览器的max-age和last-modified值以及管理员的预设值来进行缓存,于是很多流量CDN节点就不会每次都来向网站请求,CDN节点可以直接自作主张地将命中的缓存内容返回。&&
3. 恶意流量过滤:这是CDN非常重要的一个作用,也是很多网站会用CDN的原因,因为CDN能为我们抵挡攻击大流量攻击、普通的攻击(比如注入等),只有正常流量才会转发给网站。
这里还要说明几个名词:
源站:我们自己的那个网站就被称为是源站。
反向代理:CDN节点向源站请求数据的方式就叫反向代理,也就是上文所说的转发。
回源:CDN节点向源站请求数据的行为就叫做回源。
0x01 探究之旅
我们在做OpenCDN测试的时候,遇到了一些小问题。发现一个没有人访问的网站居然会有流量,并且有着惊人的访问次数。
我们的OpenCDN有2分钟一次的反向代理检测,但是这次数加起来也就区区的720次,而这400万的访问次数是哪里冒出来的?然后我们查看了日志,发现单个域名的日志到达了58G之多,而将其打开之后发现X-Forwarded-For字段中(X-Forwarded-For机制是通过一层代理后记录一个IP,让源站在使用CDN后能够获得真实的访客IP而不是CDN节点IP)充斥着大量有的IP,而且都是本服务器IP。我们瞬间明白了什么,然后去管理端上验证了一下,果不其然地,我们一不小心把源站IP设成了CDN节点的IP,不过当时我们并没有发现。于是这么大的流量也好解释了,由于2分钟一次的检测触发CDN节点的回源,而这个站点的源站是CDN节点本身,于是CDN就开始不断自身反向代理死循环,这样一个请求就被无限地放大了。当超时或者HEADER太大(就是X-Forwarded-For字段导致HEADER溢出)的时候,请求会被丢弃。
把站点的源站IP设为CDN节点本身,能够让CDN节点进行自我的反向代理死循环,然后放大流量。
貌似有点意思,小伙伴们于是马上就行动起来了,进行了实验。
我们在安全宝上成功地将源站IP设置成了某个为我们加速的CDN节点IP,然后在美帝的一台小vps上开webbench用2000个线程去打这个这个站点(无论是哪个CDN节点收到请求,请求最终都会汇聚到那个无辜的被设源站的CDN节点),不过实验结果并不理想,节点没有宕机,通过IP反查找到一台和我们公用一个CDN节点的网站,通过这个CDN节点反向代理访问那个网站,出现了卡顿和打不开情况,仅此而已。由于没法采集到安全宝的这个节点的性能数据,我们也没法对我们的攻击做出评估。而且我们这个实验缺少了一个对照组,到底是因为死循环把流量放大导致CDN节点卡顿,还是这个2000线程本身就能把CDN节点打卡。
于是我们总结了一下,猜想这种节点反向代理自身的攻击手法可能可以适用于这样的场景
你想要攻击某个CDN节点,但是如果打404页面消耗不了太多,而如果打CDN中的某个站点,因为流量会穿透过去,可能还没有把CDN节点打掉,背后的站点早被穿透死了。这个时候,如果让节点进行自身反向代理死循环,他就会把所有的流量给吃进去,并且没法吐出来,这个时候可以产生一定量的流量杠杆效应,可以使得CDN节点出现异常。
不过话说回来,这种攻击的防御方式也异常简单,只要在设置源站IP的时候,不让设置CDN节点IP就行了,只要在网站前端交互输入的时候加点验证就行了。
我们考虑到我们没法对不是我们的CDN节点的带宽上限,性能上限有个很好的评估,黑盒式的摸索可能带来不了什么,于是我们拿我们自己的CDN节点开刀。
同时我们继续对这个思路进行探索。我们发现,既然一个节点能死循环,那两个节点怎么样?结果是肯定的,并且产生了质的变化。我们假设了这样的一个场景
我们的opencdn.cc在甲CDN服务商注册服务,并且在乙CDN服务商注册服务,然后我们得到甲CDN服务商的一个CDN加速节点1.1.1.1,然后又得到乙CDN服务商的一个CDN加速节点2.2.2.2。 然后聪明的你一定已经猜到了。我们把在甲CDN服务商设置源站为乙的加速节点2.2.2.2,在乙CDN服务商设置源站为甲的加速节点1.1.1.1,然后甲会问乙去索取源站,乙又来问甲索取源站,于是1.1.1.1和2.2.2.2就很开心地并且不停地交流了起来~
于是我们也进行了实验。这次我们采用POST包进行测试。
用POST包的原因有两个
1.CDN节点是会有缓存机制的,刚刚你请求的地址命中缓存,那么就直接返回,不会成为死循环了,而POST包则有一个很好的特性,绝对回源,一点也不含糊。
2.POST包可以扩大体积,在同等连接数的情况下让效应更加明显。
我们本次测试发送500个POST包,每个体积大概为10k左右。然后总共发送的流量为5M。
然后让我们来看下两个节点的反应
不过似乎到了带宽上限。因为我们手中的机器毕竟也不是很给力。
然后让我们来看下这500个POST包产生的效果
58.215.139.124
RX bytes: (5.0 GiB) TX bytes: (15.9 GiB)
RX bytes: (5.6 GiB) TX bytes: (16.5 GiB)
流入 5MB) 流出 3MB)
112.65.231.233
RX bytes: (5.1 GiB) TX bytes: (4.6 GiB)
RX bytes: (5.7 GiB) TX bytes: (5.2 GiB)
流入 4MB) 流出 8MB)
我们拿最小的进行测算吧,大概把流量扩大了100倍左右,然后如果把流入流出加起来就是扩大了200倍左右。
这一种攻击方式和前一种相比有两个优点
1.CDN服务商不能把源站IP做限制来防御,因为他无法知道别家的CDN节点IP。
2.能借刀杀人,可以用一家CDN服务商的CDN节点来打另外一家CDN服务商。
然后我们还进行了一些联想,一个站点可以把两个节点陷入死循环,如果把更多的节点来进来呢?
我们可以这样。让多个CDN节点和一个CDN节点死循环,把中间的CDN节点带宽耗尽。
我们还可以这样。让三个CDN节点死循环,如果有做流量上的流入流出探测限制,这样能保证流入流出不为一个IP。
毕竟在CDN服务商添加一个域名的代价是很小的(免费),我们可以用一个一个域名将节点串起来,然后啪一下开始流量死循环震荡。
好了,让我们用四个字总结一下这次的的特点:借力打力。
0x02 防御方法
那么如何来防御这种以及可能演化出来的攻击呢?
1. 禁止把源站IP设为CDN节点本身(这是必须的)。
2. 限制每个站点的带宽。&&
3. 对请求超时的源站做一定限制。&&
4. 通过X-Forwarded-For来进行限制,超过多少层自动丢弃。
以及CDN节点已经存在的一系列的软硬防都可以让一部分的攻击流量无法成型,自然也无法形成死循环震荡。
本文仅为一种CDN流量放大攻击的思路,只是做过一些小规模的实验,也欢迎大牛们进行验证。如有不足之处或者逻辑上的错误还请提出,谢谢您的当前位置: >
人物访谈:互联网快递CDN助力网站加速 14:04:47&|&编辑:胡琦&|&查看:&|&评论:
互联网带给我们的便利,在今天几乎已经让所有人都有所体会。每一个有过上网体验的用户,都应该有一个感受,在浏览网页的时候,很反感页面卡、不流畅。你可知道网站要在大流量的同时保证稳定而顺畅的被访问,其实需要一些助力,甚至需要第三方介入呢?
互联网带给我们的便利,在今天几乎已经让所有人都有所体会。每一个有过上网体验的用户,都应该有一个感受,在浏览网页的时候,很反感页面卡、不流畅。你可知道网站要在大流量的同时保证稳定而顺畅的被访问,其实需要一些助力,甚至需要第三方介入呢?记者很荣幸采访到网宿科技的副总裁刘洪涛,一同聊一聊CDN行业以及他们是如何助力网站加速的。
问:我们知道贵司最主要的一项服务是给网站提速,请您说说导致网站访问速度不快的因素主要有哪些?
刘洪涛:造成网站访问速度不快的原因有很多,其中包括网站源站服务器配置问题;服务所处网络环境因素与速度因素;南北不同运营商跨网带来的速度问题;以及高峰用户访问带来的网站访问拥塞。同时互联网发展,用户数量及需求的增长,网站应用内容越来越丰富,图文、视频、下载,等重流量应用对带宽资源及网络环境要求高,也会造成网站的访问速度问题。
问:您能和我们说说CDN具体是如何实现网站提速的吗?
刘洪涛:CDN的全称是Content&Delivery&Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。CDN通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,使用户可就近取得所需内容,解决&Internet网络拥挤的状况。同时,在这层只能虚拟网络上,CDN会采用私有协议、以及多种传输技术,来让平台上的传输过程变得更快。用一个比较形象一点的比喻,CDN就像是互联网上的快递物流。CDN的节点设置就像是物流公司遍布各地的网点,在接到用户请求时,从距离用户最近的站点发货以减少传输距离;传输过程中的优化,就类似物流公司为提升递送速度针对不同的道路情况和不同的包裹类型采取的不同交通方式,让递送路程速度更快。
问:除了CDN提速,贵司还提供哪些服务?主要服务对象有哪些?贵司对自身的发展是怎样的定位?
刘洪涛:我们的产品与服务目前主要包括CDN、IDC和面向运营商的CATM三部分;其中CDN业务收入占最大比例,超过公司总收入90%。网宿科技目前服务客户超过3000家,覆盖门户网站、政府、大中型企业、运营商及电子商务、视频、金融等领域是市场同类公司中用户客户数量最多、行业覆盖最广的公司。除了耳熟能详的互联网公司和电商企业,如CNTV、新浪、百度、腾讯、搜狐、京东、当当网、苏宁易购、一号店之外,还有大量的政府和企业客户,包括银联、招商银行、中国外汇交易中心、华为、中兴、联想、财政部、铁道部等。&关于企业定位,我们始终以&致力于改善互联网用户访问体验&为使命,围绕传输、存储、计算、安全四个方面不断丰富与强化公司的平台服务能力,努力向国际一流的互联网业务平台提供商的目标迈进。我们在2009年10月登陆深交所,是国内CDN及IDC领域第一家上市公司,目前,网宿市值150亿元,居国内专业CDN行业首位,全球仅次于Akamai。未来我们的发展会走向纵深化,将重点集中于进一步加大政企及移动互联网市场的拓展力度,新技术和产品的研发创新等方面,以获得更加持续、稳定的增长空间。并将在云主机、云存储、云分发等云计算领域继续加大投入。
问:同类公司所提供的最重要的服务就是加速和防御这两个方面,对于系统防御,贵司有怎样的保障?
刘洪涛:我们为客户提供的网络安全加固功能主要有两方面:第一,提供安全防护调度:网宿有7个T的带宽资源,在攻击防御上有天然的优势。同时,我们有多项安全措施帮助客户网站及应用将攻击阻断在源站之外,如源站隐匿技术通过对应用服务器IP地址进行隐藏,确保攻击者只能访问到CDN边缘节点,无法对客户源站进行直接攻击;第二,提供网络攻击防御及屏蔽:在外围构建安全城墙,快速诊断、智能识别,预警网络异常访问并采取主动防御措施,利用缓存替代页等手段保证正常访问,降低攻击影响。
问:目前市面上也有不少从事CDN加速的公司,规模上可能不能相提并论,但是它们有提供免费加速的功能来吸纳用户。对你们而言,竞争力在哪里?
刘洪涛:CDN发展竞争有三个要素:技术创新、平台规模、运营经验。技术上,我们是国内首家自主研发CDN系统平台的公司,在过去几年里,相继成为国内首个实现动态加速技术、率先完成CDN内容分发平台的云架构改造、并开创性推出了CDN行业首个移动加速解决方案。目前,在厦门和美国硅谷我们均设立了研发中心,并且公司的研发及技术人员占总人数的60%左右,在研发方面的投入始终保持持续增长,拥有相对的技术优势。&平台方面,我们在国内同行业中,CDN平台规模最大。目前全球服务器数量超过3万台,带宽储备超过7T,在全国部署了500多个节点,海外30多个节点,服务覆盖全球,每天服务的网民超过5.5亿。另外在服务上,我们在互联网领域有14年的服务经验,近3000家的客户覆盖了诸多行业,在中国同行中拥有的客户数量最多。
问:公司规模的扩大、站点布局的扩张都需要有硬件、人才和资金等诸多方面的支撑,关于人才,公司有怎样的举措?
刘洪涛:我们始终认为,研发能力是企业发展的核心竞争力,所以对于吸纳优秀的技术人才,来推动公司研发能力,提高公司核心竞争力是我们不遗余力在做的事情之一。我们公司目前有1500多名员工,其中60%以上是产品和技术研发团队;并且我们持续在加大研发投入比例,2014年的年中报显示,2014年上半年我们公司研发投入&0.61亿元,比上年同期增长&103.61%,以加快产品的技术升级、优化产品结构和体验。
问:对于访问节点的设置,是从哪些方面考虑的?
刘洪涛:我们目前所布的节点,是跟着客户的业务发展需求和用户需求走的,哪里有需要,我们就在哪里设点。一方面我们的CDN平台上每天有丰富的数据,能实时反馈用户访问量及所在地理位置,我们会根据用户的访问需求来对节点做优化。另外,我们布点的需求也根据客户业务拓展的需要来做考虑,比如我们现在拓展海外的节点,就是因为客户海外市场业务拓展的需要,而我们恰好搭起这座桥梁,沟通国内与国外的需求。
问:诸如双十一这样的电商活跃时段,对电商行业网站的访问速度要求也会集中走高,对您这样的服务商会带来怎样的影响?如何保证服务器跟上访问的节奏?
截至今年,我们已经连续第五年为双十一电商大促提供CDN加速服务了。我们有7个T的带宽储备资源,足够应对双十一带来的用户访问高峰。同时,为保障电商客户提供最高效、优质的双十一用户体验,我们的电商网站加速解决方案有多项技术优势和保障措施:
第一,提供动、静态结合的电商加速解决方案,让用户购买体验更快更流畅。一方面我们针对静态内容,如商品页面、详情图片等,通过缓存将数据保存到边缘节点,让用户就近获得快速访问;另一方面针对价格等变化信息采用动态加速,建立快速传输通道,让用户在抢购过程中能更快刷新页面、将商品放入购物车并进入支付环节;另外,通过https无缝安全加速服务,保证订单支付过程安全稳定,最终让用户抢购成功。
第二,零时延主备切换,保障用户访问体验。也就是在大促期间,采用我们自主研发的零时延主备切换技术,一旦电商源站发生异常,网宿CDN就会实时做出判断,避免源站将异常内容返回给用户,让用户与访问故障相隔离。同时,这一项技术,会同时将用户访问需求切换至客户备源上,返回正确内容,整个过程中用户完全感觉不到故障发生,保证良好的用户体验。
第三,有序回源,在大促过程中,保证突发访问时源站不会因为负载瞬间过高而崩溃。很多用户有过秒杀活动的体验,秒杀过程中网站会在短时间内出现突发访问高峰,我们做的就是,当网站的回源并发请求达到源站负载上限时,通过有序回源功能将对访客回源需求进行排序,保障源站稳定健康运行,平滑过渡网站访问突发时段;
最后,我们的云平台采用OpenQS实时监测,能实时监控网站服务质量,监测客户源站压力,出现异常即时告警,及时解决。并有7*24小时运维、客服人员在线值班,第一时间响应客户需求。
刘洪涛,现任网宿科技股份有限公司副总裁。中国人民大学MBA,是资深的CDN行业专家,曾在富士通信息系统(中国)有限公司及纳斯达克上市公司弘成教育任职,在互联网行业拥有十年的工作经验。
相关阅读:
搜索"raincent"或扫描下面的二维码

我要回帖

更多关于 备用服务器 的文章

 

随机推荐