ねえ。CrowdSecプロジェクトチームは、CrowdSec1.0.0のリリースを発表できることを嬉しく思います。このリリースは非常に重要です。いくつかの新機能を追加することに加えて、プロジェクト全体でアーキテクチャが大幅に変更され、より速く、より高く、より強力になっているからです。
まず、このパッチの主な変更点であるローカルRESTAPIの導入を紹介できることをうれしく思います。彼のおかげで、プロジェクト全体が、ローカルレベルでのコンポーネントの相互作用を簡素化および促進する方向に、そのアーキテクチャを大幅に変更しました。ただし、全体的な使いやすさは損なわれていません。CrowdSecの使用は依然として簡単で快適です。
CrowdSecについて知らない人、またはフランスのスタートアップが一般的にどのようにしてHabréにたどり着いたのか疑問に思っている人のために、少し逸脱してみましょう。
, , , Fail2Ban: «CrowdSec — Fail2Ban ».
, , IT-. . , — .
, . , , . 1.0.0 :)
それはどうだったのか
バージョン1.0のリリースで発生した主なことは、アーキテクチャへの変更の導入でした。これは、ローカルRESTAPIが作業に導入されたために発生しました。アーキテクチャの観点から、私たちのシステムは3つの主要なコンポーネントで構成されています。
- ログや攻撃などを監視する、常時実行されているCrowdSecサービス。
- コマンドライン、サービスと対話するためのインターフェイス。
- 攻撃アドレスのブロックを確実にする統合モジュール(バウンサー)。
以下は、CrowdSecが以前にどのように機能したかを示す図です。図
からわかるように、システムの少なくとも3つの要素が常にデータベースに直接アクセスしていました。図では、これらの方向は赤い円でマークされています(cwcli-DB、出力プラグイン-DB、バウンサー-DB)。同時に、「バウンサー」とは、レピュテーションデータベースと禁止されたIPアドレスのデータベースとの間で絶えず通信する少なくとも5つのモジュールを意味します。
プロジェクトを最初から開発する場合、これらのクラッチは、システムの実用的なプロトタイプを作成するための簡単、迅速、かつ安価な方法です。ただし、作業の安定性と速度について言えば、データベースへのアクセスポイントが非常に多いため、最善の解決策ではありません。プロジェクトのこのアーキテクチャは、CrowdSecのさらなる開発の段階で遭遇した多くの制限の出現につながりました。したがって、私たちはそれらをできるだけ早く取り除くことを望みました。
アーキテクチャレベルでプロジェクトを再設計した後、上記のコンポーネントとデータベースの通信がすでに通過するローカルRESTAPIが最適なオプションであると判断しました。
その結果、次のアーキテクチャが得られました。
これで、すべての内部モジュールが相互に通信し、RESTAPIを介してデータベースと排他的に通信します。
古い実装に対するAPIの主な利点は、古いバージョンのCrowdSecと比較してモジュール(バウンサー)が単純化されていることです。以前のバウンサーがさまざまなデータベースに直接アクセスした場合、REST APIを介した作業のおかげで、APIトークンを使用したHTTP-getリクエストが1つだけ必要になります。他のすべての作業はAPI側で行われます。
CrowdSecクラウドスキーム
従来の見方では、マシンの1つにCrowdSecのサーバー部分がデプロイされ、新しいAPIを介して、管理者が定義したネットワーク内の他のマシン上のモジュールを管理できると想定されています。必要に応じて、ユーザーは禁止されたアドレスの独自のデータベースを使用するか、有料でデータベースにアクセスできます。ただし、ローカルREST APIと独自のAPIの間に単一の通信ポイントを作成すると、新しい機会が生まれます。それは、クラウドSaaSに近いモデルでのCrowdSecの操作です。
これで、管理者は、ローカルRESTAPIを使用して本格的なCrowdSecサーバーパーツを自分のマシンにデプロイする必要がなくなりました。代わりに、外部の中央CrowdSec APIを使用し、バウンサーのみを使用してネットワークを保護できます。
さらに
以前にCrowdSecを使用したことがある場合は、GitHubでバージョン0.3.xと比較したバージョン1.0.0の変更点の完全なリストを確認することをお勧めします。
新規ユーザーは、GitHubのリポジトリからの情報を参照することをお勧めします。
CrowdSecは、無料のMITライセンスの下でリリースされるオープンソースツールであることを指摘しておきます。したがって、誰でも完全に無料で使用できます。プロジェクトはまだ収益化されておらず、私たちは独自の禁止リストと料金プランを作成している段階にあります。当社のウェブサイトhub.crowdsec.netでは、特に新規ユーザー向けに、セットアップを容易にし、CrowdSecの使用を開始するために、コレクション、構成、および既製のバウンサーが収集されています。
コメント欄で私たちのプロジェクトについて質問することができます。英語を使用すると、コミュニケーションが簡素化されます。Googleを使用する必要はありません。翻訳するか、ロシア語を話す友人にメッセージの翻訳を依頼してください。