关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

DDoS告诉我们,这世上有很多悲哀,仅仅是因为没钱!

发布时间:2022-04-20 23:05:03

这么多年来,最让人感到困难和绝望的是DDoS攻击每天晚上睡觉后,我都害怕接到电话说服务器被打了DDoS了。

至于为什么这么可怕,我觉得做过运维的人或者被攻击过的企业都应该很清楚这是一种怎样的体验。




0x01 / 噩梦第一次醒来,恐慌一整天都在恐慌

第一次和DDoS攻击打交道,那是2006年冬天,第一份工作是为一家网络广告联盟公司做服务器运维。

基本上每天的任务就是看服务器硬盘I/O负载,数据库负载,是否有错误的日志很常见。

直到2006年冬天的某一天,该公司托管了浙江绍兴电信机房Dell PowerEdge 1850服务器突然无法访问WEB和SSH都无法访问

老板很着急,客服很着急。可以说火锅上的蚂蚁坐立不安。

要知道对于广告联盟来说,服务器瘫痪了,站长的收入突然消失了,广告商的流量突然消失,这意味着站长和广告和广告失

于是联系了绍兴电信的网维,得知服务器当时遭受了痛苦大流量的DDoS攻击,攻击规模在2Gbps左右,为保护机柜内其他客户服务器的正常运行,电信网维我们我们服务器的外网IP地址。

为不影响业务,最后找绍兴电信付费做的DDoS防御服务,虽然服务终于恢复了,但是由于服务器的网络延迟也增加了,DDoS攻击一直在继续。

事件发生后,公司所有人谈DDoS色变。




0x02/ 挥金如土,只为续命

152000年,视频直播爆发式发展,全民网络名人,进入公司半年后,公司融资2000多万,视频直播行业可能不多,但已经是整个公司成功的第一步。

随着公司的快速发展,直播平台的流水和日常生活每天都在增长,漂亮的小姐姐越来越多。

就在大家士气十足甚至幻想上市的时候,没多久,公司遭受了重挫

169月15日是中秋节。晚上应该是全家一起吃月饼赏月的时候了,但是一起计划已久DDoS攻击,让大家在公司度过中秋节的漫长夜晚。

晚上6点,刚吃完晚饭,准备和家人一起去公园赏月,还没开始,接到公司电话,要求公司处理紧急情况。

到达公司时,运维同事说平台大规模登录系统服务器和主播奖励系统服务器DDoS攻击,由于攻击规模大,CDN服务商域名直接完成回源处理,攻击流量大流入源服务器,IDC机房直接将被攻击的IP地址做了封堵处理

询问了IDC此次访问服务提供商DDoS攻击规模,得知入向的DDoS攻击流量高达200Gbps

IDC接入服务提供商表示,机房总接入带宽200Gbps,这次攻击直接填满了机房的出口,为了不影响其他用户,只能攻击IP封堵地址。

由于本次DDoS攻击规模超过了IDC接入带宽的服务提供商,IDC服务提供商无法防御,因此向云服务商求助

最后,云服务提供商给出高防IP报价很高,按天计算,300G每天的防御费用是2.5万元,月费37万元,若攻击超过300G,还需要支付额外的防御费。

但是公司业务处于瘫痪状态,为了尽快恢复业务,公司开通了按天的DDoS防御服务,在预存10万防御费用后,当晚8点,DDoS开通防御服务。

防御开通后,云服务提供商经过DDoS经过一夜的观察和沟通,清洁服务、攻击流量被拦截,平台暂时恢复正常,这次终于防守了DDoS攻击。

之后我们遭受了痛苦更大规模的DDoS攻击,黑客每天发起几个小时的攻击,让我们每天支付DDoS防御费用很不划算,最后,该公司每月购买37万元DDoS保证防御服务。

这个案例告诉我们,有钱真的可以为所欲为




0x03/ 这个世界上有很多悲伤,只是因为没钱

曾经在猫眼社区看到一篇帖子,让我感触很深。帖子的标题是《我妻子没钱治病,死了

当一个人处于真正的底层时,他甚至没有资格选择继续生存,谈论创造奇迹的机会。

初创公司不也是这样吗?大量的初创公司正在遭遇DDoS攻击就像生病,来的那么突然,那么措手不及,但是有多少创业公司能这么轻松的负担呢?每月几十万的DDoS防御费用呢

有多少人有创业的梦想,创造奇迹,想改变行业,但遇到DDoS攻击,连选择继续生存的资格都没有,这不是很可悲吗?

因为DDoS防御成本太高,加上对DDoS如果不了解攻击,往往会急着去医院。

这是非常可怕的,就像严重的疾病,三级医院的成本非常高,选择那些声称可以治愈但不可靠的私立和莆田医院,最后往往由于治疗错误和时间延迟导致严重的疾病,最后人力和金钱。




