ファイアウォール ルールを確認して最適化する

このページでは、Virtual Private Cloud(VPC)ファイアウォールの使用量を確認して最適化するための一般的なファイアウォール インサイトのタスクについて説明します。これらのタスクを実行して、ファイアウォール ルールの構成を最適化し、セキュリティ境界を強化します。

たとえば、多くのプロジェクトやアプリケーションが存在する大規模な共有 VPC ネットワークを担当しているネットワーク管理者やネットワーク セキュリティ エンジニアは、長期間にわたって蓄積された大量のファイアウォール ルールを確認して最適化し、ネットワークの想定状態と一致するようにしたいと考えています。その場合、次のタスクを使用してファイアウォール ルールを確認し、最適化します。

必要なロールと権限

ファイアウォール インサイトの使用に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与してもらうよう管理者に依頼してください。

ロールの付与の詳細については、アクセスの管理をご覧ください。

これらの事前定義ロールには、ファイアウォール インサイトの使用に必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。

必要な権限

ファイアウォール インサイトを使用するには、次の権限が必要です。

  • recommender.computeFirewallInsights.list
  • recommender.computeFirewallInsights.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

過去 30 日間に VM に利用されたルールを表示する

構成ミスと不要なシャドウルールを回避するためのルールを確認するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、Compute Engine の [VM インスタンス] ページに移動します。

    Compute Engine の [VM インスタンス] に移動

  2. [ フィルタ] フィールドで、次の Key-Value ペアのいずれかを入力してインスタンスをフィルタリングし、関連する VM を見つけます。

    Network tags:TAG_NAME

    TAG_NAME は、VPC ネットワークに割り当てられたタグに置き換えます。

    Internal IP:INTERNAL_IP_ADDRESS

    INTERNAL_IP_ADDRESS は、VM インターフェースの内部 IP アドレスに置き換えます。

    External IP:EXTERNAL_IP_ADDRESS

    EXTERNAL_IP_ADDRESS は、VM インターフェースの外部 IP アドレスに置き換えます。

  3. VM インターフェースの検索結果で VM を選択し、 [その他の操作] メニューをクリックします。

  4. メニューで、[ネットワークの詳細を表示] を選択します。

  5. [ネットワーク インターフェースの詳細] ページで、次の手順を完了します。

    1. [ファイアウォールとルートの詳細] セクションで、[ファイアウォール]、[フィルタ] の順にクリックします。
    2. ファイアウォール ルールをフィルタするには、「last hit after:YYYY-MM-DD」と入力します。このフィルタ式により、最近ヒットしたファイアウォール ルールが見つかります。

    3. ファイアウォール ルールの場合、次のクエリ例のように、[ヒットカウント] 列の数字をクリックしてファイアウォール ログを開き、トラフィックの詳細を確認します。クエリを入力するには、[フィルタを送信] をクリックします。

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2")
      
    4. ファイアウォール ログの詳細をさらにフィルタリングするには、1 つ以上の追加の Cloud Logging フィルタを追加します。たとえば、次のクエリ例では、送信元 IP アドレス(src_ip)でフィルタリングする追加のフィルタを追加しています。クエリを入力するには、[フィルタを送信] をクリックします。

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2") AND
      jsonPayload.connection.src_ip:("10.0.1.2")
      

deny ファイアウォール ルールのヒット数の急激な増加を検出する

deny VPC ファイアウォール ルールのヒット数の変化を検出するように、Cloud Monitoring を構成できます。たとえば、特定のルールのヒットカウントが一定の割合増加した際に、アラートを送信することもできます。このアラートを設定すると、Google Cloud リソースに対する攻撃の可能性の検知に役立ちます。

アラートの設定手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで [Monitoring] ページに移動します。

    [Monitoring] に移動

  2. ナビゲーション パネルで [アラート]、次に [ポリシーを作成] をクリックします。

  3. [アラート ポリシーを作成] ページで、[アラートの条件を追加] をクリックします。新しい条件が追加されました。

  4. [新しい条件] セクションを開き、[トリガーの設定] を選択します。[Configure alert trigger] ページが開きます。

  5. アラートの条件を構成します。たとえば、次の値を使用すると、特定したルールのヒット数が 6 時間で 10% 増加した場合にアラートをトリガーします。

    • 条件タイプ: Threshold に設定します。
    • アラート トリガー: Any time series violates に設定します。
    • しきい値の位置: Above threshold に設定します。
    • しきい値: 10 に設定します。
  6. [詳細オプション] セクションで、条件の名前を入力して [次へ] をクリックします。

  7. [複数条件のトリガー] ページで、条件を指定して [次へ] をクリックします。

  8. [通知の構成] ページで、[通知チャンネル]、[通知チャンネルを管理] の順に選択します。

  9. [通知チャンネル] ウィンドウで、新しい通知チャンネル(メールアドレスなど)を追加し、[保存] をクリックします。

  10. [通知チャンネル] リストで、追加した通知を選択し、[OK] をクリックします。

  11. [アラート ポリシーの命名] セクションで、名前を入力して [次へ] をクリックします。アラート条件が追加されます。

シャドウ対象のファイアウォール ルールをクリーンアップする

