记一次被200G流量 DDOS攻击的处理经验

1 篇文章 0 订阅
1 篇文章 0 订阅

希望你不是主动通找到这篇文章,要不然,你可能正遭遇不幸。

我当初也和你一样,第一次被大流量攻击而手足无措,情绪低落。而搜完了整个互联网,就会得到一句回答:ddos是世界难题,无法防御避免或无法绝对防御住。想死的心都有对吧。对于一家技术薄弱,客户量又巨大的小互联网公司来说,简直欲哭无泪。

再次回想起去年国庆,心仍有余悸,整整通宵了七天。

那是2019年9月30号,老板说阿里后台提示服务器有异常,好像被ddos攻击,但应用还是能正常打开。 我当时觉得可能是网络流量的随意攻击而已,又或是阿里云推销他们自己安全产品的一种暗示。可是老板的预感说可能是有人搞他。作为在这一行做小程序直播做的还算的可以的小公司,也有自己的一些客户群,陆续看到了客户反馈说这几天我们的小程序做直播不太稳定等等。老板可能预感到要出事,但当时也还没开始紧张起来,我当时也是抱着刚好国庆可以玩几天的想法。就在国庆第一天晚上8点半,老板微信发来信息说网站打不开了,所有的小程序全打不开了,我当时慌得急忙打开电脑看阿里云后台,提示说服务器已经进入了黑洞,就是被巨大流量攻击后,阿里云为了保护其其他服务器正常运转,不得不把你的服务器直接关停48小时,就是无法重启打开的意思。因为是黑洞了,老板那一晚都是办公室度过的,微信群里不断有客户发来恶意投诉,谩骂,云南分公司被客户拿着刀围住了,说是今晚不能开播就把公司砸了。

当晚我也是凌晨2点多才睡,查了好多资料,最后无不都是说ddos根本无法防,只能买高防服务器死扛,我当时部门还有一个比我技术丰富的老大,他说这是他第二次遭遇ddos攻击,没有办法解决,就是任人宰割。我和老板听了情绪都很低落,他的话让我们看不到任何一丝希望。公司当时没有运维,事实上,就是有运维也不一定就能解决,因为我问过几个运维,回答和上面是一样的。真是让人绝望呀。也问了阿里云技术,最终方案还是买了阿里云高防,就是有点贵,2万块200G流量,已经是阿里云里高防包最大的流量包了当时,还设置了负载均衡3台实例。

国庆第二天晚上果不其然在8点半发起了一次100G,9点20分发一次攻击150G,22点发起一次攻击195G。高防流量直接耗光了,还欠出2万多块钱流量费。服务器有一台好像因为我老大没有设置好,被对方查到了真实ip,最后还是被打跨了。

一般不说,网络随意性ddos攻击不会超过20G,属于测试性的,但如果高过50G以上,就是针对的恶意攻击了。我们此时感觉到危机四伏,困难重重。

第三天我用了很笨的方法,就是把客户的小程序分散到不同的新的服务器,然后设置好cdn,设置cdn有一个好处,服务器真实ip查不出来,因为cdn显示的是全国的ip,要打就打所有ip,但是所有ip不一定全绑定我们的服务器,可能连别人的服务器也会受牵连。所以攻击者要考虑负面影响。

说到这我要说一下cdn,其实阿里cdn很多种,有高防cdn,有全站加速cdn,我当时买的是高防cdn,但没有这么贵,3000元一个月,可以绑定20个域名,也可以提交工单再扩加域名。高防cdn比较高防服务器便宜太多了,而且还包月;默认是20G防御流量的,我后面就是用了分开部署系统把所以的域名都绑定在高防cdn上的方法。

同时镜像了系统,用cdn负载了5台实例,一旦有实例被打跨了马上用镜像,20秒左右就可以同时起1到100台服务器。

