CrowdSec,一個開源的、現代化的、協作式的fail2ban。

CrowdSec發表於2020-12-19

**

CrowdSec,一個開源的、現代化的、協作式的fail2ban。

**

簡介

CrowdSec是一個安全自動化引擎,旨在通過伺服器端代理保護暴露在網際網路上的伺服器、服務、容器或虛擬機器。受到Fail2Ban的啟發,CrowdSec旨在成為該入侵預防工具的現代化協作版本。

CrowdSec使用行為分析系統,根據你的日誌檔案/紀錄檔來分析是否有人試圖入侵你的裝置。如果你的代理檢測到這種攻擊行為,違規的IP將會被處理並送往策動系統。如果此IP通過了策管程式,那麼此IP將會被重新分享給所有擁有類似技術特徵的使用者,讓他們對此惡意IP “免疫”。

CrowdSec的目標是利用群眾的力量以達致網際網路鄰里守望。你可以選擇任何你認為合適的方式來減低侵略你的裝置的IP對你的威脅。CrowdSec最的目標是終利用人群的力量建立了一個極其精確的IP信譽系統,使所有使用者受益。

CrowdSec是一個免費和開源的安全自動化引擎(在MIT許可證下),可於GitHub上下載原始碼。它目前適用於Linux,在不久將來將可應用於macOS和Windows。

以下是該解決方案的主要特點

允許使用者檢測攻擊並在任何級別上做出響應(在防火牆、反向代理、CDN或直接在應用層進行阻斷)。
易於安裝和維護安裝程式附帶嚮導,並無任何技術要求。
設計方便與其他解決方案和元件整合(即使用CrowdSec讀取您的mod_security日誌,並自動阻止代理伺服器中的攻擊者,同時通知SIEM)。
共享資料:系統檢測到的攻擊/攻擊者的後設資料將會被髮送到一箇中央API,被確認的惡意IP會與所有使用者共享。
輕應用:Golang程式設計,可獨立執行,無需過多記憶體或CPU。
可使用冷日誌來預測影響:可於舊日誌上執行,預測應用於不同場景下的結果和影響,或檢視過往的惡意攻擊。
視覺化:自帶開箱即用的儀表盤。
值得注意的是,由於CrowdSec的開發團隊於法國,這對隱私來說是個加分項。舉例來說,假若你選擇 "團隊合作"並分享收集資料,只有以下3個引數會被髮送:時間戳、違規者的IP地址和他們所違反的政策。

下載與安裝

過程簡單,只需2分鐘。

安裝CrowdSec.控制檯中的嚮導將協助您選擇並建議監控登入/服務內容,您亦可通過常規配置進行後續配置。

下載

https://github.com/crowdsecurity/crowdsec.git

安裝

sudo ./wizard.sh -i

**

軟體架構

**

該系統包含三個主要元件:
CrowdSec服務,此為主要服務,用於監視日誌,跟蹤攻擊等。
命令列工具,用於與服務互動的cli介面。
Bouncers,可讓你以認為合適的方式來減低侵略你的裝置的IP,或與其他軟體進行互動。
如需瞭解CrowdSec完整說明,請於此參閱我們完整的文件(僅有英文字)

CrowdSec服務包括全面監控,而cscli工具則用於如何作出軟體配置、封鎖或獲取指標等,而Bouncers則是系統如何與其他工具互動,比如在Iptables、SSH、Cloudflare等封鎖某IP。
軟體使用及配置

到目前為止,我們已經開發了五個Bouncers。安裝Bouncer以進行實際保護是極為重要的。
.

cs-cloudflare-blocker
cs-custom-blocker (用以啟動你自定的指令碼,例如,可以是一個bash指令碼,新增被防火牆封鎖的IPSET中的IP,並向你傳送通知)
cs-netfilter-blocker
cs-nginx-blocker
cs-wordpress-blocker

集子為一套針對不同情況的解析器和方案結集。例如,Nginx集子包括nginx-logs解析器和基本的http指令碼,用於識別典型的惡意機器人(如侵略性爬蟲、埠掃描攻擊、使用者代理黑名單和路徑遍歷漏洞攻擊)。以下為完整列表。
apache2
base-http-scenarios
iptables
linux
modsecurity
mysql
naxsi
nginx
postfix
sshd

除了集子,你亦可通過cscli控制檯程式與CrowdSec互動。它支援大量的命令和引數,用於連線/刪除配置,新增新的鎖定規則等。

cscli metrics
該指令提供了有關解析器的基本指標、被處理的日誌量、每個集子檢測到及阻止的威脅數量(參見上面的集子列表)。

cscli ban list
這指令顯示被禁的IP,從中亦看到事件數量,IP被禁止的次數,所在國家,以及他們所屬的IP。
除cscli外,你亦可以通過編輯YAML格式的文字檔案,以傳統的方式修改配置。

vi /etc/crowdsec/config/profiles.yaml
當然,使用自定義場景是無任歡迎的,團隊亦非常鼓勵你於Hub上分享。

整合方式

因為CrowdSec可與其他工具的大量整合,這使CrowdSec相比起實用工具更像一個平臺。CrowdSec系統不僅僅用於檢測攻擊,它更可啟用各種操作,例如:。
遮蔽Cloudflare中的使用者
執行你的任意指令碼
在netfilter/iptables中執行程式碼塊
在Nginx中拒絕IP
在WordPress中阻擋攻擊
CrowdSec社群正積極開發更多集子、Blockers、場景和資料來源,在不久將來將會有更多的用例。
營利策略
CrowdSec社群成員只需分享自己的目擊記錄即可免費使用該軟體及其IP信譽系統。對於不願意(或不能)分享自己的日誌資料的使用者,CrowdSec將以付費訪問形式提供對雲API及其IP信譽資料庫。
CrowdSec提供兩種服務版本,分別為高階版和企業版,包括支援服務、特殊服務工具(如將系統從一箇中心位置部署到多個地點)、使用資料探勘和機器訓練(檢測全球資料的趨勢)、高階的冷記錄分析(取證、調查)等。由於此開源工具以免費的MIT許可證下發布,換言之,公司可根據自己的需求進行修改,無需擔心其商業計劃將妨礙社群使用該解決方案。

哪裡可以找到CrowdSec

目前為止,CrowsSec社群成員來自60個以上國家,橫跨6大洲

團隊正在積極尋找更多的使用者、貢獻者和大使,以使專案更上一層樓。我們很樂意並期待能收到你的反饋並參與進一步的討論。歡迎於GitHubDiscourseGitter上聯絡我們。

相關文章