ファイアウォール ルール ロギングを使用すると、ファイアウォール ルールの効果を監査、検証、分析できます。たとえば、トラフィックを拒否するように設計されたファイアウォール ルールが意図したとおりに機能しているかどうかを判別できます。ファイアウォール ルール ロギングは、特定のファイアウォール ルールによって影響を受ける接続数を確認する必要がある場合にも役立ちます。
ファイアウォール ルールに一致する接続をログに記録する必要がある場合、そのファイアウォール ルールに対してファイアウォール ルールロギングを個別に有効にします。ルールの動作(allow
、deny
)や方向(上り、下り)に関係なく、あらゆるファイアウォール ルールに任意でファイアウォール ルールロギングを有効化できます。
ファイアウォール ルールのロギングでは、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 ファイアウォール ルールと階層型ファイアウォール ポリシーの両方で使用できます。
ログの表示については、ファイアウォール ルール ロギングを使用するをご覧ください。
仕様
ファイアウォール ルールロギングの仕様は次のとおりです。
ファイアウォール ルール ロギングは、次の対象に対して有効にできます。
通常の VPC ネットワークに関連付けられている階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシーのファイアウォール ルール。
通常の VPC ネットワークの VPC ファイアウォール ルール。
RoCE VPC ネットワークに関連付けられているリージョン ネットワーク ファイアウォール ポリシーのファイアウォール ルール。
ファイアウォール ルールロギングは、次の機能をサポートしていません。
レガシー ネットワークの VPC ファイアウォール ルール。
標準 VPC ネットワークの暗黙の上り(内向き)拒否ルールと暗黙の下り(外向き)許可ルール。
RoCE VPC ネットワークの暗黙の上り(内向き)と下り(外向き)の許可ルール。
ファイアウォール ルール ロギングで記録されるのは、TCP 接続と UDP 接続のみです。他のプロトコルに適用されるファイアウォール ルールを作成することはできますが、それらの接続をログに記録することはできません。
ログエントリは VM の観点から記述されます。ログエントリが作成されるのは、ファイアウォール ルールのロギングが有効化されていて、かつ、そのルールが VM との間で送受信されるトラフィックに適用される場合のみです。エントリは、接続ロギング上限に従ってベスト エフォート ベースで作成されます。
ファイアウォール ルール ロギングが単位時間あたりにロギングできる接続数:
通常の VPC ネットワークでは、マシンタイプに基づきます。
RoCE VPC ネットワークの場合、ファイアウォール ルールのモニタリングまたはロギング アクションに依存します。
ファイアウォール ルールの変更は VPC 監査ログで確認できます。
ファイアウォール ログ形式
仕様に従い、ロギングが有効化されているファイアウォール ルールが VM インスタンスへのトラフィックまたは VM インスタンスからのトラフィックに適用されるたびに、Cloud Logging 内にログエントリが作成されます。ログレコードは、Logging の LogEntry の JSON ペイロード フィールドに含まれます。
ログレコードには、各ログレコードのコアフィールドであるベース フィールドと、詳細情報を追加するメタデータ フィールドが含まれています。メタデータ フィールドを含めるかどうかを制御できます。省略すると、ストレージ費用の節約が可能です。
一部のログフィールドでは、フィールドでもある値がサポートされています。これらのフィールドには、所定のフィールドに複数のデータを含めることができます。たとえば、connection
フィールドは IpConnection
形式で、送信元と宛先の IP アドレスとポート、およびプロトコルが 1 つのフィールドに格納されます。これらのフィールドを次の表で説明します。
フィールド | 説明 | フィールド タイプ: 基本またはオプションのメタデータ |
---|---|---|
connection | IpConnection 送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、この接続の IP プロトコルを記述する 5 タプル。 |
基本 |
disposition | string 接続が ALLOWED か DENIED かを示します。 |
基本 |
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 アドレス。宛先が Trusted Cloud VM の場合、dest_ip はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 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 | 文字列 | 外部エンドポイントの都市 |
次のステップ
- ロギングを設定してログを表示する。ファイアウォール ルール ロギングを使用するをご覧ください。
- ファイアウォール ルールの使用状況の分析情報を取得する。ファイアウォール インサイトをご覧ください。
- ログデータやイベントの保存、検索、分析、モニタリング、通知を行う。Cloud Logging をご覧ください。
- シンクの構成と管理で、ログエントリのルーティング方法を確認する。