0x04/ 细说DDoS攻击

让我们谈谈我遇到的各种事情DDoS攻击类型和一些缓解手段,还有防止李鬼、骗子、垃圾高防服务提供商教你如何区分高防服务的真假和水分的一些经验。


SYN Flood攻击和防御


一种老生常谈DDoS攻击类型,从早期使用TCP握手三次,伪造的IP源,以小博大,难以跟踪,经典的攻击类型。

大量伪造源SYN攻击包进入服务器后,系统会产生大量的SYN_RECV状态,最后耗尽系统SYN Backlog,服务器无法处理后续服务器TCP请求导致服务器瘫痪。

图片

和上图一样,服务器资源耗尽,用户无法与服务器建立连接,攻击者的目的也达到了。


那如何防御SYN Flood攻击呢(其实是为了缓解和提高系统的处理能力,但仅限于小攻击)?

方法1:软件防火墙和系统参数优化 (适用于SYN Flood攻击流量小于服务器接入带宽,服务器性能足够)

【Windows系统: 可修改注册表以改进SYN处理数据包的能力

进入登记表[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]项目

1. 启用syn攻击防护模式 Windows的SYN处理能力)

SynAttackProtect=2 [dword]

2. 加大TCP半开连接数的队列数

TcpMaxHalfOpen=10000 [dword]

3. 启用动态Backlog队列长度

EnableDynamicBacklog=1 [dword]

通过修改这三处注册表信息可以防止一些小规模并且较为简单的SYN Flood攻击


【Linux系统: 修改sysctl内核参数增加SYN处理数据包的能力

1. 开启SYN Cookies,当出现SYN当队列溢出时,启用cookies来处理

net.ipv4.tcp_syncookies = 1

2. 增加SYN Backlog队列长度

net.ipv4.tcp_max_syn_backlog = 65535

3. iptables限制SYN频率,每秒只允许每个源IP发起2个SYN超过数据包就丢弃

iptables -N syn-flood

iptables -A INPUT -p tcp --syn -j syn-flood

iptables -A syn-flood  -p tcp -m limit --limit 2/s --limit-burst 50 -j RETURN

iptables -A syn-flood -j DROP


方法2: 购买专业DDoS(适用于云清洁和云防御服务)SYN Flood攻击流量较大,强度较高的场景)

购买专业的DDoS云清洗服务可以在服务提供商使用之前咨询SYN Flood防御算法和模式,这个很重要,SYN Flood防御算法和模式对不同业务的影响完全不同。

错误的SYN Flood虽然防御算法和模式可以防御SYN Flood但也会导致业务无法正常访问。

常见的SYN Flood防御算法有:

? SYN Cookies

? SYN Proxy

? SYN Reset

? SYN SafeGuard

如果你咨询的高防御服务提供商不能回答或不专业,他们基本上是代理商和一些骗子。

以上都是我做的运维和各种运维DDoS联系防护服务提供商后总结的内容SYN Flood防御经验,上述算法都有缺点,因此,有必要根据业务选择合适的SYN Flood防御算法。

DDoS防御服务和其他网络安全防御服务不一样,由于DDoS服务提供商决定攻击大小。用户无法验证DDoS攻击的实际大小导致了这个行业鱼龙混杂以次充好占95%以上。以后会重点教大家如何辨别真假高防!


(ACK RST PSH FIN) Flood攻击和防御


ACK Flood / RST Flood / PSH Flood / FIN Flood 这种攻击本质上不如SYN Flood危害如此之大,但也足以轻松导致服务器瘫痪。

图片



如上图,虽然这种攻击不会导致服务器系统中大量的攻击SYN_RECV,然而,服务器将向伪造源IP发送大量的RST报文。

举个例子:

如果您的服务器接入带宽1Gbps,假设服务器OS的PPS达到处理能力1.4Mpps,并且OS设计很牛逼,不会导致大量的中断和锁的开销。

那么你遭受500Mbps的ACK Flood攻击时,您的服务器也会使用向上带宽500Mbps左右。

这很不划算,正常情况下,服务器OS没有办法处理大量的事情。ACK Flood攻击。

因此,我建议直接进行这种攻击DDoS没有必要调整系统,因为云清洗和云防御服务毫无意义。


UDP Flood攻击和防御方式


UDP Flood由于各种软件设计缺陷和各种软件设计缺陷,攻击越来越普遍UDP协议的无连接特性使UDP Flood攻击很容易启动,可以得到数十倍数千倍的攻击放大。

我只是做了一张图片,你可以看看UDP放大攻击原理

图片


对于网站业务来说,是不可用的UDP协议,所以防御攻击只需要足够大的接入带宽(只需访问带宽比DDoS攻击更大),你只需要一个ACL策略丢弃UDP协议可以防止这种攻击。


