Crowdsec の一元的なデプロイ

時間の経過… Crowdsecについて初めて話してから2年が経ちました… 私は、その展開の可能性についていくつかの更新されたドキュメントを作成するつもりです, それは私たちの組織を脅威から保護するための非常に興味深い製品であり、私たちに多くの興味深い可能性を提供してくれるからです.

以前の投稿では、おそらくより詳細に、Crowdsecの可能性についてすでに説明しました, しかし、彼を知らない人のために紹介するために, これは、さまざまな種類のマシンにインストールできるソフトウェアです, Windows OSの場合, リナックス… そして、そのマシンを保護することが目標です (またはあなたのネットワーク), マシンのログを読み取ることで、決定を下すことができます, 攻撃の試みによって行われたIPを禁止するなど, または誰かが自分自身をひどく検証しました, 等…

いくつかのコンポーネントがあります, マシンのログを処理するエージェントがある, それが実行するサービスの, イベントビューアなど, IIS の, ナックス, アパッシュ, マリアDB, 交換, ネクストクラウド, 中小企業, RDPの… ログをさまざまなシナリオと比較し、アラートを LAPI サービスに送信します (ローカル API); アラートを受け取り、それを意思決定に変える (私たちが設定した保護に基づいて). そして、バウンサーがあります (o 修復コンポーネント), これは、LAPI の決定を参照し、それらを実装します; たとえば、ファイアウォール バウンサー, これにより、OSのFWにルールが作成され、攻撃を生成したIPアドレスへのアクセスが拒否されます.

原則として、そうではないように見えるかもしれませんが、それは非常に簡単です, Crowdsec Agent のインストール時には、すべてのコンポーネントが一緒にインストールされます (oエンジン). Crowdsec を Windows または Linux にインストールすると、マシンが実行しているサービスが検出されます, したがって、それらはすでに保護されています, Linuxで、 (例えば) NginxはすでにOSログを読み取って処理しています, Nginx自身のものと同様に, 脆弱性による悪用の試みを検出するパターンを探す, スキャン, 不正アクセス… さらに、他の種類のコレクションを追加することもできます’ 他の種類のログを読み取るには, そのNginxでNextcloudが実行されている場合に備えて, また、Crowdsec にも Nextcloud ログの処理を任せたいと考えています…

私が言ったこと, それは簡単です, 知らないと新しい, しかし、それは非常によく計画されています, Windowsサーバーにインストールする場合, 同上, たとえば、IISがインストールされているかどうかを検出します, または SQL Server… また、Crowdsec Agentをインストールすると、イベントビューアのログのパターンが検出され、保護されます. そして私が言ったこと, その IIS が特定のサービスを実行しているかどうか, まあ、それを保護することもできます, 例えば、Exchangeなど (OWAとSMTPの両方) 特定のログを読み取ることができる.

私たちに残っていたのは、アクションを適用できるようにすることです, 彼がログで気に入らないものを読むと, 行為. これを行うには、, 通常、WindowsとLinuxでは、後でファイアウォールバウンサーをインストールする必要があります, 私が言ったように, これにより、この修復コンポーネントはオペレーティング システムのファイアウォールでルールを作成できます, WindowsまたはLinux, 一時的なルール, 否定の, 攻撃元のIPアドレスからのアクセスをブロックする.

これが、WindowsまたはLinuxマシンを保護する方法です, しかし、彼らはお互いに話しません, そして、彼らがお互いにコミュニケーションをとることができれば面白いでしょう. したがって、この手順はオプションです, おそらく小規模な環境向け, しかし、もちろん、どの組織にも完全にお勧めします. DockerコンテナにCrowdsecサーバーを簡単に作成できます, 言うために, このサーバーは、LAPIを介してすべての決定と一元化されたデータベースを共有します, 何のためですか? 私たちがそれに興味がある場合、マシンが攻撃を受けた場合, 残りのCrowdsecマシンが見つけて行動を起こします, ただし、特定のIPアドレスを保護および禁止するには, 一度にすべて. そして、私たちがデプロイするもう1つの素晴らしいコンテナは、Crowdsecブロックリストミラーです, 純粋な魔法, このコンテナは、すべての Crowdsec マシンが共有するブラックリストを URL で公開します. 何のためですか? Fortigateなどの内部または境界ファイアウォールからアクセスできるようにするため, チェックポイント, pfSenseの… そして否定のルールを作る, ネットワーク間, WANから… 攻撃者を別のレベルに直接分離します.

