Threat Intelligence の構成

Google Cloud Armor Threat Intelligence を使用すると、Google Cloud Armor Managed Protection Plus のサブスクライバーは、複数の脅威インテリジェンス データのカテゴリに基づいて外部アプリケーション ロードバランサへのトラフィックを許可またはブロックすることで、トラフィックを保護できます。Threat Intelligence のデータは、次のカテゴリに分けられます。

  • Tor 終了ノード: Tor は、匿名通信を可能にするオープンソース ソフトウェアです。自分の ID を非表示にしたユーザーを除外するには、Tor の出口ノードの IP アドレス(トラフィックが Tor ネットワークから出るポイント)をブロックします。
  • 悪意のある既知の IP アドレス: ウェブ アプリケーションに対する攻撃の発生源であることがわかっているため、アプリケーションのセキュリティを強化するためにブロックする必要がある IP アドレス。
  • 検索エンジン: サイトのインデックス登録を許可できる IP アドレス。
  • パブリック クラウド IP アドレス範囲: このカテゴリは、悪意のある自動ツールがウェブ アプリケーションを閲覧しないようにブロックできます。ご使用のサービスが他のパブリック クラウドを使用している場合は許可できます。

Threat Intelligence を使用するには、evaluateThreatIntelligence 一致式を上記のカテゴリの一つを表すフィード名とともに使用し、トラフィックをこれらのカテゴリの一部またはすべてに基づいて許可またはブロックするセキュリティ ポリシー ルールを定義します。また、Managed Protection Plus に登録する必要があります。Managed Protection の詳細については、Managed Protection の概要をご覧ください。

Threat Intelligence を構成する

Threat Intelligence を使用するには、許可またはブロックするカテゴリに基づいて FEED_NAME を指定し、evaluateThreatIntelligence('FEED_NAME') 一致式を使用してセキュリティ ポリシー ルールを構成します。各フィード内の情報は継続的に更新され、追加の構成を行わなくても、サービスを新たな脅威から保護します。有効な引数は次のとおりです。

フィード名 Description
iplist-tor-exit-nodes Tor の出口ノードの IP アドレスと一致します
iplist-known-malicious-ips ウェブ アプリケーションを攻撃することが知られている IP アドレスと一致します
iplist-search-engines-crawlers 検索エンジンのクローラの IP アドレスと一致します
iplist-vpn-providers 評価の低い VPN プロバイダが使用する IP アドレス範囲と一致します
iplist-anon-proxies 公開の匿名プロキシに属する IP アドレス範囲と一致します
iplist-crypto-miners クリプト マイニング サイトに属する IP アドレス範囲と一致します
iplist-cloudflare Cloudflare プロキシ サービスの IPv4 および IPv6 アドレス範囲と一致します。
iplist-fastly Fastly プロキシ サービスの IP アドレス範囲と一致します。
iplist-imperva Imperva プロキシ サービスの IP アドレス範囲と一致します。
iplist-public-clouds
  • iplist-public-clouds-aws
  • iplist-public-clouds-azure
  • iplist-public-clouds-gcp
パブリック クラウドに属する IP アドレスと一致します。
  • アマゾン ウェブ サービス(AWS)で使用される IP アドレス範囲と一致します。
  • Microsoft Azure が使用する IP アドレス範囲と一致します。
  • Google Cloud が使用する IP アドレス範囲と一致します。

新しいセキュリティ ポリシー ルールは、次の gcloud コマンドを使用して構成できます。コマンドには、上記表の FEED_NAME と、任意の ACTIONallowdenythrottle など)を指定します。ルールのアクションの詳細については、ポリシーのタイプをご覧ください。

gcloud compute security-policies rules create 1000 \
    --security-policy=NAME \
    --expression="evaluateThreatIntelligence('FEED_NAME')" \
    --action="ACTION"

Threat Intelligence が評価からブロックする可能性のある IP アドレスまたは IP アドレス範囲を除外する場合は、次の式を使用してアドレスを除外リストに追加し、<var>ADDRESS</var> を除外するアドレスまたはアドレス範囲に置き換えます。

evaluateThreatIntelligence('iplist-known-malicious-ips', ['ADDRESS'])

名前付き IP アドレスリストを使用する

Google Cloud Armor の名前付き IP アドレスリストを使用すると、サードパーティ プロバイダが管理している IP アドレスと IP 範囲のリストを参照できます。名前付き IP アドレスリストは、セキュリティ ポリシー内で構成できます。各 IP アドレスまたは IP 範囲を個別に手動で指定する必要はありません。

このドキュメントでは、IP アドレスと IP アドレスリストという言葉に IP アドレス範囲が含まれます。

名前付き IP アドレスリストは、異なる名前ごとにグループ化された IP アドレスのリストです。この名前は通常、プロバイダを指します。名前付き IP アドレスリストには、ルールごとの IP アドレス数の割り当て上限は適用されません。

名前付き IP アドレスリストはセキュリティ ポリシーではありません。名前付き IP アドレスリストをセキュリティ ポリシーに組み込むには、事前構成ルールを参照する場合と同じ方法で、式として名前付き IP アドレスリストを参照します。

たとえば、サードパーティ プロバイダに provider-a という名前の {ip1, ip2, ip3....ip_N_} という IP アドレスリストがある場合、provider-a リスト内のすべての IP アドレスを許可し、そのリストにない IP アドレスを除外するセキュリティ ルールを作成できます。

gcloud beta compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('provider-a')" \
    --action "allow"

独自にカスタマイズした名前付き IP アドレスのリストを作成することはできません。この機能は、Google と提携しているサードパーティ プロバイダによって管理されている名前付き IP アドレスリストに対してのみ利用できます。このような名前付き IP アドレスリストがニーズに合わない場合は、リクエストの送信元 IP アドレスに基づいてリソースへのアクセスを許可またはブロックするセキュリティ ポリシーを作成できます。詳細については、Google Cloud Armor セキュリティ ポリシーの構成をご覧ください。