但是对于游戏业务视频直播就业务而言,那就是噩梦因为很大一部分游戏和视频直播业务都是基于UDP协议开发。

因为UDP协议的传输速度和效率比TCP协议更高,延迟更低。UDP但也会导致优势UDP攻击难以防御的关键原因。

碰巧我以前在的公司做视频直播,在这方面DDoS防护服务常负责地说,防护服务提供商接触了很多,目前国内可以给出基础UDP协议的业务防御UDP攻击的DDoS防护服务提供商不超过5家。


为什么这么难?

因为UDP当数据到达防火墙时,防火墙不知道这个UDP数据包是好是坏?,也没有办法通过一些类似的方式TCP攻击防御算法可以做源的可信认证。

但也不是完全解决不了,以前视频直播公司是采用了云服务商提供的端云联动方式做的UDP Flood攻击防御,效果很理想。

但很少有服务提供商能够制作这种端云联动的防御算法,因为大部分DDoS云清洗和云防御服务提供商购买硬件防火墙,这种端云联动的防御算法没有实质性的研发能力和技术实力。只有真正拥有完全的自主研究DDoS只有具有防御算法能力的服务提供商才能做到这一点


所以遇到UDP攻击,恰好你用的UDP协议承担业务的,不要想太多,准备好钱(每月至少10万),然后找一个很专业的DDoS云清洗服务商保护您。


DNS Query攻击和防御


DNS Query攻击是我工作了10多年,最具威胁性的攻击方法,普遍存在于棋牌游戏,私服,菠菜,AV等暴利,竞争不是你死就是我活的行业。

虽然没见过,但是没吃过猪肉,也见过猪跑。

攻击的原理示意图如下:

图片


这种攻击最大的威胁通过随机构建和查询被攻击域名的二级域名,绕过递归DNS缓存服务器分析记录,各地区和城市递归DNS服务器到权威DNS大量服务器启动DNS查询请求,如果被攻击域名的权威DNS如果服务器性能和带宽不能支持查询所需的带宽,它将直接瘫痪,并影响权威DNS服务器上的其他域名。

所以这种防御DNS Query攻击不仅难度大,而且成本高,不一定是100%防御。

尤其是递归DNS当服务器压力过大时,运营商可以直接禁止被攻击的域名,就算权威DNS服务器可以支持,此时您的域名仍然无法分析,这意味着服务瘫痪。

怎么防御?

这种只能找专业的DNS服务提供商与运营商合作这样做,否则就无效了,费用也应该是天价。


HTTP(s) Flood攻击(CC攻击)和防御方


HTTP(s) Flood攻击和SYN Flood同样的攻击棘手,但是也非常经典,攻击效果非常显著,而防御难度却比SYN Flood攻击高出几个数量级!


图片


攻击发起看似非常简单,实则暗藏玄机!

HTTP(s) Flood攻击早在08年的时候,防御还是较为简单的,因为浏览器单一(大部分都是IE浏览器),通常硬件防火墙会采用JS-Redirect算法来做CC防御,效果非常显著,但是99%的DDoS硬件防火墙是不支持HTTPS场景防御的。

到了12年移动互联网高度发达的时候,传统的硬件防火墙对于CC攻击的防御早已力不从心(根本防不住),各种浏览器百花齐放,PC端的360浏览器,Chrome,FireFox,IE,手机端的UC浏览器,QQ浏览器,Chrome,Firefox浏览器等。

同时攻击软件也日新月异,各种攻击模式,很大一部分的攻击软件甚至都可以完全模拟用户行为,使用headless浏览器攻击网站,真真假假很难分辨。


针对CC攻击的防御,也是分攻击规模的。

如果攻击规模不大的,可以考虑将被攻击的页面静态化,避开数据库查询,和动态语言。

如果攻击规模巨大,每秒QPS高达数万以上的CC攻击,有两种办法。

方法1: 购买大量的服务器和带宽,以及专业的硬件负载均衡设备做负载均衡,将WEB服务器和数据库服务器做成集群和高可用架构,这样可以极大的提高CC攻击的防御能力。但是这个成本可能会很高。

方法2: 购买专业的DDoS云清洗和云防御服务商的服务,专业的事情交给专业的人去做。

这里我友情提示一下,CC攻击防御难度很高,建议让防御服务商免费提供1-3天的防御试用,如果三天期间防御效果不满意可以换一家,而不至于被骗。


慢请求攻击和防御方式


慢请求攻击是这几年新兴的攻击方式,通过大量的肉鸡发起大量的请求,每个肉鸡每秒只请求1次,大量肉鸡会导致服务器遭受大量的攻击请求,但每个源IP看着却没有异常行为。