まぁ, この暴言の後, そして、すでに残り火であること, 今日のドキュメントは、私たちが話したこの最後の部分をどのように展開するかに基づいています, 基幹インフラをデプロイしていきます, これらのコンテナをデプロイし、他のドキュメントでは、WindowsにCrowdsecをインストールして保護する方法を説明します, 中央集権的かどうか; Linuxだけでなく.

マルチサーバー環境向けの Crowdsec デプロイメント

Mkdir Crowdsec CD Crowdsec

たとえば、Ubuntuサーバーで開始します, 彼のFQDNで, 静的IPアドレス, NTPが適切に構成されている場合, 更新され、Docker がインストールされています. この 2 つのコンテナがどれだけ速く展開するか見てみましょう. ディレクトリを作成します, 歩いて, そして、私たちは始めます. 以下の内容でdocker-compose.ymlファイルを作成します:

バージョン: '3'

services:
  クラウドセック:
    画像: CrowdSecurity/Crowdsec の再起動: 常にポート:
      - '8080:8080'
      - '6060:6060'
    volumes:
      - ./クラウドセック-DB:/var/lib/crowdsec/data/
      - ./クラウドセック設定:/etc/crowdsec/ crowdsec-blocklist-mirror:
    container_name: crowdsec-blocklist-ミラーイメージ: crowdsecurity/blocklist-mirror depends_on:
      - "クラウドセック"
    ポート:
      - 41412:41412
    ボリューム:
      - ./cfg.yaml の:/etc/crowdsec/bouncers/crowdsec-blocklist-mirror.yaml ボリューム:
  クラウドセック-DB:
  クラウドセック設定:

私が言ったこと, 2つのコンテナをデプロイします, 1 つの Crowdsec は、原則として LAPI サーバーとして機能します。 8080 そして 6060 興味があれば、メトリクスを吐き出します, ポート41412TCPには、ブロックリストを公開するコンテナがあります, 鏡.

コンテナを降ろして開始します:

sudo docker compose up -d

初めてのこと, Blocklist-Mirror コンテナは、API キーを使用してアクセスする必要があるため、リフトされません, そこで、最初のバウンサーを作成しました, ブロックリスト用:

sudo docker exec -it crowdsec-crowdsec-1 cscliバウンサーがBlocklistMirrorを追加します

悪くありません, Crowdsecコンテナを停止し、設定ファイルを削除して、以下で再作成します.

sudo docker stop crowdSEC-CrowdSEC-1 RM -rf cfg.yaml/

そして、「nano cfg.yaml」で作成します’ 設定ファイル, こんな感じでなければならないと, CrowdsecにリクエストしたAPIキーと、LAPIサービスを公開するIPアドレスを示す必要があることに注意してください. ブロックリストだけでなく、接続してブロックリストのURLにアクセスできるIPアドレスを追加します, Por ejemplo nuestro firewall perimetral.

config_version: v1.0 crowdsec_config:
  lapi_key: xxxxxxxxxxxxxxxxxxxxxxxx lapi_url: HTTPの://DIRECCION_IP_MAQUINA:8080
  update_frequency: 10のinclude_scenarios_containing: []
  exclude_scenarios_containing: []
  only_include_decisions_from: []
  insecure_skip_verify: false ブロックリスト:
  - 形式: plain_text # サポートされている形式は、次のいずれかです "plain_text"
    エンドポイント: /セキュリティ/ブロックリスト認証:
      種類: 何一つ # サポートされているタイプは、次のいずれかです "何一つ", "ip_based", "基本的な"
      利用者:
      パスワード:
      trusted_ips: # IP範囲, or IPs which don't require auth to access this blocklist
        - 127.0.0.1
        - ::1
        - 192.168.1.1

