没错,昨天是下雨了,然而我的屋子其实并没有漏,我也没有把大小脸盆和水桶拿出来接水,也没有一晚上没睡拿个破抹布一边擦地一边怨天尤人。
说啥来啥
不过,我确实一晚上没睡,并非我投身于我极度热爱的编程事业,废寝忘食的码代码,而是,我的一台服务器被D了、D了、D了......。 话说几天前,@rivalhw 还和我聊过DDOS的事情,因为不在现场也不了解具体情况,我只能建议他向阿里云求助,是的,他用的是阿里云。
昨天早上一个客户和我反馈,说服务器有点迟钝。估计恰逢攻击者吃早餐或者睡觉去了,所以我访问的时候并不是很慢,粗略看了一下日志,一堆被屏蔽的访问的log,我就随便清理一下log、更新了一下补丁、再设设软防就去忙了。临近晚上,一看邮件,我的天啊,一堆资源超标的报警,超标到神马程度呢?我给大家看一下其中一封报警邮件:
Time: Fri Jul 7 20:07:10 2017 +0000
1 Min Load Avg: 50.23
5 Min Load Avg: 40.94
15 Min Load Avg: 36.50
Running/Total Processes: 10/816
简单的解释一下,这台服务器是CPU是两个
Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
而每个CPU都是四核的,又支持超线程
所以,系统识别成16个CPU,平时负载都是这样婶的:
昨天我爬上去是这样婶的(来自和客户对话时给客户发送的截图):
无论是上边报警邮件中的 50.23还是截图中的76.08,都意味着16个CPU干着他们能力几倍的事情,结果就是累的要死。
搞错方向
然后客户急得要死,说这样不行啊,这样一晚上损失惨重啊。他们的这个站,是吸金利器,每天赚钱无数,停掉一天,少赚无数钱。然后我就被拉上和他们技术人员一起找毛病。其实我第一个反应就是被攻击了,然而晚上迷迷糊糊的,客户又一再强调不可能,然后我们就一直在站点程序上找原因,结果发现这站点程序还真是烂啊,于是我毫不留情的指出这这这、那那那、还有这这这这,这样是不对的,这样无疑会导致极其耗费资源等等。然后统计了一下,其中一个写的很大很乱的PHP每天被调用65万次,65万次是多少,我掰了半天手指头也没数明白65W次是多少,并且他们不止这一个PHP文件,并且他们不止PHP文件。然后客户说这两天更新过程序,每个HTML里都调用两次PHP、PHP里又调用无数次HTML,我醉了。
大家集中精力和PHP奋战,裁掉一个又一个,试了一次又一次,资源占用还是居高不下。最终我想了个办法,直接把站点恢复到5天以前,这样期间的更新不就都没了嘛,何必一个一个恢复。大家兴奋不已,纷纷夸奖这真实一个好主意。于是乎,开启备份恢复,漫长的几分钟过去,终于恢复到了几天前。我们满怀期待的观察负载,发现并没有什么鸟用,哭,又做无用功了。
定位毛病
然后客户对我提出重大疑义,为毛你就怀疑我的站点啊,为毛不怀疑其它站点啊,你自己的垃圾站不也在上边嘛。我的垃圾站,我哭,两年都没人访问一次,能出故障那得多令人庆幸啊。不过既然客户有疑虑,那么我们必须是要帮助其打消的。不然,以后有何脸面和人家说是你的站点问题。打消疑虑的办法很简单,他的站点在独立IP上,我直接把这个IP断线,然后在看CPU负载,一路嗷嗷下降。很快就从70、80降低到0.5以内,客户无言以对。
然后继续回到和站点奋战的过程中,观察系统日志、观察Apache的错误日志、观察用户站点的访问日志,我浑浑噩噩做着自己都不知道自己在做什么的事情,困得睁不开眼。然后和客户说要么关站吧,一了百了,你也省心我也省心不是嘛。客户说关站就得喝西北风啦。于是继续奋战。
终于解决
大脑在一片混沌中突然灵光一闪,是不是被攻击了啊?额,貌似最开始就闪过这些灵光呢。为毛折腾半天才想起来。然后和客户说起,客户也开窍的表示极有可能。可是为何机房没响应呢?那些思科网件的硬防都死了吗?这时候去联系机房?那无疑是找死的行为,我以前遇到过几次麻烦,联系他们,每次都是帮我把事情搞得更糟糕,一堆印度技术客服,轮班的上来折磨你,那之后我再也不敢联系他们了。虽然他们号称服务一流、技术一流,但是感觉没比我这三流的技术强到哪里去。于是从被攻击的角度着手,调节了一下软防的设置,比如追踪一下同一IP源的同时连接数等等,30秒内超过100个链接,无情的BAN掉。经过一系列的调整之后,服务器负载终于下降到了合理的范围。这时候天也快亮了。
漫长的雨夜就这样过去了。
嗯,或许比漏雨强一些吧。
话说那个 @rivalhw 以后不要和我聊DDOS的问题 😡
感谢阅读 / Thank you for reading.
欢迎upvote、resteem以及 following me @oflyhigh 😎
Hi Oflyhigh, i am moved by the way you present your piece in your language and i can see the enthusiasm by the number of replies and comments.i love it even when i can't understand it.you have my upvote and following.stay steemed!
可以啊,熬夜干活还能继续写短篇 upvote
感覺上好像回到了二十年前我在做的事一樣...很懷念呀...
I like this picture because it reflects the bitter reality and suffering suffered by people in the slums unfortunately.
thank you for sharing and good lock @oflyhigh
谢谢你的帖子真的有帮助 !!
非常感谢你为这个职位,我希望能看到英文版本:)
我以前用vps,被ddos时候 都直接解析到127.0.0.1
我那时候弄得是灰色行业 所以经常被对手搞
😄嘘,我有一次被D,超级强大的攻击
我把被D的域名解析到别的IP,指哪哪死
我觉得我掌握了一件大规模杀伤性武器
爽了大概一周半以后,攻击停止了😢
我有次解析到我对手那边去了。现在想起来 有点坏
😄我把这边的小X本的大使馆网站给弄废了
这都可以。 强!
是对手强,当年号称国内排名前五的主机服务商
然后我一客户到处揭人家老底
揭老底就揭老底呗,这丫还把自己站点的链接挂签名里
结果,你懂的
O哥,你这又是一传奇,你站好,别动弹,让我佩服三分钟……
作为一外行,竟然看懂了你们说话的内容,我真的变聪明了么,难道昨天吃的核桃管用了~
记得每天六个核桃
:O
These load averages are insane @cn-writing ! WoW !!
Thank you for this ! I can read but I can't type Mandarin with this keyboard lol
great post!
I wish I could read that.
这真不是我干的!
愤怒,一定是你干的,就是你干的
Travel in Japan
https://steemit.com/travel/@cleemit/travelling-in-japan-with-a-bear-s-head-the-mount-fuji
please anyone here who will like to share advice and opinion on sex education? there is a move we plan to make and we will appreciate advice, opinion and instructions. please feel free to share your view on this
https://steemit.com/sex/@outhori5ed/sex-education-by-ogunleye-dele-victor
thank you
寫半天不給讀者解釋重點詞,DDOS,distributed denial-of-service attack,縮寫:DDoS attack、DDoS),來人啊,拖下去,剁掉Oflyhigh手指(DDOS),因為根本沒人可以,讀懂Oflyhigh說啥(DDOS)。
来剁吧
来剁
another post in chinese ( i think) i dont understand but the pictures always interesting
后来再也没有攻击了?
攻击一直在继续😭
nice