當前位置:首頁 > 科技 > 正文

DDoS告訴我們,這世上有很多悲哀,僅僅是因為沒錢!

0x00/多年運維,不敵攻擊

從05年開始做運維到現在也有13年了,幹過論壇,電商,遊戲,金融,直播這些業務的運維,活很雜,什麼,,,,Xen,KVM,,Ceph,iSCSI,DNS, 負載均衡等等。

那麼多年做運維以來,最讓人覺得棘手和絕望的便是DDoS攻擊了,每天晚上睡覺後,都怕接到電話說服務器被DDoS了。

至于為什麼那麼恐怖,我想做過運維的人或者被攻擊過的企業都應該非常明白,那是一種怎樣的體驗。

0x01/ 噩夢初醒,惶惶不可終日

第一次和DDoS攻擊打交道,那是06年的冬天,第一份工作是為一家網絡廣告聯盟公司做服務器運維。

基本上每天的任務就是看下服務器的硬盤I/O負載,數據庫負載,還有是否有錯誤日志,很平常。

直到06年冬季的某天,公司托管在浙江紹興電信機房的那台Dell 1850服務器突然無法訪問,WEB和SSH都無法訪問。

老闆那個急啊,客服那個急啊,真的是可以說熱鍋上的螞蟻,坐立不安。

要知道對于一個廣告聯盟來說,服務器癱瘓了,站長的收入突然沒了,廣告主的流量突然沒了,這意味着站長和廣告主會流失。

于是乎,聯系了紹興電信的網維,得知服務器當時遭受了大流量的DDoS攻擊,攻擊規模在2Gbps左右,電信的網維為了保護機櫃内其他客戶服務器正常運行,封了我們服務器的外網IP地址。

為了不影響業務,最後找紹興電信付費做的DDoS防禦服務,雖然最後服務恢複了,但是服務器的網絡延遲也增加了,因為DDoS攻擊一直在持續。

從那次事件後,公司所有人談DDoS色變。

0x02/ 揮金如土,隻為續命

15年,視頻直播爆發式地發展,全民網紅,進入這家公司就職半年後,公司融資2000多萬,對于視頻直播行業可能不多,但是對于整個公司來說已經是走向成功的第一步了。

随着公司快速的發展,直播平台的流水和日活每天都在增長,漂亮的小姐姐也越來越多。

正當大家士氣十足甚至都在幻想上市的時候,沒過多久,公司就遭到了重挫。

16年9月15号,那天正是中秋節,晚上應該是全家一起吃月餅賞月的時候,可是一起蓄謀已久的DDoS攻擊,讓大家在公司裡度過了極為煎熬的中秋漫漫長夜。

當晚6點,剛吃完晚飯,準備和家人一起去公園賞月,還沒動身,就接到公司電話,要求趕到公司處理突發情況。

趕到公司時,運維同事說平台的登陸系統服務器和主播打賞系統服務器被大規模DDoS攻擊,由于攻擊規模較大,CDN服務商直接将域名做了回源處理,大量的攻擊流量湧入源服務器,IDC機房直接将被攻擊的IP地址做了封堵處理。

詢問了IDC接入服務商本次的DDoS攻擊規模,得知入向的DDoS攻擊流量高達+

IDC接入服務商表示機房總接入帶寬是,這次攻擊直接将機房出口打滿,為了不影響其他用戶,隻能将被攻擊的IP地址做封堵處理。

由于本次DDoS攻擊規模超過了IDC服務商的接入帶寬,IDC服務商沒有能力防禦,于是求助于雲服務商。

最後雲服務商給出的高防IP報價非常之高,按天計算,300G防禦的每天費用為2.5萬元,按月費用為37萬元,如果攻擊超出300G,費用還需要支付額外防禦費用。

但是公司業務處于癱瘓狀态,為了盡快恢複業務,公司開通了按天的DDoS防禦服務,在預存10萬的防禦費用後,當晚8點,DDoS防禦服務開通。

防禦開通後,經過雲服務商的DDoS清洗服務,攻擊流量被攔截,平台暫時恢複了正常,經過一晚上的觀察和溝通,最終防禦了這次DDoS攻擊。

此後我們遭受了更大規模的DDoS攻擊,每天黑客都會發起數小時的攻擊,這使得我們按天支付DDoS防禦費用非常不劃算,最終公司購買了37萬每月的DDoS保底防禦服務。

這次案例告訴我們,有錢真的是可以為所欲為。

0x03/ 這世上有很多悲哀,僅僅是因為沒錢

