CrowdSec

CrowdSec の非公式プラグイン(CrowdSec とは無関係)。EmDash 管理画面で、Local API のアラート、BAN、主な脅威を確認できます。

プラグイン

CrowdSec

CrowdSec の非公式プラグイン(CrowdSec とは無関係)。EmDash 管理画面で、Local API のアラート、BAN、主な脅威を確認できます。

  • カテゴリー: crowdsec
  • ステータス: 利用可能
  • バージョン: 0.1.3
  • 価格: 不明
  • 提供元: 公式プラグインレジストリ
  • 導入方法: レジストリのサンドボックスプラグイン
  • 確認日: 2026-10-21

説明

これは非公式のプラグインです。CrowdSec とは無関係であり、CrowdSec による承認やサポートも受けていません。

EmDash 管理画面で CrowdSec を表示します。専用のマシンログインを使って、CrowdSec の Local API から読み取ります。

ダッシュボード: 直近 24 時間のアラートをその前の 24 時間と比較し、現在有効な BAN、種類別のアラート(WAF、ボットチャレンジ、振る舞い)、上位のシナリオを表示する CrowdSec カードです。

CrowdSec ページ: 7 日、30 日、90 日分の、種類別アラートと 1 日あたりの BAN 発行数、さらに上位のシナリオ、送信元アドレス、国、AS 組織、標的となったパスを表示します。

アラート: 保存済みアラートのエクスプローラーです。1 時間から保持している全期間、または前回の訪問以降までの期間、種類別タブ、ヒストグラム付きの 2 つの内訳、アドレス範囲・国・シナリオ・振る舞い・ネットワーク・パス・エンジンによるフィルター、アドレスごとにまとめたアラート、各アラートのライブ詳細を備えています。

デシジョン: LAPI が現在適用しているデシジョンを、有効期限順に並べてライブで読み取ります。

トラフィックグラフ: ファイアウォールバウンサーが破棄した悪意のあるトラフィックを、コミュニティブロックリスト、自分の検出、手動 BAN に分けて表示します。あわせて、全トラフィックに占める割合、検査・ブロックされた Web リクエスト、ボットチャレンジ、送信元別の有効な BAN も表示します。データは、自分のエンジンとバウンサーのメトリクスから取得し、CrowdSec のクラウドからは取得しません。

MCP ツール: サマリー、上位の脅威、アラートエクスプローラー、トラフィック、有効なデシジョン、1 つのアドレスのアラートに加え、変更を行うツールが 3 つあります。

任意の変更機能: 「変更を許可」をオンにすると、管理者はアドレスまたは範囲を一定期間 BAN したり、デシジョンを削除したり、古いアラートを削除したりできます。BAN の対象に、自分のアドレス、サイトのアドレス、LAPI ホストのアドレス、保護対象アドレス、プライベート空間、許可リストのアドレスが含まれることはありません。

日付はお使いのタイムゾーンで区切られます。サイトから到達できる CrowdSec LAPI が必要です。

インストール

必要なものは次のとおりです。パブリックな HTTPS ホスト名で Local API を公開している CrowdSec 1.7 以降(EmDash はプライベートアドレスを拒否します)、およびサイトに設定した EMDASH_ENCRYPTION_KEY(npx emdash secrets generate で生成できます)。

  1. CrowdSec のホストで、プラグイン用のマシンを作成します: sudo cscli machines add emdash-crowdsec --auto -f /root/emdash-crowdsec.yaml。このファイルに ID とパスワードが保存されます。
  2. LAPI をリバースプロキシの背後で公開し、EmDash サーバーのアドレスからのアクセスと、次のルートだけを許可します: POST /v1/watchers/login、GET /v1/alerts、GET /v1/alerts/。変更機能を使う場合は、POST /v1/alerts、DELETE /v1/alerts/、DELETE /v1/decisions/、POST /v1/allowlists/check も許可します。ID なしの DELETE /v1/decisions は決して許可しないでください。このパスはボットチャレンジの対象から除外してください。README に、単一ホスト向けの nginx と Traefik の例があります。
  3. レジストリからプラグインをインストールします。必要な権限はネットワークアクセスのみで、LAPI の URL と、変更機能がオンの間は cloudflare-dns.com に対して行われます。
  4. Plugins でプラグインの設定を開きます。LAPI の URL(/v1 なし)、マシン ID とパスワード、タイムゾーンを入力して保存します。
  5. Plugins、CrowdSec を開き、Check setup を選びます。指摘された項目をすべて修正してください。
  6. BAN と BAN 解除を許可するには、「変更を許可」をオンにし、サーバーと自宅のアドレスを「保護対象アドレス」に追加します。