说到这,再说一下为什么不用负载均衡服务器,负载均衡虽然也能像cdn一样绑定很多服务器,但负载均衡服务器对外显示的是负载均衡服务器ip,像这种要致人死地的攻击,用户负载均衡也是会被定点打击的,而且可以一直加流量压上来。造成无法访问,或者用cc攻击,抢占网络,使用客户访问不了等。cdn可以很好的隐藏ip,一域名下的cdn也可以设置绑定几百台实例ip,尽管没有负载均衡服务器那么有效果,但cdn也有故障检测机制,一量有一台服务器不可用了,就会把请求转发到其他可用的服务器,短时间可能有部分用户感觉卡,但很快就正常了,但cdn的ip太多,攻击者也要考虑自己的能发起的流量情况,如果一次攻击没有攻击下来,基本上下次成本就会更高,而且直接把某一片区的网络全打瘫痪,是很多攻击者不愿意以身试法的,因为网警肯定会察觉的。

其实总结下来,原则上说ddos是无法防御的,但是国内的能发起的网络的攻击还是有办法化解的,但如果国外的肉机也加入进来,就像前几天的国外的应用软件“推特”被攻击,有几个区的用户是用不了的,所以大型公司也是没有良策,不过国内大公司对抵御大型攻击挺有一套的,我看过类似于像阿里巴巴行巅写的网络架构方面的书。

而且在具体问题上还是大有可为的,比方说,在cdn上要设置好把国外的ip设为了黑名单,还有就是同一ip的访问频率等都可以设置,很多值得借鉴的。

这些如果在应用服务器设置就已经晚了,必须要在网络服务器就要解决好。

说到负载均衡,作为php写后台时有一个很重要的点,就是用户登入状态的问题,缓存应该写在一台独立的缓存服务器,不应该写在应用服务器,这样负载均衡访问另一台服务器时,和用户相关的数据还是在的,不然又要用户重新登入等等就不正常了。 不过现在很多应用,由其是接口开发方式的,都是把少量用户信息放在token中,每次访问后台会先查出用户信息。这是题外话了。

所以,200G流量ddos攻击并没有那么可怕,关键是每一个细节有没有做好,最后无非就是多起几台服务器,按量付费就好了,起100台服务器,每一台分化掉10G的流量都够了。服务器cpu高一点,带宽都设到100M,访问量再大,提高处理速度就行了,再就是系统逻辑要简单,不要一个请求要查询几次数据库,那最后不是因为服务器出了问题,而是在数据库,这个问题我也遇到了。我接手这个系统时,很多地方都不合理。一言难尽,所以防御攻击不止是运维的事,写后台的逻辑也很重要。

最后说一句,因为我的老大对于买了高防包也没有抵御住,人也比较悲观,所以从10月3号后所以的脏活累活都是我干了,最开始就一个系统一台服务器,一个数据库,老板说为了避免客户再次拿刀来找他,他说一个客户一个域名,一个系统,一个数据库,全都分开,先暂时减少攻击损失,所以那几个夜晚国庆几天我都在配置cdn,开服务器,配置数据库,设置不同的域名,发布小程序,上千个,尽量让对方不知道我们客户谁。所以我老大最后也不知道我和老板怎么处理掉被攻击还能正常运转的问题。整个10月,就国庆那几天的攻击我看了一下cdn后台显示的请求数是127亿次,后面经常发生单天某一分钟内达到800万次的请求,我们是做微信直播小程序的服务商,白天基本上没有人,主要的访问量就在晚上8点后。

谁知道那几天我经历什么,若不是深仇大恨,何以要致人以死地,后面才知道是竞争对手找了人搞我们老板。

最后说一句:高防服务器只能帮你一次,二次,如果你想靠一个高防服务器就高枕无忧的话,对于大公司而言,或许没什么,但你知道嘛,阿里云scdn(高防cdn)200G/年是333000元,按我遭遇的流量算的话,一天就用完了,所以小公司根本承受不起。

 

对于小公司来说,就不要和这些网络暴徒硬杠了,尽量隐藏自己。

————————————————————————————————————

这遍文章本来早就想写了,一直因为各种事忙,所以没空写,近来找工作,因为有人问到这个200G流量攻击的事,我就写成文章吧。

我的博客:https://www.taoxtao.cn/archives/3522

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值