listen_uri: 0.0.0.0:41412
TLSの:
  cert_file:
  key_file:

メトリック:
  有効: True エンドポイント: /メトリクス log_media: 標準出力 log_level: 情報

Ya podremos iniciar el contenedor de Crowdsec de nuevo y el del Blocklist-Mirror finalmente, ランニング:

sudo docker start crowdsec-crowdsec-1 sudo docker restart crowdsec-blocklist-mirror

Probamos que podemos acceder a la URL de la blocklist desde: HTTPの://DIRECCION_IP_MAQUINA:41412/セキュリティ/ブロックリスト

Inscribirlo en la CrowdSec Console

で登録することを強くお勧めします https://app.crowdsec.net Crowdsec Consoleアカウントに登録します. ここから、Crowdsecエージェントまたはエンジンのステータスを表示できます, 私たちは、彼らをコミュニティ内の他のブラックリストに登録することがあります, アラートを管理する, 史的… Crowdsecを登録するには, ウェブから行います, “セキュリティエンジン” > “エンジン” > “セキュリティエンジンを追加”, ドロップダウンメニューが表示され、これをコピーしてCrowdsecサーバー上で実行します (それを何かと呼ぶには).

そして、私たちはそれを実行します, この場合、Dockerを介してコマンドを実行するため、コマンドを少し変更します:

sudo docker exec -it crowdsec-crowdsec-1 cscli console enroll -e context xxxxxxxxxxxxxxx

Crowdsec コンソールに戻る (そして、私たちがそれを見なければ, F5 キー), 登録リクエストを検出したことがわかります, クリック “アセプト登録”,

入荷したら, 最初に名前を編集して、名前をより認識しやすくなります, 彼女について “名前またはタグの編集”,

マシン名を付けてクリックします “更新”,

Crowdsecが提供する特定のブロックリストに登録したい場合は、続行できます, コミュニティ… このようにして、マシンは特定のボットネットから保護されます, 悪… こちらは, クリック “ブロックリスト” 購読されていることがわかります 0,

クリック “利用可能なブロックリストを閲覧する”,

そして、ここで一連のリストを考え出します, 最大で選択できます 3 コミュニティタイプのアカウントで無料, リストの種類を選択できます, 私たちを最も納得させるもの, 必要… それぞれについて, 私たちは与えます “取り締まる”,

そして “セキュリティエンジンを追加”,

ここでは、Crowdsecエージェントがインストールされているマシンが表示されます, サブスクライブするマシンとアクションの種類を選択します, IPが禁止されている場合、またはアクセス時にキャプチャが必要な場合. “サブスクリプションの確認”.

原則として、ここにドキュメントを残します, 中心的なシナリオは最小限に抑えられていると言えます, Crowdsecの残りのエンジンにLAPIサービスを提供するマシン、または境界ファイアウォールのブラックリスト. 次のステップは、必要な場所にCrowdsecエージェントをデプロイすることです, そして、私たちが興味を持っているなら, なぜなら、私たちは彼らをこの施設に統合し、彼らが自分たちの間で共同で決定を下すことができるからです.

それがあなたに何かをもたらすことを願っています, 彼を知らない疑問を持った人や知らなかった人がいるかどうかを明確にする, または、ラボに実装して、このようなソリューションを試してみたい場合もあります, 易しい, 簡単, 家族全員で. そして、私たちはセキュリティを提供し、恐怖を予測します… まあその, いいえ? ご存知のとおり, 俺は吸血鬼になるんだ, それがあなたにとって非常にうまくいくことを願っています, 抱擁!

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!