Cloudflare Workers では、同期に EmDash のデプロイガイドにある Cron トリガーが必要です。MCP ツールを使うには、Plugins でこのプラグインの Agent アクセスをオンにします。

よくある質問

このプラグインで CrowdSec LAPI が公開されてしまいますか? いいえ。EmDash はプラグインがパブリックな HTTPS ホスト名しか呼び出せないようにしているため、LAPI はそのホスト上のパスを通じて到達しますが、手前のプロキシは EmDash サーバーのアドレスと、プラグインが使うルートだけを許可します。それ以外はすべて 403 になり、すべてのリクエストにプラグイン自身のマシンログインも必要です。LAPI 自体は引き続き 127.0.0.1 で待ち受けます。設定方法は README に記載しています。

パスワードは正しいのに、「incorrect Username or Password」でログインに失敗します。 LAPI は name/version 形式でない User-Agent を拒否します。プラグインの User-Agent を置き換えるプロキシがあると、この問題が起きます。

セットアップチェックで、ルートが拒否された(403)と表示されます。 プロキシが EmDash サーバーに対してそのルートを許可していません。README のとおりに追加してください。

最初の数日の数値が少ないのはなぜですか? 履歴は新しいものから順に、1 ウィンドウずつ読み込まれます。読み込み中は、ページにその旨が表示されます。

デシジョン一覧が cscli decisions list より短いのはなぜですか? 自分のデシジョンだけを一覧表示するためです。コミュニティブロックリストやリストには数千件がさらに含まれており、一覧の上に件数として表示されます。

上位リストが概算なのはなぜですか? 各日で出現頻度の高い 25 件の値だけを保持するため、まれな値は少なく数えられます。

評判バッジはどこにありますか? プラグインは CrowdSec のクラウドには一切問い合わせません。エクスプローラーには、ローカルのヒントとして「Banned now」と「Seen before」が表示されます。

LAPI が複数のホストからアラートを収集しています。 各アラートには、それを発生させたエンジンが記録されます。Engine names 設定で名前を付けてください。

このアラートを削除できないのはなぜですか? 削除すると、バウンサーに知られないままそのデシジョンも削除されてしまうためです。デシジョンを削除してから、2 分後にアラートを削除してください。

BAN が拒否されたのはなぜですか? メッセージに該当するルールが示されます。README にすべてのルールを記載しています。

トラフィックグラフのデータはどこから来ますか? 自分のエンジンとファイアウォールバウンサーのメトリクスからで、CrowdSec のクラウドからではありません。設定でそれらの URL を指定してください。

日付はどのタイムゾーンで区切られますか? Time zone 設定に従い、変更しない限り Australia/Sydney です。不明な名前を指定すると同期は一時停止し、履歴は保持されます。

セキュリティ

セキュリティ上の問題は、リポジトリのアドバイザリフォームから非公開で報告してください: https://github.com/shanelord01/emdash-crowdsec/security/advisories/new

プラグインがアクセスできるもの

ネットワークリクエストのみで、アクセス先は 2 か所だけです。入力した LAPI の URL と、「変更を許可」がオンの間にサイトと LAPI ホストのアドレスを調べるための cloudflare-dns.com です。コンテンツ、ユーザー、メディアにはアクセスできません。使用する LAPI のルートは README に記載したものだけで、フィルター付きの DELETE /v1/decisions や、アラートの一括削除は決して行いません。リダイレクトにも従わないため、パスワードが別のホストに送られることはありません。平文の HTTP や、認証情報を含む URL は拒否されます。

