ファイアウォール ルールのロギング

ファイアウォール ルール ロギングを使用すると、ファイアウォール ルールの効果を監査、検証、分析できます。たとえば、トラフィックを拒否するように設計されたファイアウォール ルールが意図したとおりに機能しているかどうかを判別できます。ファイアウォール ルールロギングは、特定のファイアウォール ルールによって影響を受ける接続数を判別する必要がある場合にも役立ちます。

ファイアウォール ルールに一致する接続をログに記録する必要がある場合、そのファイアウォール ルールに対してファイアウォール ルールロギングを個別に有効化します。ルールの動作(allowdeny)や方向(上り(内向き)、下り(外向き))に関係なく、あらゆるファイアウォール ルールに任意でファイアウォール ルールロギングを有効化できます。

ファイアウォール ルールのロギングでは、Compute Engine 仮想マシン(VM)インスタンス間のトラフィックが記録されます。これには、Google Kubernetes Engine(GKE)クラスタApp Engine フレキシブル環境のインスタンスなど、Compute Engine VM 上に構築されたTrusted Cloud by S3NS プロダクトが含まれます。

ファイアウォール ルールのロギングを有効にすると、 Trusted Cloud by S3NS ルールによってトラフィックが許可または拒否されるたびに、接続レコードと呼ばれるエントリが作成されます。これらのレコードは Cloud Logging で表示でき、Cloud Logging のエクスポート先としてサポートされている任意の宛先にログをエクスポートできます。

接続レコードごとに、送信元 IP アドレス、宛先 IP アドレス、プロトコルとポート、日時、およびトラフィックに適用されたファイアウォール ルールへの参照が記録されます。

ファイアウォール ルールのロギングは、VPC ファイアウォール ルールと階層型ファイアウォール ポリシーの両方で使用できます。

ログの表示については、ファイアウォール ルール ロギングを使用するをご覧ください。

仕様

ファイアウォール ルールロギングの仕様は次のとおりです。

ファイアウォール ログ形式

仕様に従い、ロギングが有効化されているファイアウォール ルールが VM インスタンスへのトラフィックまたは VM インスタンスからのトラフィックに適用されるたびに、Cloud Logging 内にログエントリが作成されます。ログレコードは、Logging の LogEntry の JSON ペイロード フィールドに含まれます。

ログレコードには、各ログレコードのコアフィールドであるベース フィールドと、詳細情報を追加するメタデータ フィールドが含まれています。メタデータ フィールドを含めるかどうかを制御できます。省略すると、ストレージ費用の節約が可能です。

一部のログフィールドでは、フィールドでもある値がサポートされています。これらのフィールドには、所定のフィールドに複数のデータを含めることができます。たとえば、connection フィールドは IpConnection 形式で、送信元と宛先の IP アドレスとポート、およびプロトコルが 1 つのフィールドに格納されます。これらのフィールドを次の表で説明します。

フィールド 説明 フィールド タイプ: 基本またはオプションのメタデータ
connection IpConnection
送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、この接続の IP プロトコルを記述する 5 タプル。
基本
disposition string
接続が ALLOWEDDENIED かを示します。
基本
rule_details RuleDetails
この接続に適用されたルールの詳細。
rule_details.reference フィールド 基本
その他のルールの詳細フィールド メタデータ
instance InstanceDetails
VM インスタンスの詳細。共有 VPC 構成の場合、project_id はサービス プロジェクトの詳細に対応します。
メタデータ
vpc VpcDetails
VPC ネットワークの詳細。共有 VPC 構成の場合、project_id はホスト プロジェクトの詳細に対応します。
メタデータ
remote_instance InstanceDetails
接続のリモート エンドポイントが Compute Engine にある VM の場合、このフィールドには VM インスタンスの詳細が入力されます。
メタデータ
remote_vpc VpcDetails
接続のリモート エンドポイントが VPC ネットワーク内にある VM の場合、このフィールドにはネットワークの詳細が入力されます。
メタデータ
remote_location GeographicDetails
接続のリモート エンドポイントが VPC ネットワークの外部にある場合、このフィールドには使用可能なロケーション メタデータが入ります。
メタデータ

IpConnection

フィールド タイプ 説明
src_ip 文字列 送信元 IP アドレス。送信元が Compute Engine VM の場合、src_ip はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 IP アドレスは示されません。VM に対して TCP ダンプを実行した場合と同じように、Logging では VM がパケット ヘッダーで確認する VM の IP アドレスが示されます。
src_port 整数 送信元ポート
dest_ip 文字列 宛先 IP アドレス。宛先が VM の場合、dest_ip はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。 Trusted Cloud 外部 IP アドレスは、接続に使用されていても表示されません。
dest_port 整数 宛先ポート
protocol 整数 接続の IP プロトコル

RuleDetails

フィールド タイプ 説明
reference 文字列 ファイアウォール ルールへの参照。形式:
"network:{network name}/firewall:{firewall_name}"
priority 整数 ファイアウォール ルールの優先順位。
action 文字列 ALLOW または DENY
source_range[ ] 文字列 ファイアウォール ルールが適用される送信元範囲のリスト。
destination_range[ ] 文字列 ファイアウォール ルールが適用される宛先範囲のリスト。
ip_port_info[ ] IpPortDetails ルールが適用される IP プロトコルと該当するポート範囲のリスト。
direction 文字列 ファイアウォール ルールが適用される方向(上り、内向きまたは下り、外向き)。
source_tag[ ] 文字列 ファイアウォール ルールが適用されるすべてのソースタグのリスト。
target_tag[ ] 文字列 ファイアウォール ルールが適用されるすべてのターゲットタグのリスト。
source_service_account[ ] 文字列 ファイアウォール ルールが適用されるすべてのソースサービス アカウントのリスト。
target_service_account[ ] 文字列 ファイアウォール ルールが適用されるすべてのターゲット サービス アカウントのリスト。
source_region_code[ ] 文字列 ファイアウォール ルールが適用されるすべての送信元の国コードのリスト。
destination_region_code[ ] 文字列 ファイアウォール ルールが適用されるすべての宛先の国コードのリスト。
source_fqdn[ ] 文字列 ファイアウォール ルールが適用されるすべての送信元ドメイン名のリスト。
destination_fqdn[ ] 文字列 ファイアウォール ルールが適用されるすべての宛先ドメイン名のリスト。
source_address_groups[ ] 文字列 ファイアウォール ルールが適用されるすべての送信元アドレスグループのリスト。
destination_address_groups[ ] 文字列 ファイアウォール ルールが適用されるすべての宛先アドレス グループのリスト。

IpPortDetails

フィールド タイプ 説明
ip_protocol 文字列 ファイアウォール ルールが適用される IP プロトコル。すべてのプロトコルに適用される場合は「ALL」となります。
port_range[ ] 文字列 ルールが適用されるポート範囲のリスト。例: 8080-9090

InstanceDetails

フィールド タイプ 説明
project_id 文字列 VM を含むプロジェクトの ID
vm_name 文字列 VM のインスタンス名
region 文字列 VM のリージョン
zone 文字列 VM のゾーン

VpcDetails

フィールド タイプ 説明
project_id 文字列 ネットワークを含むプロジェクトの ID
vpc_name 文字列 VM が動作しているネットワーク
subnetwork_name 文字列 VM が動作しているサブネット

GeographicDetails

フィールド タイプ 説明
continent 文字列 外部エンドポイントの大陸
country 文字列 外部エンドポイントの国
region 文字列 外部エンドポイントのリージョン
city 文字列 外部エンドポイントの都市

次のステップ