“網癮少年”小王正百無聊賴地刷新著天涯雜談。
小王吸了一口冰紅茶,鼠標滾輪飛快滑動。
突然,一個標紅的帖子標題抓住了他的眼球。
《驚天內幕!那個爆火的快看網,竟是盜版起家的毒瘤?!》
標題很驚悚。
在這個標題黨還沒泛濫的年代,這種字眼有著致命的吸引力。
小王點了進去。
帖子洋洋灑灑幾千字,圖文并茂。
雖然圖片有些模糊,但邏輯“嚴密”。
文章聲稱快看網利用流氓插件竊取用戶信息,所謂的智能推薦其實是監控用戶**,甚至還暗示快看網的原始積累涉嫌洗錢。
“我靠,真的假的?”小王嘟囔了一句。
他往下一拉評論區。
好家伙。
這帖子才發出來十幾分鐘,回復已經破了五百樓。
“我就說這網站怎么知道我喜歡買什么,原來是偷窺!”—— ID:正義路人甲。
“抵制快看網!還我**!”—— ID:守護天使。
“這種垃圾網站怎么還不倒閉?有關部門不管管嗎?”—— ID:在這個冷漠的世界。
回復整齊劃一,情緒激動。
小王不知道什么是“水軍”,他只覺得大家都這么說,那肯定是有問題。
他隨手也跟了一句:“太黑了,以后不用了。”
同樣的場景,發生在貓撲、百度貼吧,以及各大垂直論壇。
一場精心策劃的輿論風暴,正在成型。
就像是烏云壓頂,黑云摧城。
……
夏冬對此一無所知。
或者說,暫時還不知道。
采訪車隊剛剛離開工廠,揚起一陣塵土。
夏冬站在廠門口,目送著那輛印著電視臺LOgO的面包車遠去。
轉身打車回家。
剛走進屋子,口袋里的手機就震動起來。
屏幕上顯示著兩個字:周毅。
夏冬心里咯噔一下。
周毅是技術狂人,六個大神之一,負責服務器的維護。平時有事都是在群里溝通,沒事絕不會打電話。
除非,出事了。
“喂?”夏冬接通電話,手上沒停,按下了電腦開機鍵。
“夏冬!出事了!”
周毅的聲音不大,卻帶著明顯的焦急。
“怎么了?慢慢說。”
“服務器炸了!”
周毅吼道,“就在剛才,流量突然暴漲!本來以為是正常的訪問流量增長,結果不對勁!”
“怎么不對勁?”
“太快了!曲線是垂直拉升的!而且全是無效請求,帶寬瞬間被打滿了!”
夏冬瞇起眼睛。
他沒掛電話,夾在脖子上,雙手飛快地登錄QQ。
“有人在搞我們。”夏冬的聲音很冷,“看來是有些人坐不住了。”
“肯定是競爭對手!”周毅罵了一句,“現在怎么辦?NginX已經扛不住了,由于連接數太多,正常用戶已經進不來了!”
夏冬看著電腦屏幕右下角那個跳動的企鵝頭像。
那是他們的核心技術群。
群里的其他人顯然都已經知道了消息。
此時,群里的消息刷得飛快。
張濤:“Web服務器CPU 100%了!”
楊大海:“數據庫連接池爆了!寫入隊列堵死!”
吳澤明:“是DDOS,混合了CC攻擊。這幫孫子夠狠的。”
夏冬坐下來,深吸了一口氣。
DDOS,分布式拒絕服務攻擊。
如果跟小白讀者解釋,這就好比你開了一家飯店,生意正紅火。
突然,競爭對手雇了一千個流氓沖進來。
這一千個人不打人,也不砸東西。
他們就坐在桌子上,拿著菜單不點菜,或者每個人只點一杯免費的白開水。
真正的客人想進來吃飯,卻發現門口堵滿了人,座位也被占光了。
飯店的每一個服務員(CPU線程)都在忙著招呼這些流氓,端茶遞水,結果累得半死,一分錢掙不到。
最后,飯店只能癱瘓。
而在網絡世界里,這“一千個流氓”,就是成千上萬臺被黑客控制的“肉雞”電腦。
這是一種簡單、粗暴,但極其有效的攻擊方式。
甚至是無解的。
除非你的門口足夠大,或者你有足夠多的保鏢把流氓扔出去。
“夏冬,你在聽嗎?”電話里周毅有些急了。
“在聽。”夏冬冷靜地說,“別慌,陳默呢?”
“陳默在搞,但他不說話,不知道在干嘛!”
夏冬掛斷了電話。
他在群里敲了一行字。
夏冬:“@陳默 情況怎么樣?”
群里安靜了一秒。
陳默:“給我五分鐘。”
……
京城,陳默坐在電腦前。
房間里沒有開燈,只有屏幕的藍光映照著他那張蒼白、疲憊的臉。
他的眼神,卻亮得嚇人。
那種眼神,就像是饑餓的狼看到了獵物。
或者是,絕世劍客遇到了對手。
“有點意思。”陳默喃喃自語。
他的手指在鍵盤上飛舞,速度快到只能看到殘影。
他沒有用鼠標。
對于他這種級別的架構師來說,鼠標是累贅。
黑色的終端窗口里,綠色的代碼如瀑布般流淌。
他在寫腳本。
LUa腳本。
在這個年代,NginX剛剛嶄露頭角,很多人甚至還在用老舊的ApaChe。
而陳默,已經開始嘗試將LUa嵌入NginX中進行動態流量清洗。
這是一種極其超前的思路。
“想用海量請求淹沒我?”陳默嘴角勾起一抹冷笑。
就像是那個飯店的比喻。
既然流氓混在客人里分不清楚,那就設一道“安檢門”。
他在腳本里寫下了一套復雜的邏輯。
識別那些請求特征。
正常的客人進店,會看菜單,會猶豫,會有眼神交流,也就是瀏覽器的一些記錄的正常的行為。
而流氓,進門只會喊同一個字。
陳默的代碼邏輯很嚴謹。
他不是直接封IP,因為對方用的是動態肉雞,封IP效率太低。
他做了一個“人機驗證”的雛形。
所有請求,先返回一個極其微小的JavaSCript計算題。
正常瀏覽器會在毫秒內算出來并返回結果。
而那些簡單的攻擊腳本,是沒有腦子的,它們根本不執行JS,只會傻乎乎地繼續發請求。
“走你。”
陳默敲下了回車鍵。
配置文件熱加載。
那一瞬間,仿佛一道無形的墻,在千軍萬馬前轟然落下。
……
快看網后臺監控室。
周毅死死盯著屏幕上的流量圖。
那條紅色的線,原本像是一根筆直的柱子,直沖云霄,壓得人喘不過氣。
突然。
它折斷了。
斷崖式下跌。
流量瞬間跌去了90%。
那是被清洗掉的垃圾流量。
剩下的10%,平穩、健康,那是真實的用戶。
CPU占用率從100%迅速回落到40%。
數據庫連接池釋放。