如何在 1 分鐘內阻止 7000 台機器的殭屍網路
![](https://linuxstory.org/wp-content/uploads/2024/06/220444x6kaedeu6ko0e7uo-800x400.jpg)
2020 年,我們的生活和工作方式在短短几天內被徹底顛覆。隨著 COVID-19 開始在全球範圍內蔓延,我們將工作帶回家,與同事、朋友和家人保持在線聯繫成為關鍵的必需品。這為黑客造成破壞打開了大門。例如,根據 Neustar 的數據,今年上半年全球的分散式拒絕服務(DDOS) 攻擊增長了 151%。
CrowdSec 是一個開源的安全引擎,它可以分析訪問者的行為,並提供適應各種攻擊的響應。它能解析來自各種來源的日誌,並應用啟發式方案來識別攻擊性行為,並防範大多數攻擊類別。並且,它與其它安裝的 CrowdSec 系統共享該情報。每次 IP 地址被阻止時,它都會通知整個用戶社區。這就創建了一個實時、協作的 IP 信譽資料庫,利用人群的力量使互聯網更加安全。
CrowdSec 如何工作:案例研究
Sorf Networks 是一家總部位於土耳其的技術公司,為客戶提供高配置的託管伺服器和 DDoS 防護解決方案,它提供了一個 CrowdSec 工作的例子。Sorf 的一個客戶每天都會遇到來自 1 萬多台機器殭屍網路的 DDoS 攻擊,並努力尋找一種能夠滿足技術要求的解決方案來及時處理這些攻擊。
雖然客戶採取了一般的預防措施來緩解這些攻擊,比如引入 JavaScript(JS) 挑戰 、限速等,但這些措施在整個攻擊面並不可行。一些 URL 需要被非常基本的軟體使用,而這些軟體不支持 JS 挑戰。黑客就是黑客,這正是他們每天的目標:鏈條上最薄弱的環節。
Sorf Networks 首先使用 Fail2ban(這啟發了 CrowdSec)為其客戶建立了一個 DDoS 緩解策略。它在一定程度上幫助了客戶,但它太慢了。它需要 50 分鐘來處理日誌和處理 7000 到 10000 台機器的 DDoS 攻擊。這使得它在這種情況下沒有效果。另外,因為它沒有禁止 IP,日誌會持續堆積,它需要每秒處理幾千條日誌,這是不可能的。
在使用租用的殭屍網路進行的 DDoS 測試中,一次攻擊可以高達每秒 6700 個左右的請求,這些請求來自 8600 個獨立 IP。這是對一台伺服器流量的捕捉:
![Server traffic](/data/attachment/album/202012/07/220638f49an828ue2pp2q9.png "Server traffic")
雖然 CrowdSec 技術可以應對巨大的攻擊,但其默認設置每秒只能處理約 1000 個端點。Sorf 需要一個量身定做的配置來處理單台機器上這麼多的流量。
Sorf 的團隊對 CrowdSec 的配置進行了修改,以顯著提高其吞吐量來處理日誌。首先,它去掉了高消耗且非關鍵的 富集 解析器,例如 GeoIP 富集。它還將允許的 goroutine 的默認數量從一個增加到五個。之後,團隊又用 8000 到 9000 台主機做了一次實測,平均每秒 6000 到 7000 個請求。這個方案是有代價的,因為 CrowdSec 在運行過程中吃掉了 600% 的 CPU,但其內存消耗卻保持在 270MB 左右。
然而,結果卻顯示出明顯的成功:
- 在一分鐘內,CrowdSec 能夠處理所有的日誌
- 95% 的殭屍網路被禁止,攻擊得到有效緩解
- 15 個域現在受到保護,不受 DDoS 攻擊
根據 Sorf Networks 的總監 Cagdas Aydogdu 的說法,CrowdSec 的平台使團隊「能夠在令人難以置信的短時間內提供一個世界級的高效防禦系統」。
本文改編自如何用 CrowdSec 在 1 分鐘內阻止 7000 台機器的殭屍網路,原載於 CrowdSec 網站。
via: https://opensource.com/article/20/12/open-source-vs-ddos-attacks
作者:Philippe Humeau 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive