對 CrowdSec 的配置更改,在不到一分鐘的時間內阻止了一個 7000 臺機器的僵尸網絡的攻擊。
• 來源:linux.cn • 作者:Philippe Humeau • 譯者:geekpi •
(本文字數:1685,閱讀時長大約:2 分鐘)
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: opensource.com
作者: Philippe Humeau 選題: lujun9972 譯者: geekpi 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出