CrowdSec,一個開源的、現代化的、協作式的fail2ban。
**
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大洲。
團隊正在積極尋找更多的使用者、貢獻者和大使,以使專案更上一層樓。我們很樂意並期待能收到你的反饋並參與進一步的討論。歡迎於GitHub、Discourse或Gitter上聯絡我們。
相關文章
- 一個現代化的webpack工程初建Web
- Dino:一個有著現代外觀的開源 XMPP 客戶端客戶端
- wpfui:一個開源免費具有現代化設計趨勢的WPF控制元件庫UI控制元件
- 豐富的詩詞資源!一個現代化詩詞學習網站!學習網站
- 將供應商協作提升到一個新的水平 ----實現戰略協作
- 用Rust 實現的現代化實時開源資料倉儲Rust
- 開始使用 CryptPad 吧,一個開源的協作文件編輯器
- 開源!開源一個flutter實現的古詩拼圖遊戲Flutter遊戲
- 業內首個支援漸進式元件化的開源框架元件化框架
- 超酷的開源任務協作系統,我粉了
- Go的又一個分散式資料庫開源了Go分散式資料庫
- 一個開源的分散式線上教育系統分散式
- 【Dotnet 工具箱】WPF UI - 現代化設計的開源 WPF 框架UI框架
- 相信開源的力量:Nebula Graph 採用 Apache 2.0 作為其開源協議Apache協議
- 實現資料管理現代化的 7 個技巧
- 發現一個開源專案優化點,點進來就是你的了優化
- 開發現代化的.NetCore控制檯程式:(2)建立一個C#專案模板NetCoreC#
- Zed:極快的開源協作程式碼編輯器IDEZedIDE
- 一個開源的、獨立的、可自託管的評論系統,專為現代Web平臺設計Web
- 一個檔案的開源專案,開啟你的開源之旅
- c++製作的植物大戰殭屍,開源,一代二代結合遊戲C++遊戲
- 一個chatgpt on wechat的開源方案ChatGPT
- 協作3.0時代:華為CloudLink新一代協作智真全球首發Cloud
- 開源一個製作小工具的小工具,順便求個 star
- 開源協議的分類協議
- 三維數字沙盤的現代化製作方案解析
- Android開源庫的製作Android
- [開源] Golang 實現的分散式 WebSocket 微服務Golang分散式Web微服務
- 商業軟體開發的下一個重大步驟:協作建模(CoMo)的本質 - WPS
- 實現企業網路現代化的5個步驟
- 開發一個現代化的.NetCore控制檯程式,包含依賴注入/配置/日誌等要素NetCore依賴注入
- Meta釋出了一個開源的NotebookLM
- 實戰丨如何製作一個完整的外賣小程式(已開源)
- 實現一個redis的分散式鎖Redis分散式
- 通過激勵協作實現語義 Web 的弱中心化Web中心化
- 2020年如何寫一個現代的JavaScript庫JavaScript
- 8102年如何寫一個現代的JavaScript庫JavaScript
- 一個現代化輕量級的跨平臺Redis桌面客戶端Redis客戶端