FT12短網址改版說明:一次被迫的改版
FT12短網址上線已經六七年,期間服務了無數正常用戶,也獲得很多好評。FT12短網址使用了國內最穩定、快速的阿里云服務器,保障了短網址的長期可用性。另外,FT12短網址還是目前最安全的網址縮短服務提供商,其在網址安全方面,接入了騰訊電腦管家官方的惡意網址檢測api,能自動過濾所有釣魚、欺詐網址,如果你想用該短網址發一些神馬艷照門的鏈接,或者釣魚、菠菜網站的鏈接,那還是免了,因為這些網址都是不被允許且會被自動過濾的。正因為如此,FT12短網址才能長期的穩定的給用戶提供最好的服務。不過在為正常用戶提供優質服務的同時,我們也得罪很多非法用戶。我們對非法用戶生成的各種釣魚、菠菜等非法短鏈接進行了攔截,凈化網絡。而很多非法用戶在短鏈接被攔截后,心生怨氣,對本站進行了無止盡的CC和DDOS攻擊,給本站帶來了很多煩惱。同時,還有一些同行,抱著投機的態度對本站進行CC和DDOS攻擊。
每一次的攻擊,我們擔憂的不是自己的安危,而是想著如何盡可能的保證正常用戶的短鏈接保持穩定、快速的訪問。為此,我們針對每一次的攻擊進行了分析和總結,有針對性的進行優化,以提高網站的抗CC和DDOS攻擊的能力。首先,從軟件層面說起。FT12短網址程序基于PHP+MYSQL,為了提升效率我們將php版本從php5.4升級到了php7.0,而這種版本升級,我們卻遇到了問題。php7.0不支持mysql方式連接數據庫,我們花了兩天時間重新編寫了程序文件中數據庫連接代碼,將mysql連接方式改為了pdo_mysql。然后我們測試了版本升級對短網址性能的影響:編寫測試代碼,測試在php5.4和php7.0下短網址生成時間,結果非常出乎意料,php7.0的速度比5.4版本快了將近兩倍!無論是數據連接數還是服務器CPU的占用率都明顯下來了,我們對這次的升級非常的滿意。
短網址程序版本的升級,對性能有了極大的提升。我們信心滿滿的期待著短網址在下一次的CC和DDOS攻擊中的表現。時間沒有讓我們等太久。就在php版本升級后的第三天,DDOS和CC攻擊又來了。另我們非常失望的是,短網址服務器還是掛了,雖然從之前的秒掛到現在的撐了十幾分鐘后再掛掉,但這對于我們來說根本沒有什么區別。后來,我們又針對這次的攻擊進行了分析和總結,以及請教了很多安全防御方面的專家。最終得出結論:在軟件層面是無法防御CC或者DDOS攻擊,只要攻擊能打到php層面,所有的防御都是失敗的。我們苦思冥想,終于想到了一個一勞永逸的解決方案:html靜態化+接入CDN服務。首先,做了靜態化后,所有的請求都再也不需要php去運行,其次,接入了CDN后,靜態文件都會緩存到散布在全國各地的CDN節點上,所有的攻擊都會被轉嫁到CDN服務商,由于緩存測量的作用,對我們短網址服務器不會有任何直接http請求?;诖?,我們花了兩天時間將FT12短網址的所有用戶可見頁面進行重構,把原先的“.php”格式文件全部轉換成了“.html”格式靜態頁面。
在完成短網址全站靜態化后的第二天,更大規模的攻擊又來了。查詢了阿里云CDN的訪問日志,這一次的攻擊盡然有一千多個惡意ip,發起了超過10G以上規模的DDOS攻擊。經過CDN供應商的清洗后,帶寬流量占用下降到了20M/S,然后這20M/S的http請求,最終到達我的短網址服務器的就只有200K/S了。如果不是特意留意阿里云CDN后臺數據,我們很可能連攻擊來過也不知道,這次的攻擊,短網址服務器這邊cpu、內存以及帶寬基本上紋絲不動,對正常用戶的影響也基本上等于零,一次非常完美的防御!