名前付き IP アドレスリストを使用するには、Google Cloud Armor Managed Protection Plus に登録し、Managed Protection にプロジェクトを登録する必要があります。詳細については、名前付き IP アドレスリストの可用性をご覧ください。

許可されたサードパーティ プロバイダからのトラフィックのみを許可する

代表的な使用例は、許可されたサードパーティ パートナーの IP アドレスを含む許可リストを作成して、このパートナーからの到達するトラフィックのみをロードバランサとバックエンドにアクセスできるようにします。

たとえば CDN プロバイダは、オリジン サーバーからコンテンツを定期的に pull して、独自のキャッシュにコンテンツを配信する必要があります。Google とのパートナーシップにより、CDN プロバイダと Google ネットワーク エッジとの間の直接接続が可能です。Google Cloud の CDN ユーザーは、配信元での pull 時に、この直接接続を使用できます。この場合、CDN ユーザーは、特定の CDN プロバイダからのトラフィックのみを許可するセキュリティ ポリシーを作成する可能性があります。

この例では、CDN プロバイダが IP アドレスリスト 23.235.32.0/20, 43.249.72.0/22, ⋯, を公開しています。CDN ユーザーは、これらの IP アドレスからのトラフィックのみを許可するセキュリティ ルールを構成します。結果として、2 つの CDN プロバイダのアクセス ポイント(23.235.32.1043.249.72.10)が許可され、そのトラフィックも許可されます。不正なアクセス ポイント 198.51.100.1 からのトラフィックはブロックされます。

Google Cloud Armor の名前付き IP アドレス
Google Cloud Armor の名前付き IP address(クリックして拡大)

事前構成済みルールを使用して構成と管理を簡素化する

CDN プロバイダの多くは、よく知られている IP アドレスを使用し、多くの CDN ユーザーは、こうした IP アドレスを使用する必要があります。これらのリストは、プロバイダが IP アドレスを追加、削除、更新するので、時間とともに変化します。

Google Cloud Armor は CDN プロバイダからの情報を自動的に毎日同期するため、セキュリティ ポリシー ルールで名前付き IP アドレスリストを使用すると、IP アドレスの構成と管理が簡単になります。これにより、大規模な IP アドレスリストを手動で管理するという、時間がかかり、なおかつエラーの原因となるプロセスを排除できます。

次に、プロバイダからのすべてのトラフィックを許可する事前構成済みルールの例を示します。

evaluatePreconfiguredExpr('provider-a') => allow traffic

IP アドレスリスト プロバイダ

次の表の IP アドレスリスト プロバイダは、Google Cloud Armor でサポートされています。表に掲載されているのは、Google と提携している CDN プロバイダです。IP アドレスリストは、個々の公開 URL を介して公開されます。

これらのパートナーは、IPv4 アドレスと IPv6 アドレスの個別のリストを提供します。Google Cloud Armor は、指定された URL を使用してリストを取得し、そのリストを名前付き IP アドレスリストに変換します。表の中の名前でリストを参照します。

たとえば、次のコマンドでは、セキュリティ ポリシー POLICY_NAME に優先度 750 のルールを作成し、Cloudflare の名前付き IP アドレスリストを組み込み、その IP アドレスからのアクセスを許可しています。

gcloud beta compute security-policies rules create 750 \
    --security-policy POLICY_NAME \
    --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \
    --action "allow"
提供元 URL IP アドレスリスト名
Fastly https://api.fastly.com/public-ip-list sourceiplist-fastly
Cloudflare

https://www.cloudflare.com/ips-v4

https://www.cloudflare.com/ips-v6

sourceiplist-cloudflare
Imperva

https://my.imperva.com/api/integration/v1/ips

Imperva のリストへのアクセスには、POST リクエストが必要です。以下のコマンドも使用できます。

curl -d "" https://my.imperva.com/api/integration/v1/ips

sourceiplist-imperva

事前構成された名前付き IP アドレスリストを一覧表示するには、次の gcloud CLI コマンドを使用します。

gcloud compute security-policies list-preconfigured-expression-sets \
    --filter="id:sourceiplist"

次の結果が返されます。

EXPRESSION_SET
sourceiplist-fastly
sourceiplist-cloudflare
sourceiplist-imperva

IP アドレスリストを同期する

Google Cloud Armor は、有効な形式の変更を検出した場合にのみ、各プロバイダと IP アドレスリストを同期します。Google Cloud Armor は、すべてのリストの IP アドレスに対して基本構文検証を行います。

名前付き IP アドレスリストの可用性

Google Cloud Armor Managed Protection Plus は一般提供されています。サードパーティからの名前付き IP アドレスリストの可用性は次のとおりです。

  1. Google Cloud Armor Managed Protection Plus ティアに登録している場合、登録済みプロジェクトで名前付き IP アドレスリストの使用ライセンスが付与されています。名前付き IP アドレスのリストを含むルールを作成、更新、削除できます。
  2. Google Cloud Armor Managed Protection Plus ティアのサブスクリプションが期限切れになった場合、または Standard ティアに戻した場合、名前付き IP アドレスリストを含むルールの追加や変更はできませんが、既存のルールを削除し、ルールを更新することで名前付き IP アドレスリストを削除できます。
  3. 名前付き IP アドレスのリストを含むルールが Google Cloud Armor Managed Protection Plus に登録されていない場合は、名前付き IP アドレスのリストを使用して既存のルールを引き続き使用し、更新や削除を行うことができます。このようなプロジェクトでは、名前付き IP アドレスのリストを含む新しいルールを作成できます。

次のステップ