認証情報

マシンのパスワードは EMDASH_ENCRYPTION_KEY で暗号化して保存されます。LAPI のトークンは保存されません。実行のたびにログインし、メモリ内に保持します。プラグイン専用のマシンを用意し、EmDash サーバーとプラグインのルートだけが通過できるように LAPI を公開してください。

誰が何をできるか

編集者と管理者は、カード、ページ、読み取りツールを利用できます。変更を行えるのは管理者だけで、しかも「変更を許可」がオンのときに限ります。ページでは、プラグイン自身がロールを確認します。書き込みツールのルートは、EmDash によって管理者のみに制限されています。

BAN の保護

BAN の対象が次のいずれかを含む場合、該当するルールを示して拒否されます。リクエスト元のアドレス(MCP ツールの場合はクライアントの送信元)、サイトまたは LAPI ホストのアドレス、「保護対象アドレス」の項目、プライベート、ループバック、リンクローカル、CGNAT(Tailscale の 100.64.0.0/10 を含む)、マルチキャスト、予約済みの空間、/16 または /48 より広い範囲、CrowdSec の許可リストの項目(LAPI は手動 BAN ではこれを無視するため、最初に確認されます)。IPv4 を含む IPv6 は、その IPv4 アドレスで判定され、Teredo は拒否されます。保護対象の項目に不正なものが 1 つでもあると、すべての変更が拒否されます。

アラートの削除

アラートは、そのデシジョンが 2 分以上前に終了している場合にのみ削除されます。アラートを削除すると、バウンサーに知られないままデシジョンも削除されてしまうためです。

変更履歴

0.1.3

  • EmDash 1.2 以降では、ページがサイドバーの 1 つの CrowdSec フォルダー(Overview、Alerts、Decisions)にまとめられます。アドレスは変わりません。古い EmDash では 1 つずつ表示されます。
  • 送信元別の有効な BAN には、エンジンの Prometheus で level: full が必要です。README の Metrics の項に記載しています。
  • 新しい権限はなく、MCP ツールにも変更はありません。

0.1.2

  • アラートエクスプローラーのフィルターを 1 行にまとめ、選択するとすぐに適用されるようにしました。

0.1.1

  • CrowdSec のアラートページがエクスプローラーになりました。1 時間から全履歴まで、または前回の訪問以降までの期間、種類別タブ、切り替え可能なヒストグラム付きの 2 つの内訳、チップ形式のフィルター、アドレスごとにまとめたアラート(各アドレスの表示と各アラートのライブ詳細付き)、「Banned now」と「Seen before」のヒントを備えています。
  • エンジン: 各アラートに、それを発生させた CrowdSec エージェントが内訳とフィルターとして記録されます。複数ある場合は列とグラフも表示され、名前は Engine names 設定で付けます。
  • 新しい MCP ツール alerts_explorer を追加。アップデート時に、EmDash が再び Agent アクセスを求めます。
  • 保存済みのアラートは、最初の数回の同期でコンパクトなアラートログに移行されます。
  • デモデータを廃止しました。プラグインには到達可能な LAPI が必要です。デモデータを使っていた環境では LAPI の設定が求められ、設定後にデモの行が削除されます。
  • 時間表示の短縮、表の幅の縮小、3 日単位の棒グラフによる 90 日ページ、ダッシュボードを開かなくても設定に従って動作するメトリクスサンプラー。

0.1.0

初回リリース: ダッシュボードカード、CrowdSec ページ、アラートとデシジョンのページ、セットアップチェック、トラフィックグラフ、8 つの MCP ツール、そして管理者向けの任意の BAN、BAN 解除、アラート削除(自分のアドレスを守る保護付き)。

全履歴: CHANGELOG.md。