Crowdsec:一款面向Linux的現(xiàn)代化協(xié)作式大型多人防火墻
譯文【51CTO.com快譯】介紹
CrowdSec是一款大型多人防火墻,旨在通過服務(wù)器端代理保護(hù)互聯(lián)網(wǎng)上敞開的Linux服務(wù)器、服務(wù)、容器或虛擬機(jī)。它受Fail2Ban的啟發(fā),旨在成為這款入侵防御工具的現(xiàn)代化協(xié)作版本。
CrowdSec免費(fèi)開源(采用MIT許可證),源代碼發(fā)布在GitHub上。它使用行為分析系統(tǒng),根據(jù)日志來確定是否有人企圖攻擊您。如果您的代理檢測到這類攻擊,會處理違規(guī)的IP,并發(fā)送加以審查。如果該信號通過審查過程,該IP被重新分發(fā)給共享相似技術(shù)配置文件的所有用戶,讓他們免受該IP的侵襲。
目的是利用群體的力量來創(chuàng)建實(shí)時IP信譽(yù)數(shù)據(jù)庫。至于攻擊您計算機(jī)的IP,您可以選擇以自己覺得合適的任何方式對付威脅。最終,CrowdSec利用社區(qū)的力量創(chuàng)建了一個極其準(zhǔn)確的IP信譽(yù)系統(tǒng),惠及其所有用戶受益。
在創(chuàng)始人看來很顯然,開源將是CrowdSec的主要支柱之一。該項(xiàng)目的創(chuàng)始人從事開源項(xiàng)目已有幾十年,他們不僅追隨開源,確切地說堅定地信仰開源。他們認(rèn)為,社區(qū)是對付我們面臨的大規(guī)模黑客攻擊的關(guān)鍵,而開源是創(chuàng)建社區(qū),并讓人們?yōu)轫?xiàng)目貢獻(xiàn)知識,最終使該項(xiàng)目變得更出色更安全的有力手段。
該解決方案最近迎來了1.x版本,帶來了架構(gòu)上的重大變化:引入了本地REST API。
CrowdSec的工作原理
CrowdSec用Golang編寫,目的在于在復(fù)雜的現(xiàn)代架構(gòu)(比如云、lambda和容器)上運(yùn)行。為此,它是“分離的”,這意味著您可以“在這里檢測”(比如在數(shù)據(jù)庫日志中)和“在那里緩解”(比如在防火墻或rproxy中)。
該工具在內(nèi)部使用漏桶算法(leaky bucket),以便嚴(yán)格控制事件。場景用YAML編寫,盡可能簡單易讀,又不犧牲精細(xì)度。推理引擎讓您可以從鏈桶(chain bucket)或元桶(meta-bucket)獲取洞察力,這意味著如果多個桶(比如Web掃描、端口掃描和登錄嘗試失敗)溢出到一個“元桶”中,您可以觸發(fā)“針對性攻擊”緩解措施。
激進(jìn)的IP使用互聯(lián)網(wǎng)保鏢(bouncer)來處理。CrowdSec Hub提供了現(xiàn)成的數(shù)據(jù)連接器、互聯(lián)網(wǎng)保鏢(比如ginx、PHP、Cloudflare或Netfilter)和場景,以阻止不同類別的攻擊。這些保鏢可通過多種方式來緩解威脅。
Crowdsec可在Captcha之類的保鏢上工作,限制可適用的權(quán)限、多因子身份驗(yàn)證、遏制查詢,或者需要時激活Cloudflare攻擊模式。通過輕量級的可視化界面和強(qiáng)大的Prometheus可觀察性,您可以了解本地發(fā)生的情況(以及發(fā)生的地方)。
眾包安全
盡管Crowdsec軟件目前看起來像是改進(jìn)的Fail2Ban,但該項(xiàng)目的目的是利用群體的力量,創(chuàng)建高度準(zhǔn)確的IP信譽(yù)數(shù)據(jù)庫。CrowdSec攔截特定IP時,觸發(fā)的場景和時間戳被發(fā)送到我們的API,接受檢查,并添加到全球不良IP數(shù)據(jù)庫中。
雖然我們已經(jīng)在向社區(qū)重新分發(fā)阻止名單,但計劃一旦處理了,其他先決代碼行就真正改善這一方面。網(wǎng)絡(luò)已經(jīng)發(fā)現(xiàn)了超過130000個IP(每天在更新),能夠?qū)⑵渲械募s10%(13000個)重新分發(fā)給我們的社區(qū)成員。
我們的愿景是,一旦CrowdSec社區(qū)足夠大,我們就會實(shí)時生成最準(zhǔn)確的IP信譽(yù)數(shù)據(jù)庫。這種全球信譽(yù)引擎加上本地行為評估和緩解,有望讓許多企業(yè)可以以很低的成本獲得更嚴(yán)格的安全。
案例探究
以下是表明CrowdSec本領(lǐng)的兩個例子:
案例1
一家保護(hù)客戶免受DDoS攻擊的公司創(chuàng)建了依賴Fail2Ban的DDoS緩解策略。當(dāng)其中一個客戶受到涉及7000臺機(jī)器的僵尸網(wǎng)絡(luò)的攻擊時,CrowdSec能夠攝取所有日志,并成功阻止了僵尸網(wǎng)絡(luò)中超過95%的機(jī)器,在不到五分鐘的時間內(nèi)有效地緩解了攻擊。不妨比較一下,要應(yīng)對這種攻擊,F(xiàn)ail2Ban將需要每分鐘處理幾千條日志,這頗具挑戰(zhàn)性,將花費(fèi)近50分鐘。
案例2
一家電子商務(wù)公司正遭到大規(guī)模信用卡填塞攻擊。攻擊者正向支付網(wǎng)關(guān)發(fā)送垃圾郵件,并使用唯一的IP地址測試成千上萬不同的信用卡資料。這家公司安裝CrowdSec后,即可掃描所有日志,在短短幾分鐘內(nèi)阻止入侵,而不用修改所有應(yīng)用程序以試圖檢測攻擊。
原文標(biāo)題:Introducing Crowdsec: A Modernized, Collaborative Massively Multiplayer Firewall for Linux,作者:Brittany Day
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】