他のルールによってシャドーイングされているファイアウォール ルールをクリーンアップするには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [VPC ファイアウォール ルール] セクションで、[フィルタ] をクリックし、[分析情報の種類] > [シャドウルール] を選択します。

  3. 検索結果のルールごとに、ルールの [名前] をクリックして詳細ページを表示します。必要に応じて、各ルールを確認しクリーンアップします。

シャドウルールの詳細については、シャドウルールの例をご覧ください。

未使用の allow ルールを削除する

未使用の allow ルールを評価して削除するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。

    [ファイアウォール ポリシー] に移動

  2. [VPC ファイアウォール ルール] セクションで、[フィルタ] をクリックし、[タイプ] > [上り(内向き)] > [前回のヒット(次の日時より前)MM/DD/YYYY] を選択します。

    MM/DD/YYYY は、使用する日付に置き換えます。例: 08/31/2021

  3. 検索結果のルールごとに、[分析情報] 列の情報を確認します。この列には、このルールが今後ヒットする可能性がパーセンテージで表示されます。割合が高い場合、このルールを維持します。低い場合は、分析情報によって生成された情報の確認を続けます。

  4. 分析情報のリンクをクリックして、[分析情報の詳細] ペインを表示します。

  5. [分析情報の詳細] ペインで、このルールの属性と、一覧表示されている類似ルールの属性を確認します。

  6. ルールが今後ヒットする可能性が低く、予測が類似ルールのヒットパターンでサポートされている場合は、ルールの削除を検討してください。ルールを削除するには、[ルール名] をクリックします。[ファイアウォール ルールの詳細] ページが開きます。

  7. [削除] をクリックします。

  8. 確認ダイアログで [削除] をクリックします。

未使用の属性を allow ルールから削除する

未使用の属性を評価して削除する手順は次のとおりです。

コンソール

  1. Google Cloud Console で [ファイアウォール インサイト] ページに移動します。

    [ファイアウォール インサイト] に移動

  2. [未使用の属性を含む許可ルール] というカードで、[全リストを表示] をクリックします。これに応じて、Google Cloud コンソールに [未使用の属性を含む許可ルール] ページが表示されます。このページでは、観察期間中に未使用の属性がありました。

  3. [分析情報] 列に表示されているテキストをクリックします。[分析情報の詳細] ページが開きます。

  4. ページの上部にある詳細を確認します。概要には次の情報が含まれます。

    • 分析情報の名前。
    • このルールで使用されている未使用の属性の数。
    • 分析情報が最後に更新された時刻。
    • プロジェクト内で類似属性を使用する他のルールの名前。
    • 観察期間。
  5. 属性を削除できるかどうかを判断します。

    1. [ヒットしない属性が含まれるファイアウォール ルール] カードを確認します。[ヒットがない属性(および将来のヒットの予測)] を確認します。このフィールドには、属性が今後ヒットする可能性がパーセンテージで表示されます。
    2. [同じプロジェクト内の類似のファイアウォール ルール] カードを確認します。表示された属性のデータについて、ルールの属性が使用されているかどうか確認します。
  6. 属性が今後ヒットする可能性が低く、予測が類似ルールのヒットパターンでサポートされている場合は、ルールから属性を削除することを検討してください。属性を削除するには、[分析情報の詳細] ページの上部にあるルールの名前をクリックします。[ファイアウォール ルールの詳細] ページが開きます。

  7. [編集] をクリックし、必要な変更を行い、[保存] をクリックします。

allow ルールの IP アドレス範囲を絞り込む

プロジェクトに、ロードバランサのヘルスチェックや他の Google Cloud 機能のために特定の IP アドレス ブロックへのアクセスを許可するファイアウォール ルールが存在する場合があります。これらの IP アドレスはヒットしない可能性がありますが、ファイアウォール ルールから削除しないでください。これらの範囲の詳細については、Compute Engine のドキュメントをご覧ください。

制限が過度に緩い IP アドレス範囲を評価して強化するには、次の操作を行います。

コンソール

  1. Google Cloud Console で [ファイアウォール インサイト] ページに移動します。

    [ファイアウォール インサイト] に移動

  2. [制限が過度に緩い IP アドレスまたはポート範囲を含む許可ルール] というカードで、[全リストを表示] をクリックします。それに応じて、観測期間中に確認された、制限が過度に緩いすべてのルールが Google Cloud コンソールに表示されます。

  3. リストからルールを見つけて、[分析情報] 列に表示されているテキストをクリックします。[分析情報の詳細] ページが開きます。

  4. ページの上部にある詳細を確認します。概要には次の情報が含まれます。

    • ルールの名前。
    • 絞り込みが可能な IP アドレス範囲の数。
    • 分析情報が最後に更新された時刻。
    • 観察期間。
  5. IP アドレス範囲を縮小できるかどうか評価します。制限が緩すぎる IP アドレスまたはポート範囲が含まれるファイアウォール ルール カードを確認します。新しい IP アドレス範囲の候補リストを確認します。

  6. 必要に応じて、分析情報の推奨事項を使用して、IP アドレス範囲をさらに絞り込みます。ルールの名前([分析情報の詳細] ページの上部)をクリックします。[ファイアウォール ルールの詳細] ページが開きます。

  7. [編集] をクリックし、必要な変更を行い、[保存] をクリックします。

次のステップ