このページでは、Virtual Private Cloud(VPC)ファイアウォールの使用量を確認して最適化するための一般的なファイアウォール インサイトのタスクについて説明します。これらのタスクを実行して、ファイアウォール ルールの構成を最適化し、セキュリティ境界を強化します。
たとえば、多くのプロジェクトやアプリケーションが存在する大規模な共有 VPC ネットワークを担当しているネットワーク管理者やネットワーク セキュリティ エンジニアは、長期間にわたって蓄積された大量のファイアウォール ルールを確認して最適化し、ネットワークの想定状態と一致するようにしたいと考えています。その場合、次のタスクを使用してファイアウォール ルールを確認し、最適化します。
必要なロールと権限
ファイアウォール インサイトの使用に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与してもらうよう管理者に依頼してください。
-
Firewall Recommender 管理者ロール(
roles/recommender.firewallAdmin
) -
Firewall Recommender 閲覧者ロール(
roles/recommender.firewallViewer
)
ロールの付与の詳細については、アクセス権の管理をご覧ください。
これらの事前定義ロールには、ファイアウォール インサイトの使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ファイアウォール インサイトを使用するには、次の権限が必要です。
-
recommender.computeFirewallInsights.list
-
recommender.computeFirewallInsights.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
過去 30 日間に VM に利用されたルールを表示する
構成ミスと不要なシャドウルールを回避するためのルールを確認するには、次の操作を行います。
コンソール
Google Cloud Console で、[Compute Engine VM インスタンス] ページに移動します。
[
フィルタ] フィールドで、次の 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 アドレスに置き換えます。VM インターフェースの検索結果で VM を選択し、
[その他の操作] メニューをクリックします。メニューで、[ネットワークの詳細を表示] を選択します。
[ネットワーク インターフェースの詳細] ページで、次の手順を完了します。
- [ファイアウォールとルートの詳細] セクションで、[ファイアウォール]、[ フィルタ] の順にクリックします。
ファイアウォール ルールをフィルタするには、「
last hit after:YYYY-MM-DD
」と入力します。このフィルタ式により、最近ヒットしたファイアウォール ルールが見つかります。ファイアウォール ルールの場合、次のクエリ例のように、[ヒットカウント] 列の数字をクリックしてファイアウォール ログを開き、トラフィックの詳細を確認します。クエリを入力するには、[フィルタを送信] をクリックします。
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")
ファイアウォール ログの詳細をさらにフィルタリングするには、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 リソースに対する攻撃の可能性の検知に役立ちます。
アラートの設定手順は次のとおりです。
コンソール
Google Cloud Console で、[Monitoring] ページに移動します。
ナビゲーション パネルで [
アラート]、次に [ ポリシーを作成] します。[アラート ポリシーを作成] ページで、[
アラートの条件を追加] をクリックします。新しい条件が追加されました。[新しい条件] セクションを開き、[トリガーの設定] を選択します。[Configure alert trigger] ページが開きます。
アラートの条件を構成します。たとえば、次の値を使用すると、特定したルールのヒット数が 6 時間で 10% 増加した場合にアラートをトリガーします。
- 条件タイプ:
Threshold
に設定します。 - アラート トリガー:
Any time series violates
に設定します。 - しきい値の位置:
Above threshold
に設定します。 - しきい値:
10
に設定します。
- 条件タイプ:
[詳細オプション] セクションで、条件の名前を入力して [次へ] をクリックします。
[複数条件のトリガー] ページで、条件を指定して [次へ] をクリックします。
[通知の構成] ページで、[通知チャンネル]、[通知チャンネルを管理] の順に選択します。
[通知チャンネル] ウィンドウで、新しい通知チャンネル(メールアドレスなど)を追加し、[保存] をクリックします。
[通知チャンネル] リストで、追加した通知を選択し、[OK] をクリックします。
[アラート ポリシーの命名] セクションで、名前を入力して [次へ] をクリックします。アラート条件が追加されます。
シャドウ対象のファイアウォール ルールをクリーンアップする
他のルールによってシャドーイングされているファイアウォール ルールをクリーンアップするには、次の操作を行います。
コンソール
Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。
VPC ファイアウォール ルールセクションで、[> シャドウルールを選択します。
フィルタ] をクリックし、次に分析情報の種類検索結果のルールごとに、ルールの [名前] をクリックして詳細ページを表示します。必要に応じて、各ルールを確認しクリーンアップします。
シャドウルールの詳細については、シャドウルールの例をご覧ください。
未使用の allow
ルールを削除する
未使用の allow
ルールを評価して削除するには、次の操作を行います。
コンソール
Google Cloud コンソールで [ファイアウォール ポリシー] ページに移動します。
VPC ファイアウォール ルールセクションで、>上り>前回のヒット(次の日付より前)MM/DD/YYYYを選択します。
フィルタをクリックし、次にタイプMM/DD/YYYY
は、使用する日付に置き換えます。例:08/31/2021
検索結果のルールごとに、[分析情報] 列の情報を確認します。この列には、このルールが今後ヒットする可能性がパーセンテージで表示されます。割合が高い場合、このルールを維持します。低い場合は、分析情報によって生成された情報の確認を続けます。
分析情報のリンクをクリックして、[分析情報の詳細] ペインを表示します。
[分析情報の詳細] ペインで、このルールの属性と、一覧表示されている類似ルールの属性を確認します。
ルールが今後ヒットする可能性が低く、予測が類似ルールのヒットパターンでサポートされている場合は、ルールの削除を検討してください。ルールを削除するには、[ルール名] をクリックします。[ファイアウォール ルールの詳細] ページが開きます。
[削除] をクリックします。
確認ダイアログで [削除] をクリックします。
未使用の属性を allow
ルールから削除する
未使用の属性を評価して削除する手順は次のとおりです。
コンソール
Google Cloud Console で [ファイアウォール インサイト] ページに移動します。
[未使用の属性を含む許可ルール] というカードで、[全リストを表示] をクリックします。これに応じて、Google Cloud コンソールに [未使用の属性を含む許可ルール] ページが表示されます。このページでは、観察期間中に未使用の属性がありました。
[分析情報] 列に表示されているテキストをクリックします。[分析情報の詳細] ページが開きます。
ページの上部にある詳細を確認します。概要には次の情報が含まれます。
- 分析情報の名前。
- このルールで使用されている未使用の属性の数。
- 分析情報が最後に更新された時刻。
- プロジェクト内で類似属性を使用する他のルールの名前。
- 観察期間。
属性を削除できるかどうかを判断します。
- [ヒットしない属性が含まれるファイアウォール ルール] カードを確認します。[ヒットがない属性(および将来のヒットの予測)] を確認します。このフィールドには、属性が今後ヒットする可能性がパーセンテージで表示されます。
- [同じプロジェクト内の類似のファイアウォール ルール] カードを確認します。表示された属性のデータについて、ルールの属性が使用されているかどうか確認します。
属性が今後ヒットする可能性が低く、予測が類似ルールのヒットパターンでサポートされている場合は、ルールから属性を削除することを検討してください。属性を削除するには、[分析情報の詳細] ページの上部にあるルールの名前をクリックします。[ファイアウォール ルールの詳細] ページが開きます。
[編集] をクリックし、必要な変更を行い、[保存] をクリックします。
allow
ルールの IP アドレス範囲を絞り込む
プロジェクトに、ロードバランサのヘルスチェックや他の Google Cloud 機能のために特定の IP アドレス ブロックへのアクセスを許可するファイアウォール ルールが存在する場合があります。これらの IP アドレスはヒットしない可能性がありますが、ファイアウォール ルールから削除しないでください。これらの範囲の詳細については、Compute Engine のドキュメントをご覧ください。
制限が過度に緩い IP アドレス範囲を評価して強化するには、次の操作を行います。
コンソール
Google Cloud Console で [ファイアウォール インサイト] ページに移動します。
[制限が過度に緩い IP アドレスまたはポート範囲を含む許可ルール] というカードで、[全リストを表示] をクリックします。それに応じて、観測期間中に確認された、制限が過度に緩いすべてのルールが Google Cloud コンソールに表示されます。
リストからルールを見つけて、[分析情報] 列に表示されているテキストをクリックします。[分析情報の詳細] ページが開きます。
ページの上部にある詳細を確認します。概要には次の情報が含まれます。
- ルールの名前。
- 絞り込みが可能な IP アドレス範囲の数。
- 分析情報が最後に更新された時刻。
- 観察期間。
IP アドレス範囲を縮小できるかどうか評価します。制限が緩すぎる IP アドレスまたはポート範囲が含まれるファイアウォール ルール カードを確認します。新しい IP アドレス範囲の候補リストを確認します。
必要に応じて、分析情報の推奨事項を使用して、IP アドレス範囲をさらに絞り込みます。ルールの名前([分析情報の詳細] ページの上部)をクリックします。[ファイアウォール ルールの詳細] ページが開きます。
[編集] をクリックし、必要な変更を行い、[保存] をクリックします。