防火墙规则日志记录

通过防火墙规则日志记录,您可以审核、验证和分析防火墙规则所带来的影响。例如,您可以确定用于拒绝流量的防火墙规则是否如期发挥作用。如果您需要确定某特定防火墙规则影响的连接数,防火墙规则日志记录也非常有用。

对于您需要记录其连接的每一条防火墙规则,您都要单独启用防火墙规则日志记录。防火墙规则日志记录选项适用于所有防火墙规则,与规则的操作(allowdeny)或方向(入站或出站)无关。

防火墙规则日志记录会记录进出 Compute Engine 虚拟机实例的流量。这包括在 Compute Engine 虚拟机上构建的Trusted Cloud by S3NS 产品,例如 Google Kubernetes Engine (GKE) 集群App Engine 柔性环境实例。

启用防火墙规则日志记录后, Trusted Cloud by S3NS 会在规则允许或拒绝流量时创建称为连接记录的条目。您可以在 Cloud Logging 中查看这些记录,并将日志导出至 Cloud Logging 导出功能支持的任意目的地。

每一条连接记录都包含来源和目的地 IP 地址、协议和端口、日期和时间,以及对流量所应用的防火墙规则的引用。

防火墙规则日志记录可用于 VPC 防火墙规则和分层防火墙政策。

如需了解如何查看日志,请参阅使用防火墙规则日志记录

规格

防火墙规则日志记录具有以下规范:

防火墙日志格式

根据规范,如果对进出虚拟机实例的流量应用了已启用日志记录的防火墙规则,则系统会在 Cloud Logging 中为每条规则生成一个日志条目。日志记录包含在 Logging LogEntry 的 JSON 载荷字段中。

日志记录包含基本字段(即每个日志记录的核心字段)以及添加额外信息的元数据字段。您可以控制是否包含元数据字段。如果省略,则可以节省存储费用。

某些日志字段支持的值也是字段。这些字段可以在给定字段中包含多段数据。例如,connection 字段采用 IpConnection 格式,它在单个字段中包含来源 IP 地址和目的地 IP 地址、端口以及协议。下表介绍了这些字段。

字段 说明 字段类型:基本或可选元数据
connection IpConnection
一个 5 元组,它表示此连接的源 IP 地址、目标 IP 地址、源端口、目标端口以及 IP 协议。
基本
disposition string
指示连接是 ALLOWED 还是 DENIED
基本
rule_details RuleDetails
此连接所应用的规则的详细信息。
rule_details.reference 字段 基本
其他规则详细信息字段 元数据
instance InstanceDetails
虚拟机实例详细信息。在共享 VPC 配置中,project_id 与服务项目的此内容相对应。
元数据
vpc VpcDetails
VPC 网络详细信息。在共享 VPC 配置中,project_id 与宿主项目的相应参数相对应。
元数据
remote_instance InstanceDetails
如果连接的远程端点是位于 Google Compute Engine 中的虚拟机,则此字段会填充虚拟机实例详细信息。
元数据
remote_vpc VpcDetails
如果连接的远程端点是位于 VPC 网络中的虚拟机,则此字段会填充网络详细信息。
元数据
remote_location GeographicDetails
如果连接的远程端点在 VPC 网络的外部,则此字段会填充可用位置元数据。
元数据

IpConnection

字段 类型 说明
src_ip 字符串 来源 IP 地址。如果来源是 Compute Engine 虚拟机,则 src_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。系统不显示外部 IP 地址。如果虚拟机在数据包标头上发现虚拟机的 IP 地址,则 Logging 将显示此地址,这与您在虚拟机上运行 TCP 转储一样。
src_port 整数 来源端口
dest_ip 字符串 目的地 IP 地址。如果目的地是 Trusted Cloud 虚拟机,则 dest_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。即使使用外部 IP 地址进行连接,系统也不会显示此地址。
dest_port 整数 目标端口
协议 整数 连接的 IP 协议

RuleDetails

字段 类型 说明
引用 字符串 对防火墙规则的引用;格式:
"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 字符串 包含此虚拟机的项目的 ID
vm_name 字符串 虚拟机的实例名称
区域 字符串 虚拟机的区域
可用区 字符串 虚拟机的地区

VpcDetails

字段 类型 说明
project_id 字符串 包含此网络的项目的 ID
vpc_name 字符串 运行虚拟机的网络
subnetwork_name 字符串 运行虚拟机的子网

GeographicDetails

字段 类型 说明
continent 字符串 外部端点所在的大洲
国家/地区 字符串 外部端点所在的国家/地区
区域 字符串 外部端点所在的区域
城市 字符串 外部端点所在的城市

后续步骤