這個星期二的早上接到客戶來電說網站連不上,再加上我的手機不斷收到來自INSTAWATCHER的警示簡訊,所以我立刻上線處理…
從INSTAWATCHER的記錄可以得知佔用CPU的程序是mysqld,再經過仔細詳查,發現又是被DDoS攻擊了,才會造成CPU用量激增,由於AWS的基本防護(Shield Standard)就可以有效緩解掉L3、L4的攻擊,所以網站會受到的DDoS攻擊幾乎都是L7為主,且大多數都是以耗盡主機資源為主…
很多DDoS攻擊的來源IP都來自中國,因為他們那邊的連網設備最多(包括手機、物聯網設備),而且最容易培養傀儡大軍(講白點就是被駭客植入後門、隨時可被控制),再加上黑帽產業鏈完整,所以很多台灣企業常會被勒索、攻擊…
這次客戶被攻擊的時間蠻長的,一整天斷斷續續的進行間歇性DDoS攻擊,但從Log觀察可以發現:
- *現在的DDoS攻擊不再像以往是短時間內建立大量連線數量,而是利用查詢攻擊(也就是利用網站最耗費CPU資源的程式頁面,丟入隨意參數讓資料庫變得負載超重)…
- *這種攻擊手法用CDN服務(例CloudFlare、CloudFront)無法擋掉,它會認為是正常的連線需求,而且每次要的參數不同,所以CDN等同沒用…
- *這種攻擊手法也無法用fail2ban的方式來自動偵察防禦,但用WAF防禦又太過麻煩(成本也高),所以自己寫Shell Script來擋是最快的…
接著再來繼續觀察會被攻擊多久…
(防禦期間我有試連客戶官網,一樣可以很順暢運作)
隔天我檢查前一天防禦DDoS攻擊的狀況,不到一天的時間就有20550筆來自不同IP的攻擊,不愧是中國的傀儡大軍,IP有夠多~
台灣會有越來越多企業受到DDoS攻擊的危害,因為電子商務網站越來越普及、而駭客攻擊工具取得越來越容易,加上大多數企業不重視資安防護和專業人士,往往都得等到被勒索時才會有所感覺。
為了求解決,很多企業往往會選擇付大筆贖金給駭客或是付大筆費用給清洗流量或防禦DDoS攻擊的服務(這種模式很容易造成正常的用戶也會無法連線)。
這樣的付費行為只會讓駭客食髓知味、變本加厲,要小心哦!
經過兩天多的觀察,現今客戶被DDoS攻擊的網站已恢復平穩,查看Log也多半剩下美國的搜尋引擎會來檢索網站(又稱做機器人、網路爬蟲…),伺服器的CPU負載已恢復成被攻擊前的平穩狀態,讚啦!
DDoS無法根治,只能緩解,主要會癱瘓下列三種資源:
- *頻寬被塞爆
- *主機資源被耗盡(CPU、記憶體 ),造成當機、服務停擺。
- *主機連線數量被用盡,造成無法建立連線。
使用AWS雲端服務時就能享有AWS免費提供的基本防護:AWS Shield Standard
AWS Shield Standard能夠有效緩解多種DDoS攻擊,若是有需要更多進階的DDoS防護服務,就可以使用AWS提供的WAF、CloudFront、ELB、Route53和Shield Advanced等相關服務。
在AWS的資安白皮書裡有提到許多緩解DDoS攻擊的做法(介紹上述幾種服務適合的DDoS緩解做法),最進階的就是付費使用AWS提供的AWS Shield Advanced服務,就能享有AWS DRT的尊榮服務!
- *DRT是DDoS Response Team的縮寫
- *DRT是協助用戶對抗DDoS攻擊的AWS服務團隊
- *使用AWS Shield Advanced必須租用一年
- *AWS Shield Advanced每月費用是3000美金
- *額外產生的流量和各種服務費用一樣要用戶付費
受到DDoS攻擊時不管升級到多大等級、增加多少台主機的效果都很有限,最主要的做法是封鎖攻擊的來源IP或是用WAF(Web Application Firewall)過濾URL連線,但啟用WAF需要自己設定煩瑣的規則、也要調整架構把WAF擺在網站的前端,所以我才會決定自己寫Shell Script來處理…
DDoS攻擊已成為企業會經常面臨的問題,用AWS等公有雲就可以不必擔心L3和L4的DDoS攻擊,但是L7的DDoS攻擊也有很多不同類型,所以仍然需要自行防護。