当前位置:首页 > 科技 > 正文

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

0x00/多年运维,不敌攻击

从05年开始做运维到现在也有13年了,干过论坛,电商,游戏,金融,直播这些业务的运维,活很杂,什么,,,,Xen,KVM,,Ceph,iSCSI,DNS, 负载均衡等等。

那么多年做运维以来,最让人觉得棘手和绝望的便是DDoS攻击了,每天晚上睡觉后,都怕接到电话说服务器被DDoS了。

至于为什么那么恐怖,我想做过运维的人或者被攻击过的企业都应该非常明白,那是一种怎样的体验。

0x01/ 噩梦初醒,惶惶不可终日

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

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

直到06年冬季的某天,公司托管在浙江绍兴电信机房的那台Dell 1850服务器突然无法访问,WEB和SSH都无法访问。

老板那个急啊,客服那个急啊,真的是可以说热锅上的蚂蚁,坐立不安。

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

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

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

从那次事件后,公司所有人谈DDoS色变。

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

15年,视频直播爆发式地发展,全民网红,进入这家公司就职半年后,公司融资2000多万,对于视频直播行业可能不多,但是对于整个公司来说已经是走向成功的第一步了。

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

正当大家士气十足甚至都在幻想上市的时候,没过多久,公司就遭到了重挫。

16年9月15号,那天正是中秋节,晚上应该是全家一起吃月饼赏月的时候,可是一起蓄谋已久的DDoS攻击,让大家在公司里度过了极为煎熬的中秋漫漫长夜。

当晚6点,刚吃完晚饭,准备和家人一起去公园赏月,还没动身,就接到公司电话,要求赶到公司处理突发情况。

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

询问了IDC接入服务商本次的DDoS攻击规模,得知入向的DDoS攻击流量高达+

IDC接入服务商表示机房总接入带宽是,这次攻击直接将机房出口打满,为了不影响其他用户,只能将被攻击的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 ,导致服务器无法处理后续的TCP请求,导致服务器瘫痪。

防火墙 软件 硬件_硬件防火墙_防火墙是硬件还是软件

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

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

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

【系统: 可以修改注册表来提高SYN数据包的处理能力】

进入注册表的[ters]项目

1. 启用syn攻击防护模式 (可以显著提高的SYN处理能力)

=2 [dword]

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

=10000 [dword]

3. 启用动态队列长度

=1 [dword]

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

【Linux系统: 修改内核参数提高SYN数据包的处理能力】

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

net.ipv4. = 1

2. 增加SYN 队列长度

net.ipv4. = 65535

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

-N syn-flood

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

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

-A syn-flood -j DROP

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

购买专业的DDoS云清洗服务之前可以咨询一下服务商采用的SYN Flood防御算法和模式,这个非常重要,SYN Flood防御算法和模式对于不同业务产生的影响是完全不同的。

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

常见的SYN Flood防御算法有:

• SYN

• SYN Proxy

• SYN Reset

• SYN

如果您咨询的高防服务商无法回答或者不专业的话,基本都是代理商和一些骗子。

以上都是我做运维和各种DDoS防护服务商接触后总结的关于SYN Flood防御的经验,上述的算法都有缺点,所以需要根据业务选择合适的SYN Flood防御算法。

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

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

ACK Flood / RST Flood / PSH Flood / FIN Flood 这类攻击本质上不如SYN Flood危害那么大,但是也足够轻松的导致服务器瘫痪。

防火墙 软件 硬件_硬件防火墙_防火墙是硬件还是软件

如上图,这类攻击虽然不会导致服务器系统中出现大量的,但是会出现服务器向伪造源IP发送大量的RST报文。

举个例子:

如果你的服务器接入带宽有1Gbps,并假设服务器OS的PPS处理能力达到1.4Mpps,并且OS设计非常牛逼,没有导致大量的中断和锁的开销为前提。

那么你遭受的ACK Flood攻击时,你的服务器也会出现上行带宽用到左右。

这可非常不划算,而且正常情况下,服务器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服务商和运营商配合来做,否则都是无效的,费用也应该是天价了。

有话要说...

取消
扫码支持 支付码