一般的なユースケースでの作業

このドキュメントでは、ファイアウォールのインサイトを使用して、Virtual Private Cloud(VPC)ファイアウォール ランタイムの使用状況を確認し、ファイアウォール ルール構成を最適化し、セキュリティ境界を厳しくする方法について説明します。

このページで説明する分析情報と使用状況の指標の詳細については、ファイアウォール インサイトの概要をご覧ください。

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

Console

次のルールを確認して、構成ミスや不必要なシャドウルールを回避できるようにします。

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

    Compute Engine VM インスタンスに移動

  2. [VM インスタンスをフィルタ] フィールドで、次の Key-Value ペアのいずれかを入力してインスタンスをフィルタリングし、関連する VM を見つけます。Network tags: などのキーを入力した後に表示される値をクリックすることもできます。詳細については、タグIP アドレスのドキュメントをご覧ください。

    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. [ファイアウォール ルールとルートの詳細] で「last hit after:YYYY-MM-DD」を入力してファイアウォール ルールをフィルタリングします。これにより、最近ヒットしたファイアウォール ルールが見つかります。

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

      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")
      
    3. ファイアウォール ログの詳細をさらにフィルタリングするには、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 リソースに対する攻撃の可能性の検知に役立ちます。

Console

アラートを設定するには、次の手順を行います。

  1. Cloud Console で [Monitoring] ページに移動します。

    [Monitoring] に移動

  2. ナビゲーション パネルで [アラート] を選択します。

  3. ページの上部にある [CREATE POLICY] をクリックします。

  4. [通知ポリシーを作成] ページで、[ADD CONDITION] をクリックして、次の手順を行います。

    1. 条件の名前を入力します。

    2. [Find resource type and metric] フィールドで [VM Firewall Hit Counts](firewallinsights.googleapis.com/vm/firewall_hit_count)を選択します。この指標は、特定の VM に送信されたトラフィックに対してトリガーされたファイアウォール ルールのヒット数を示します。

    3. フィルタを入力します。次に例を示します。

      • instance_id を使用して VM の ID を指定します。
      • firewall_name を使用して、ファイアウォール ルール ロギングが有効になっているファイアウォール ルールを特定します。
    4. アラートの条件を構成します。たとえば、次の値を使用すると、特定したルールのヒット数が 6 時間で 10% 増加した場合にアラートをトリガーします。

      • Condition triggers if: Any time series violates に設定
      • Condition: increases by に設定
      • Threshold: 10 に設定
      • For: 6 hours に設定
    5. [Add] をクリックします。

    6. [通知チャネルを追加] をクリックして、メールアドレスなどを追加します。

    7. [保存] をクリックします。

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

シャドウルールの詳細については、ファイアウォール インサイトの概要のシャドウルールの例をご覧ください。

Console

他のルールによって隠されているファイアウォール ルールをクリーンアップするには、次の手順を行います。

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

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

  2. [表をフィルタリング] フィールドに、次のクエリを入力します。

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

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

Console

未使用の allow ルールを評価して削除するには、次の手順に従います。

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

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

  2. [表をフィルタリング] フィールドに、次のクエリを入力します。

    Type:Ingress Last hit before:MM/DD/YYYY

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

  3. 検索結果のルールごとに、[Insight] 列の情報を確認します。この列には、このルールが将来ヒットする可能性を示す割合が表示されます。割合が高い場合は、このルールを維持することをおすすめします。ただし、低い場合は、生成された情報の確認を続けます。

  4. 分析情報のリンクをクリックすると、[分析情報の詳細] パネルが表示されます。

  5. [分析情報の詳細] パネルで、このルールの属性と、リストされている類似のルールの属性を確認します。

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

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

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

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

Console

未使用の属性を評価して削除するには、次の手順に従います。

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

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

  2. [未使用の属性を持つルールを許可する] というカードで、[全リストを表示] をクリックします。これに応じて、Cloud Console に [未使用の属性を含むルールを許可する] ページが表示されます。このページには、モニタリング期間中に未使用の属性が含まれたすべてのルールが一覧表示されます。

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

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

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

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

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

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

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

Console

制限が過度に緩い IP アドレス範囲を評価して厳格化するには、次の手順を実行します。

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

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

  2. [制限が緩すぎる IP アドレスまたはポート範囲を持つルールを許可する] というカードで、[全リストを表示] をクリックします。レスポンスとして、Cloud Console には、観察期間中に許容範囲が過度に広いすべてのルールのリストが表示されます。

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

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

    • ルールの名前。
    • 絞り込むことができる IP アドレス範囲の数です。
    • 分析情報が最後に更新された時刻。
    • モニタリング期間の長さ。
  5. IP アドレス範囲を絞り込めるかどうかを評価します。ファイアウォール ルールで制限の緩すぎる IP アドレスまたはポート範囲を設定するカードを確認します。新しい IP アドレス範囲の候補リストをご確認ください。

  6. 必要に応じて、分析情報の推奨事項を使用して IP アドレス範囲をより限定してください。ルールの名前をクリックします。[分析情報の詳細] ページの上部に表示されます。[ファイアウォール ルールの詳細] ページが開きます。

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

次のステップ