IP ブロックリストポリシー

ポリシー名

IP ブロックリスト

概要

単一の IP アドレスまたは IP アドレスの範囲からの API エンドポイントへのアクセスをブロックする

カテゴリ

セキュリティ

使用可能な最小 Flex Gateway バージョン

v1.0.0

返される状況コード

403 - IP は拒否されました

概要

IP ブロックリストポリシーは、単一の IP アドレスまたは IP アドレスの範囲からの設定済み API エンドポイントへのアクセスを制御します。

IP ブロックリストポリシーは、ソース IP (ポリシーの設定時に指定します) が個別 IP のリストまたは IP 範囲と一致した場合に、保護対象のリソースへのアクセスを禁止します。

DataWeave 2.0 の式により、IP がポリシーで定義されている制約 IP リストに含まれているかどうかを確認するときに使用するソース IP を定義します。

ポリシーのパラメーターの設定

Flex Gateway のローカルモード

ローカルモードでは、宣言型の設定ファイルを使用して IP ブロックリストポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。

- policyRef:
    name: ip-blocklist-flex
  config:
    ips: <array> // REQUIRED
    ipExpression: <string> // OPTIONAL, default: "#[attributes.headers['x-forwarded-for']]"
パラメーター 必須または省略可能 デフォルト値 説明

ips

必須

なし

API からブロックする IP アドレスのリスト。IP または IP 範囲は一度に 1 つずつ、必要なだけ何度も定義できます。詳細は、​「ポリシーでブロックリスト登録する IP アドレスの指定」​を参照してください。

ipExpression

省略可能

#[attributes.headers['x-forwarded-for']]

この API 要求から IP アドレスを抽出するために使用する DataWeave 2.0 式。

リソースの設定例

- policyRef:
    name: ip-blocklist-flex
  config:
    ips:
      - "192.168.1.1"
      - "192.168.3.1/30"
      - "192.168.2"
      - "192.160"

Flex Gateway の接続モード

UI から IP ブロックリスト登録済みリストポリシーを API に適用する場合は、以下のパラメーターを設定します。

パラメーター 説明

IP 式

この API 要求から IP アドレスを抽出するために使用する DataWeave 2.0 式。

ブロックリスト

API からブロックする IP アドレスのリスト。IP または IP 範囲は一度に 1 つずつ、必要なだけ何度も定義できます。詳細は、​「ポリシーでブロックリスト登録する IP アドレスの指定」​を参照してください。

Method & Resource conditions (メソッドとリソースの条件)

API の一部またはすべてのメソッドおよびリソースに設定を追加するオプション。

ポリシーでブロックリスト登録する IP アドレスの指定

次の情報に基づいてポリシーでブロックする IP アドレスを指定します。

  • 要求の IP アドレス。

  • 特定の DataWeave 式を解決することで決定される発生元 IP アドレス ( x-Forwarded-For​ ヘッダーなど)。

  • その他のすべての発生元。

要求の IP アドレスに基づいてアクセスをブロックリスト登録する

次のいずれかの方法で、要求の IP アドレスに基づいてブロックリストにアクセスします。

  • 特定の IP アドレスを定義するには、そのアドレスのみを指定します (例: 192.168.1.1​)。

  • アドレスのサブセットを定義するには、サブセットマスクを指定します。たとえば、​192.168.3.1/30​ など (これには、統合範囲 ​192.168.3.0​ ~ ​192.168.3.3​ が含まれます)。

  • IP アドレスの範囲全体を定義するには、許可する IP アドレスの関連オクテットを指定します。たとえば、「​192.168​>」と設定すると、​192.168.0.0​ ~ ​192.168.255.255​ の IP アドレスが含まれます。

x-Forwarded-For ヘッダーの発生元 IP アドレスに基づいてアクセスをブロックリスト登録する

クライアントが HTTP プロキシまたはロードバランサーを介して API に接続している場合、要求に含まれるアドレスではなく、クライアントの特定の IP アドレス (要求の発生元 IP アドレス) をブロックリスト登録できます。

たとえば、​192.168.2.3​ をブロックリスト登録して、HTTP プロキシを介して接続しているクライアントのアドレスが ​92.40.1.255​ である場合、クライアントの要求は、プロキシを使用した公開アドレスで表示されます。

通常、アプリケーションは ​X-Forwarded-For​ ヘッダーを使用して、エンドポイントにリダイレクトされた要求の発生元 IP アドレスを識別します。

ポリシーで DataWeave 2.0 式を使用してサービスに ​x-Forwarded-For​ ヘッダー内の IP アドレスを探すように指示できます。

ポリシーパラメーターの [IP expression (IP 式)] 項目で IP アドレスを指定すると、Anypoint Platform は要求の ​x-Forwarded-For​ ヘッダーの連結値に含まれる最初の IP アドレスを参照するように指示されます。