ファイアウォール ルール ロギングを使用すると、ファイアウォール ルールの効果を監査、検証、分析できます。たとえば、トラフィックを拒否するように設計されたファイアウォール ルールが意図したとおりに機能しているかどうかを判別できます。ファイアウォール ルールロギングは、特定のファイアウォール ルールによって影響を受ける接続数を判別する必要がある場合にも役立ちます。
ファイアウォール ルールに一致する接続をログに記録する必要がある場合、そのファイアウォール ルールに対してファイアウォール ルールロギングを個別に有効化します。ルールの動作(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 ファイアウォール ルールと階層型ファイアウォール ポリシーの両方で使用できます。
ログの表示については、ファイアウォール ルール ロギングを使用するをご覧ください。
仕様
ファイアウォール ルールロギングの仕様は次のとおりです。
- ファイアウォール ルールロギングを有効化できるルールは、Virtual Private Cloud(VPC)ネットワーク内のルールに限られます。レガシー ネットワークはサポートされていません。
- ファイアウォール ルールロギングで記録される接続は、TCP 接続と UDP 接続に限られます。他のプロトコルに適用可能なファイアウォール ルールを作成することはできますが、それらの接続をログに記録することはできません。
- 暗黙の上り(内向き)拒否ルールと暗黙の下り(外向き)許可ルールに対してファイアウォール ルールロギングを有効化することはできません。
- ログエントリは VM の観点から記述されます。ログエントリが作成されるのは、ファイアウォール ルールのロギングが有効化されていて、かつ、そのルールが VM との間で送受信されるトラフィックに適用される場合のみです。エントリは、接続ロギング上限に従ってベスト エフォート ベースで作成されます。
- 特定の時間内でログに記録できる接続の数は、マシンタイプに基づきます。
- ファイアウォール ルールの変更は 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 アドレス。宛先が 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 | 文字列 | 外部エンドポイントの都市 |
次のステップ
- ロギングを設定してログを表示する。ファイアウォール ルール ロギングを使用するをご覧ください。
- ファイアウォール ルールの使用状況の分析情報を取得する。ファイアウォール インサイトをご覧ください。
- ログデータやイベントの保存、検索、分析、モニタリング、通知を行う。Cloud Logging をご覧ください。
- シンクの構成と管理で、ログエントリのルーティング方法を確認する。