ファイアウォール インサイトを使用したファイアウォール ルールの管理
Google Cloud Japan Team
※この投稿は米国時間 2021 年 5 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。
通常、企業のファイアウォールには膨大な数のルールが含まれ、新しいワークロードが追加されるたびにルールが蓄積されていきます。ルールがこのように断片的に積み重なると、構成ミスが発生し、セキュリティ管理者の頭痛の種となり、最悪の場合はセキュリティ侵害につながる脆弱性を生みます。
これに対処するために、ファイアウォール インサイト モジュールを Network Intelligence Center に導入し、Google Cloud ネットワークの可視性、モニタリング、トラブルシューティングを単一のコンソールから管理できるようにしました。
ファイアウォール インサイトとは
これまで、複雑なファイアウォール ルールの蓄積に対処する簡単な方法はありませんでした。これからは、Google のファイアウォール インサイトが提供する指標レポートとインサイト レポートを活用できます。この 2 つのレポートには、VPC ネットワークでのファイアウォールの使用状況と、さまざまなファイアウォール ルールが与える影響についての情報が含まれます。さらに、これらの分析情報や指標は、VPC ファイアウォール用の Google Cloud Console に統合されており、API を介しても利用できます。
指標レポートを使用することで、ファイアウォール ルールが適切かつ意図したとおりに使用されているかどうかを確認できます。このレポートでは、過去のオペレーションで使われ、現在は使用されていないルールの検出、ファイアウォール ルールによる許可と拒否が意図したとおりに行われているかどうかの確認、ドロップされた接続のリアルタイムのデバッグ、悪意のあるネットワーク アクセス試行の Cloud Monitoring を利用した検出を行うことができます。
インサイト レポートを使用することで、ファイアウォールの構成ミスの特定、セキュリティ攻撃の検知、セキュリティ ルールの最適化と強化が可能になります。
これらのレポートの仕組みを詳しく見てみましょう。
指標レポートの詳細
指標レポートは、ファイアウォールのヒットカウントや前回の使用などの指標を追跡することで、VPC ファイアウォールの使用状況を分析します。例で確認しましょう。
VPC ネットワークに移動して [ファイアウォール] をクリックし、列の表示オプションでログ、ヒットカウント、前回のヒットが選択されていることを確認します。
これを有効にすると、VPC ファイアウォール ルールがヒットカウントと前回のヒットの指標とともに表示されます。下の画像では、ルールに対してログが有効になっていない場合、ヒットカウントと前回のヒットの指標が収集されないことがわかります。ログを有効にすると、これらの情報が収集され、VPC ファイアウォールのコンソールに表示されます。
図 1.2 に示すように、ロギングが有効になっている各ファイアウォール ルールにはヒットカウントが表示されます。上の例では、ルール「uc1-db4-deny-http」は 109,154 回のヒットがあり、最後のヒットは 2021-03-10 (13:10:00) となっています。さらに詳細を確認する場合は、ヒットカウントをクリックして [ログビューア] ページを表示し、これらのログを拡大してすべての詳細を分析できます。
特定のファイアウォール ルールのログを有効にするには、そのルールを編集してログをオンにします。デフォルトでは、メタデータがファイアウォール ログに追加されます。ログのサイズを小さくする場合は、これらの付加的なフィールドを除外します。メタデータ フィールドの除外がファイアウォール インサイトの機能に影響を与えることはありません。
[ファイアウォール] ページでは、ファイアウォール ルールのグループを複数選択して、すべてのログを一度にオンにすることもできます。
ファイアウォール ルールの使用状況の指標は、ファイアウォール ルール ロギングが有効になっている期間に対してのみ正確です。
インサイト レポートの詳細
インサイト レポートは、ファイアウォールの構成のインテリジェントな分析を提供します。レポートには 1 つ以上の分析情報が含まれます。
ここでは、以下を含むさまざまなインサイト レポートの例をご紹介します。
シャドウ ファイアウォール ルール
過去 6 週間にヒットのない許可ルール
過去 24 時間にヒットした拒否ルール
定義上、シャドウルールとは、より高いまたは等しい優先度を持つ 1 つ以上のファイアウォール ルールに完全に包含された VPC ファイアウォール ルールのことです。このような現象を Google ではルールのシャドーイングと呼びます。シャドウルールの見つけ方の例を見てみましょう。
たとえば、2 つの VM 間で ping を使用しようとし、失敗したとします。この VM に適用されているファイアウォール ルールを見てみましょう。
よく見ると、同じターゲットタグを持つルールが 2 つあり、これらはソース IP の範囲以外がほとんど同じであることがわかります。拒否ルール「uc1-app2-deny-all」の IP 範囲には、許可ルール「uc1-app2-allow-app1」の IP 範囲が含まれています。したがって、「uc1-app2-allow-app1」は「uc1-app2-deny-all」によってシャドーイングされており、そのためにこれらの VM 間の ping が失敗したことがわかります。
今後このような事態を避けるために、ファイアウォール インサイトを使用して、他のファイアウォール ルールに包含されているルールをわかりやすく一覧にまとめることができます。
シャドウルールを表示するには、列セレクタをクリックして、ファイアウォールとルートの詳細に [分析情報] を追加します。
追加すると、ここにシャドウルールが表示されるようになります。
または、[ネットワーク インテリジェンス] > [ファイアウォール インサイト] を選択すると、シャドウルールのレポートが表示されます。
分析情報をクリックすると、より詳細な情報を取得できます。
ファイアウォール インサイト カード(図 1.8)に戻ると、「uc1-db4-allow-app3」が 2 つのルールの組み合わせによってシャドーイングされていることも特定できます。その分析情報をクリックすると、すべての詳細が表示されます。
ファイアウォール インサイトのダッシュボードから、[ヒットのない許可ルール] に移動してください。ここには、過去 6 週間ログにヒットが記録されなかったファイアウォール ルールが表示されます。そのようなルールは、構成にミスがあるか、過去のデプロイで使われ、そのまま残ったものである可能性があります。こうしたルールを特定して削除することによって、セキュリティ境界が強化されます。[ネットワーク インテリジェンス] > [ファイアウォール インサイト] に戻ると、ヒットのない許可ルールが表示されます。
ドリルダウンして、ヒットのないルールの全リストを表示できます。たとえば、一番下の「uc2-app1-allow-internet」というルールは、過去のデプロイでインターネット アクセスを許可するために使用したルールで、そのまま残されたものである可能性があります。つまり、今後ヒットする可能性は低いということです。そのため、ルールセットから削除することを検討できます。
ファイアウォール ルールをクリックすると、詳細全体と予測を確認できます。予測は、同じ組織内の類似するルールで見られたヒットパターンに基づいて作成されます。
ファイアウォール インサイトのダッシュボードに戻り、最後のカテゴリである「過去 24 時間のヒットが含まれる拒否ルール」に進みましょう。ここでは、拒否ルールでブロックされたトラフィックをキャプチャできます。これらのトラフィック タイプは、VPC ネットワークへの外部からの攻撃や、ネットワーク外へトラフィックを送信しようする不正な VM インスタンスを示している可能性があります。ファイアウォール ルールの今後のヒット予測を調べてみましょう。[ネットワーク インテリジェンス] > [ファイアウォール インサイト] の順に進み、ヒットが含まれる拒否ルールのカードを見てみます。
「uc4-web-deny-web」ルールをクリックすると、ヒットカウントのモニタリングが表示されます。ヒット数をクリックすると、そのログをより詳しく分析できます。
以上は、ファイアウォール インサイトを効果的に活用し、巨大なファイアウォール ルールセットをより適切に管理するためのヒントになるでしょう。シャドウルールの検出を自動化し、構成ミスのあるルールのトラブルシューティングを迅速に行い、ルールセットに紛れている過剰な許可ルールを簡単に突き止め、ファイアウォール ルールで拒否されて失敗したネットワーク侵入を特定できます。
ファイアウォール インサイトの詳細については、ドキュメントを参照してください。また、Google Cloud がネットワーク セキュリティのインテリジェントな自動化をどのように進めているかについては、最近のブログ投稿をご確認ください。
-ネットワーキング スペシャリスト Albert Colas Prunera
-プロダクト マネージャー Tracy Jiang