如何在 1 分鐘內阻止 7000 臺機器的殭屍網絡

對 CrowdSec 的配置更改,在不到一分鐘的時間內阻止了一個 7000 臺機器的殭屍網絡的攻擊。

2020 年,我們的生活和工作方式在短短几天內被徹底顛覆。隨着 COVID-19 開始在全球範圍內蔓延,我們將工作帶回家,與同事、朋友和家人保持在線聯繫成爲關鍵的必需品。這爲黑客造成破壞打開了大門。例如,根據 Neustar 的數據,今年上半年全球的分佈式拒絕服務(DDOS) 攻擊增長了 151%

CrowdSec 是一個開源的安全引擎,它可以分析訪問者的行爲,並提供適應各種攻擊的響應。它能解析來自各種來源的日誌,並應用啓發式方案來識別攻擊性行爲,並防範大多數攻擊類別。並且,它與其它安裝的 CrowdSec 系統共享該情報。每次 IP 地址被阻止時,它都會通知整個用戶社區。這就創建了一個實時、協作的 IP 信譽數據庫,利用人羣的力量使互聯網更加安全。

CrowdSec 如何工作:案例研究

Sorf Networks 是一家總部位於土耳其的技術公司,爲客戶提供高配置的託管服務器和 DDoS 防護解決方案,它提供了一個 CrowdSec 工作的例子。Sorf 的一個客戶每天都會遇到來自 1 萬多臺機器殭屍網絡的 DDoS 攻擊,並努力尋找一種能夠滿足技術要求的解決方案來及時處理這些攻擊。

雖然客戶採取了一般的預防措施來緩解這些攻擊,比如引入 JavaScript(JS)挑戰challenges、限速等,但這些措施在整個攻擊面並不可行。一些 URL 需要被非常基本的軟件使用,而這些軟件不支持 JS 挑戰。黑客就是黑客,這正是他們每天的目標:鏈條上最薄弱的環節。

Sorf Networks 首先使用 Fail2ban(這啓發了 CrowdSec)爲其客戶建立了一個 DDoS 緩解策略。它在一定程度上幫助了客戶,但它太慢了。它需要 50 分鐘來處理日誌和處理 7000 到 10000 臺機器的 DDoS 攻擊。這使得它在這種情況下沒有效果。另外,因爲它沒有禁止 IP,日誌會持續堆積,它需要每秒處理幾千條日誌,這是不可能的。

在使用租用的殭屍網絡進行的 DDoS 測試中,一次攻擊可以高達每秒 6700 個左右的請求,這些請求來自 8600 個獨立 IP。這是對一臺服務器流量的捕捉:

Server traffic

雖然 CrowdSec 技術可以應對巨大的攻擊,但其默認設置每秒只能處理約 1000 個端點。Sorf 需要一個量身定做的配置來處理單臺機器上這麼多的流量。

Sorf 的團隊對 CrowdSec 的配置進行了修改,以顯著提高其吞吐量來處理日誌。首先,它去掉了高消耗且非關鍵的富集enrichment解析器,例如 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章