慢请求型的CC攻击危害较大,但是发起的难度和成本也会高一些,通常攻击者为了利用有限的肉鸡打出较大的攻击,通常会将单个肉鸡的每秒查询速度设定到较大的值,例如每秒5到10次,这种攻击方式往往可以通过源IP频率限制等方式拦截,而慢请求型的CC攻击反其道而行,攻击者往往有足够多的肉鸡资源。

例如攻击者有10万肉鸡在线量,那么每个肉鸡每秒只发起一次请求,10万个肉鸡也可以发起10万每秒的请求,这对于WEB服务器来说压力是巨大的,尤其是中小型企业,没有那么多预算去做Web集群和数据库集群,以及动态可伸缩的Web和MySQL,一旦面临这种慢连接和慢请求CC攻击,基本上都会直接出现数据库过载瘫痪,Web服务器瘫痪。

慢请求攻击示意图:

图片


防御方式:

方案1:主要是扩展后端业务服务器规模来死扛这种攻击,成本极高,但是能解决。

A. 部署数据库集群,支持横向扩展,应对超大的CC攻击带来的数据库查询压力。

B. 部署WEB服务器集群,支持横向扩展,对应超大CC攻击带来的CPU和内存以及内核连接数瓶颈压力。

C. 业务熔断机制和算法,需要自行研发业务熔断保护算法,在遭受超大攻击的时候能够对业务进行熔断和降级保护,防止所有业务全线崩溃。


方案2:寻找专业的云安全服务提供商,解决这种攻击。


脉冲型攻击和防御方式


还有一种攻击我们叫做脉冲型的攻击,啥叫脉冲型,就是攻击流量不持续,每秒发动数次,并且可以及时停止,及时发起。

这种攻击的危害非常巨大,基本上所有防御服务商都不愿意防御这种攻击,原因我下面会详细讲解。

先放一张之前看到的脉冲型DDoS攻击的PPS图:


图片

这种攻击可以在短时间内发起多次DDoS攻击,并且快速停止,快速打击,这对于很多云安全防御服务商来说就是噩梦。

为啥那么说呢?我们先来梳理一下云安全服务商和IDC服务商的DDoS硬件防火墙的部署模式。

模式A: 串联模式(In-line)

图片


串联模式部署的DDoS防御系统对于攻击流量检测和防御可以非常及时,通常可以在1秒左右检测到DDoS攻击并启用防御,最快的可以做到毫秒级别。

只要带宽足够,对付这种脉冲型DDoS攻击还是比较轻松,但是对于黑洞牵引检测来说是有威胁的,因为脉冲型攻击的快起快落会让采样准确率会下降,非常容易出现不能及时封堵这种DDoS攻击,如果瞬间攻击流量超过IDC出口,但黑洞牵引系统没有如此高效的检测,就会出现服务断断续续,影响整个IDC出口下的服务。


模式B: 旁路模式(Out-of-path)

图片


旁路部署模式需要由DDoS清洗设备和DDoS检测设备组成,通常90%的云安全服务商和IDC机房是采用旁路部署模式,这种部署需要DDoS检测设备检测到DDoS攻击后才可以将被攻击IP地址的路由牵引到DDoS清洗设备上。

通常DDoS检测设备大都采用采样方式检测,而不是全量检测,采样检测的效率较低,响应时间会比较高,通常需要攻击持续一段时间,而脉冲型DDoS攻击每次持续时间可能就数秒,这种情况下,旁路部署的防御服务基本会失效,需要防御服务商手工牵引到DDoS清洗设备上进行流量清洗。

脉冲型攻击还可以实现Bypass Mitigation的攻击方式,足量的肉鸡和足够快的脉冲攻击频率,只需要100G-200G的攻击流量即可瘫痪T级别的防御,并且防御难度极高,对于DDoS清洗设备的压力和可靠性要求巨大。

防御脉冲型攻击确实没办法自己解决,只能依靠专业的云安全服务商解决,并且是有足够强大的研发能力和技术支撑能力的。


混合矢量(Multi-Vector)攻击和防御方式


其实也不用那么高大上的叫混合矢量攻击,接地气的名字叫做混合DDoS攻击,这种DDoS攻击通常只存在于利润巨大,竞争巨大,并且有着血海深仇对手的攻击。

这种攻击通常会利用所有可利用的攻击方式来攻击目标,初期的目的是让DDoS硬件防火墙处理不过来,但现在的DDoS硬件防火墙根本不在怕的(除非这家ddos防火墙的代码和业务逻辑有问题),唯一要担心的是你防御算法能否精细的过滤掉这些恶意流量,否则多种攻击方式混合,但凡漏了一些攻击流量进入后端服务器,那就是灾难性的。

关于这种攻击的配图,也没什么好的配图,所以我就随便来一张吧

图片







/template/Home/Shiwaix1/PC/Static