曾經在貓眼社區上看到一篇帖子,讓我感觸很深,那帖子标題叫做《我的老婆沒錢治病,死了》

當人處于真正的底層時,連選擇繼續生存的資格都沒有,談什麼機會去創造奇迹。

創業公司不也是如此嗎?大量的創業公司在遭遇DDoS攻擊的時候如同生病,來的那麼突然,那麼措手不及,但有多少創業公司能那麼輕松的負擔每月高達數十萬的DDoS防禦費用呢?

有多少人懷着創業夢想,創造奇迹,想改變行業,但是遇到DDoS攻擊,連選擇繼續生存的資格都沒有,這不是很可悲的事情嗎?

因為DDoS防禦成本太高,加上對DDoS攻擊的不了解,往往會出現病急亂投醫。

這是非常可怕的,猶如患了重病,而三甲醫院費用極高,而選擇那些号稱能根治但并不靠譜的私人和莆田系醫院,最後往往因為錯誤的治療和時間上的拖延導緻病重,最後人财兩空。

0x04/ 細說DDoS攻擊

下面進入正題,說一下我遇到的各種DDoS攻擊類型和一些緩解手段,還有防止李鬼,騙子,垃圾高防服務商的一些經驗,以及教大家如何分辨高防服務的真假和水分。

SYN Flood攻擊和防禦方式

老生常談的一種DDoS攻擊類型,從早期的利用TCP三次握手原理,僞造的IP源,以小博大,難以追蹤,堪稱經典的攻擊類型。

大量的僞造源的SYN攻擊包進入服務器後,系統會産生大量的狀态,最後耗盡系統的SYN ,導緻服務器無法處理後續的TCP請求,導緻服務器癱瘓。

防火牆 軟件 硬件_硬件防火牆_防火牆是硬件還是軟件

就和上面的圖片一樣,服務器資源被耗盡,用戶無法和服務器建立連接,攻擊者目的達到。

那如何防禦SYN Flood攻擊呢(其實是緩解,提高一下系統的處理能力,但是隻限于小攻擊)?

方式1:軟件防火牆和系統參數優化 (适用于SYN Flood攻擊流量小于服務器接入帶寬,并且服務器性能足夠)

【系統: 可以修改注冊表來提高SYN數據包的處理能力】

進入注冊表的[ters]項目

1. 啟用syn攻擊防護模式 (可以顯著提高的SYN處理能力)

=2 [dword]

2. 加大TCP半開連接數的隊列數量

=10000 [dword]

3. 啟用動态隊列長度

=1 [dword]

通過修改這三處注冊表信息可以防止一些小規模并且較為簡單的SYN Flood攻擊

【Linux系統: 修改内核參數提高SYN數據包的處理能力】

1. 開啟SYN ,當出現SYN等待隊列溢出時,啟用來處理

net.ipv4. = 1

2. 增加SYN 隊列長度

net.ipv4. = 65535

3. 限制SYN頻率,每秒鐘隻允許每個源IP發起2個SYN數據包,超出則丢棄

-N syn-flood

-A INPUT -p tcp --syn -j syn-flood

-A syn-flood -p tcp -m limit --limit 2/s --limit-burst 50 -j

-A syn-flood -j DROP

方式2: 購買專業的DDoS雲清洗和雲防禦服務 (适用于SYN Flood攻擊流量較大,強度較高的場景)

購買專業的DDoS雲清洗服務之前可以咨詢一下服務商采用的SYN Flood防禦算法和模式,這個非常重要,SYN Flood防禦算法和模式對于不同業務産生的影響是完全不同的。

錯誤的SYN Flood防禦算法和模式雖然可以防禦SYN Flood攻擊,但是也會導緻業務無法正常訪問。

常見的SYN Flood防禦算法有:

• SYN

• SYN Proxy

• SYN Reset

• SYN

如果您咨詢的高防服務商無法回答或者不專業的話,基本都是代理商和一些騙子。

以上都是我做運維和各種DDoS防護服務商接觸後總結的關于SYN Flood防禦的經驗,上述的算法都有缺點,所以需要根據業務選擇合适的SYN Flood防禦算法。

DDoS防禦服務和其他網絡安全防禦服務不一樣,由于DDoS攻擊大小一切由服務商說了算。用戶無法核實DDoS攻擊的實際大小,導緻了這個行業魚龍混雜,以次充好的占據95%以上。後面會重點教會大家如何辨識真假高防!

(ACK RST PSH FIN) Flood攻擊和防禦方式

ACK Flood / RST Flood / PSH Flood / FIN Flood 這類攻擊本質上不如SYN Flood危害那麼大,但是也足夠輕松的導緻服務器癱瘓。

