エンドポイントと検査のトラブルシューティング

IDS エンドポイントが機能していることを確認する

IDS エンドポイントが機能していることを確認するには、次の手順で操作します。

  1. Google Cloud コンソールの [Cloud IDS] に IDS エンドポイントが表示され、Attached Policies 列にパケット ミラーリング ポリシーがあることを確認します。
  2. ポリシー名をクリックして、接続されたポリシーが有効であること、Policy Enforcement が [有効] に設定されていることを確認します。
  3. トラフィックがミラーリングされていることを確認するには、モニタリング対象の VPC で VM インスタンスを選択し、[オブザーバビリティ] タブに移動して、Mirrored Bytes ダッシュボードに IDS エンドポイントにミラーリングされるトラフィックが表示されていることを確認します。
  4. 各パケットがミラーリングできるのは 1 つの宛先にのみであるため、同じトラフィック(または VM)が複数のパケット ミラーリング ポリシーの影響を受けないようにする必要があります。Attached Policies 列を確認し、VM ごとのポリシーが 1 つだけであることを確認してください。
  5. SSH を使用してモニタリング対象ネットワーク内の VM に接続し、次のコマンドを実行してテスト用のアラートを生成します。

    curl http://example.com/cgi-bin/../../../..//bin/cat%%20/etc/passwd
    

    プラットフォームで curl を使用できない場合は、類似ツールを使用して HTTP リクエストを実行できます。

    数秒後、Cloud IDS の UI と Cloud Logging(脅威ログ)の両方にアラートが表示されます。

検査のためにトラフィックを復号する

Cloud IDS では、トラフィックを検査するため、構成されたトラフィックのパケットレベルのコピーを Packet Mirroring を使用して IDS VM に送信します。コレクタの宛先はミラーリングされたすべてのパケットを受信しますが、TLS、HTTPS、HTTP2 などの安全なプロトコルを使用して暗号化されたデータを伝送するパケットを Cloud IDS で復号することはできません。

たとえば、外部アプリケーション ロードバランサのバックエンド サービス プロトコルとして HTTPS または HTTP2 を使用する場合、ロードバランサのバックエンドに送信されるパケットは Cloud IDS にミラーリングできます。しかし、パケットが伝送するのは暗号化されたデータであるため、リクエストは Cloud IDS で検査できません。Cloud IDS で検査できるようにするには、バックエンド サービス プロトコルを HTTP に変更する必要があります。または、侵入防止に Google Cloud Armor を使用し、リクエストの検査にアプリケーション ロードバランサ ログを有効にすることも可能です。アプリケーション ロードバランサのリクエストのロギングについて詳しくは、グローバル外部のアプリケーション ロードバランサのロギングとモニタリングについての項目と、リージョン外部のアプリケーション ロードバランサのロギングとモニタリングについての項目をご覧ください。

少量のトラフィックのみが検査される

Cloud IDS では、ミラーリングされたサブネット内のリソース( Google Cloud の VM、GKE ノード、Pod など)との間で送受信されるトラフィックが検査されます。

ミラーリングされたサブネットに VM がなければ、Cloud IDS にも検査するトラフィックはありません。

Cloud NGFW の L7 インスペクション ポリシーを使用するとエンドポイント ポリシーは無視される

Cloud Next Generation Firewall の L7 インスペクション ポリシー(アクション apply_security_profile_group を含むルール)と Cloud IDS を併用すると、ファイアウォール ポリシー ルールが評価され、トラフィックは Cloud IDS のインスペクションにミラーリングされません。この状況を回避するには、Cloud IDS での検査が必要なパケットに Cloud NGFW L7 インスペクション ポリシーが適用されないようにします。