Skip to content

Banned Clients

EMQXは、特定のクライアントからのアクセスを制限するバン機能を提供しています。クライアントはクライアントID、ユーザー名、または送信元IPアドレスを使ってバンリストに追加できます。

バンは以下のルールを通じても適用可能です。

  • クライアント識別子やユーザー名にマッチする正規表現パターン。

    TIP

    正規表現によるバンは、すでに接続中のクライアントには適用されません。

  • 送信元IPアドレスにマッチするCIDRレンジ。

TIP

大量のマッチングルールがあるとパフォーマンスに悪影響を及ぼす可能性があります。これは、直接的なバンとは異なり、接続を試みるクライアントごとにすべてのルールをチェックするためです。

本ページではEMQXダッシュボードを通じたバン管理に焦点を当てています。バン機能はREST APIからも利用可能です。

API機能
DEL /bannedすべてのバンデータをクリアします。
GET /banned現在バンされているクライアントID、ユーザー名、IPアドレスの一覧を取得します。
POST /bannedクライアントID、ユーザー名、またはIPアドレスをブラックリストに追加します。
DEL /banned/{as}/{who}クライアントID、ユーザー名、またはIPアドレスをブラックリストから削除します。

フラッピング検出は、クライアントID、ユーザー名、または送信元IPアドレスが設定された接続閾値に達した場合に直接的なバンエントリを自動作成します。これらのエントリはBanned ClientsページおよびGET /bannedのレスポンスに表示されます。REST APIのレスポンスでは、asがバンタイプ(clientidusernamepeerhost)を示し、byflapping detectorとなります。期限切れ前にエントリを削除することも可能です。詳細はFlapping Detectをご覧ください。

TIP

バンリストは少数のクライアントのバンにのみ適用されます。多数のクライアントの認証管理が必要な場合は、認証機能を利用してください。

バン対象クライアントの作成

  1. EMQXダッシュボードで、左側のナビゲーションメニューから アクセス制御 -> Banned Clients をクリックし、Banned Clientsページに移動します。
  2. 右上の 作成 ボタンをクリックします。作成ダイアログでバン対象のクライアントを指定します。
    • Banned Object: ドロップダウンリストから、Client IDUsernameIP AddressClient ID PatternUsername Pattern、またはIP Address Rangeのいずれかを選択し、対応する値を入力します。
    • Expire At(任意): 時計アイコンをクリックして、このバンの有効期限日時を選択します。
    • Reason(任意): なぜこのクライアントをバンするのか理由を入力します。
  3. 作成 をクリックして設定を完了します。
バン作成画面

バン対象クライアントのクリア

Actions列の削除ボタンをクリックすると、単一のバンレコードを削除できます。ページ上のすべてのレコードを一括でクリアしたい場合は、すべてクリアボタンをクリックしてください。