防火牆 軟件 硬件_硬件防火牆_防火牆是硬件還是軟件

如上圖,這類攻擊雖然不會導緻服務器系統中出現大量的,但是會出現服務器向僞造源IP發送大量的RST報文。

舉個例子:

如果你的服務器接入帶寬有1Gbps,并假設服務器OS的PPS處理能力達到1.4Mpps,并且OS設計非常牛逼,沒有導緻大量的中斷和鎖的開銷為前提。

那麼你遭受的ACK Flood攻擊時,你的服務器也會出現上行帶寬用到左右。

這可非常不劃算,而且正常情況下,服務器OS根本沒辦法處理大量的ACK Flood攻擊。

所以針對這種攻擊,我建議直接上DDoS雲清洗和雲防禦服務,沒必要調整系統,因為沒什麼意義。

UDP Flood攻擊和防禦方式

UDP Flood攻擊目前來說越來越普遍,得益于各種軟件設計缺陷和UDP協議的無連接特性,這讓UDP Flood攻擊非常容易發起,并且可以得到數十倍數千倍的攻擊放大。

我簡單做了一張圖,大家可以看下UDP放大攻擊的原理

硬件防火牆_防火牆是硬件還是軟件_防火牆 軟件 硬件

對于網站業務來說,是用不到UDP協議的,所以防禦這種攻擊隻需要擁有足夠大的接入帶寬(隻要接入帶寬比DDoS攻擊更大),你隻需要一條ACL策略丢棄UDP協議便可以防禦這種攻擊。

但是對于遊戲業務和視頻直播業務來說,那就是噩夢了,因為很大一部分的遊戲和視頻直播業務都是基于UDP協議開發的。

因為UDP協議的傳輸速度和效率比TCP協議更高,延遲也更低,這是UDP的優點,但是也是導緻UDP攻擊極難防禦的關鍵原因。

恰好我之前在的公司是做視頻直播的,在這方面和DDoS防護服務商接觸的蠻多,我可以非常負責的說,目前國内能給基于UDP協議的業務防禦這種UDP攻擊的DDoS防護服務商不超過5家。

為什麼那麼難?

因為UDP數據到了防火牆上的時候,防火牆是不知道這個UDP數據包是好的還是壞的,也沒辦法通過一些類似TCP攻擊的防禦算法來做源的可信認證。

不過也不是完全沒辦法解決,之前的視頻直播公司是采用了雲服務商提供的端雲聯動方式做的UDP Flood攻擊防禦,效果非常理想。

但是能做這種端雲聯動的防禦算法的服務商沒幾家,因為大部分DDoS雲清洗和雲防禦服務商都是買的硬件防火牆,沒有實質性的研發能力和技術實力來驅動這種端雲聯動的防禦算法。而隻有真正擁有完全自研DDoS防禦算法能力的服務商才可以做到這點。

所以遇到UDP攻擊,恰好你是用UDP協議承載業務的,别想多,準備好錢(每個月至少10萬起步了),然後找一家非常專業的DDoS雲清洗服務商給你做保護吧。

DNS Query攻擊和防禦方式

DNS Query攻擊是我從業10多年來,最具備威脅的攻擊方式,普遍存在于棋牌遊戲,私服,菠菜,AV等暴利,競争不是你死就是我活的行業。

雖然我沒遇到過,但是沒吃過豬肉,也見過豬跑。

攻擊的原理示意圖如下:

防火牆是硬件還是軟件_硬件防火牆_防火牆 軟件 硬件

這種攻擊最大的威脅便是,通過随機構造并查詢被攻擊域名的二級域名,繞過遞歸DNS服務器的解析記錄緩存,各地區地市的遞歸DNS服務器向權威DNS服務器發起大量的DNS查詢請求,如果被攻擊域名所在的權威DNS服務器性能和帶寬無法支撐查詢所需要的帶寬,那麼就會直接癱瘓,并影響這個權威DNS服務器上的其他域名。

所以防禦這種DNS Query攻擊,不但難度極大,而且成本極高,并且還不一定是100%防禦。

尤其是遞歸DNS服務器壓力過大的時候,運營商可以直接封禁被攻擊的域名,就算權威DNS服務器能夠支撐,此時你的域名還是無法解析,等于說服務癱瘓。

怎麼防禦?

這種隻能找專業的DNS服務商和運營商配合來做,否則都是無效的,費用也應該是天價了。

你可能想看:

有話要說...

取消
掃碼支持 支付碼