Firewall Rules Logging

Firewall Rules Logging lets you audit, verify, and analyze the effects of your firewall rules. For example, you can determine if a firewall rule designed to deny traffic is functioning as intended. Firewall Rules Logging is also useful if you need to determine how many connections are affected by a given firewall rule.

You enable Firewall Rules Logging individually for each firewall rule whose connections you need to log. Firewall Rules Logging is an option for any firewall rule, regardless of the action (allow or deny) or direction (ingress or egress) of the rule.

Firewall Rules Logging logs traffic to and from Compute Engine virtual machine (VM) instances. This includes Trusted Cloud by S3NS products built on Compute Engine VMs, such as Google Kubernetes Engine (GKE) clusters and App Engine flexible environment instances.

When you enable logging for a firewall rule, Trusted Cloud by S3NS creates an entry called a connection record each time the rule allows or denies traffic. You can view these records in Cloud Logging, and you can export logs to any destination that Cloud Logging export supports.

Each connection record contains the source and destination IP addresses, the protocol and ports, date and time, and a reference to the firewall rule that applied to the traffic.

Firewall Rules Logging is available for both VPC firewall rules and hierarchical firewall policies.

For information about viewing logs, see Use Firewall Rules Logging.

Specifications

Firewall Rules Logging has the following specifications:

Firewall log format

Subject to the specifications, a log entry is created in Cloud Logging for each firewall rule that has logging enabled if that rule applies to traffic to or from a VM instance. Log records are included in the JSON payload field of a Logging LogEntry.

Log records contain base fields, which are the core fields of every log record, and metadata fields that add additional information. You can control whether metadata fields are included. If you omit them, you can save on storage costs.

Some log fields support values that are also fields. These fields can have more than one piece of data in a given field. For example, the connection field is of the IpConnection format, which contains the source and destination IP address and port, plus the protocol, in a single field. These fields are described in the following tables.

Field Description Field type: Base or optional metadata
connection IpConnection
5-Tuple describing the source and destination IP address, source and destination port, and IP protocol of this connection.
Base
disposition string
Indicates whether the connection was ALLOWED or DENIED.
Base
rule_details RuleDetails
Details of the rule that was applied to this connection.
rule_details.reference field Base
Other rule detail fields Metadata
instance InstanceDetails
VM instance details. In a Shared VPC configuration, project_id corresponds to that of the service project.
Metadata
vpc VpcDetails
VPC network details. In a Shared VPC configuration, project_id corresponds to that of the host project.
Metadata
remote_instance InstanceDetails
If the remote endpoint of the connection was a VM located in the Compute Engine, this field is populated with VM instance details.
Metadata
remote_vpc VpcDetails
If the remote endpoint of the connection was a VM that is located in a VPC network, this field is populated with the network details.
Metadata
remote_location GeographicDetails
If the remote endpoint of the connection was external to the VPC network, this field is populated with available location metadata.
Metadata

IpConnection

Field Type Description
src_ip string Source IP address. If the source is a Compute Engine VM, src_ip is either the primary internal IP address or an address in an alias IP range of the VM's network interface. The external IP address is not shown. Logging shows the IP address of the VM as the VM sees it on the packet header, the same as if you ran TCP dump on the VM.
src_port integer Source port
dest_ip string Destination IP address. If the destination is a Trusted Cloud VM, dest_ip is either the primary internal IP address or an address in an alias IP range of the VM's network interface. The external IP address is not shown even if it was used in making the connection.
dest_port integer Destination port
protocol integer IP protocol of the connection

RuleDetails

Field Type Description
reference string Reference to the firewall rule; format:
"network:{network name}/firewall:{firewall_name}"
priority integer The priority for the firewall rule.
action string ALLOW or DENY
source_range[ ] string List of source ranges that the firewall rule applies to.
destination_range[ ] string List of destination ranges that the firewall rule applies to.
ip_port_info[ ] IpPortDetails List of IP protocols and applicable port ranges for rules.
direction string The direction that the firewall rule applies to (ingress or egress).
source_tag[ ] string List of all the source tags that the firewall rule applies to.
target_tag[ ] string List of all the target tags that the firewall rule applies to.
source_service_account[ ] string List of all the source service accounts that the firewall rule applies to.
target_service_account[ ] string List of all the target service accounts that the firewall rule applies to.
source_region_code[ ] string List of all the source country codes that the firewall rule applies to.
destination_region_code[ ] string List of all the destination country codes that the firewall rule applies to.
source_fqdn[ ] string List of all the source domain names that the firewall rule applies to.
destination_fqdn[ ] string List of all the destination domain names that the firewall rule applies to.
source_address_groups[ ] string List of all the source address groups that the firewall rule applies to.
destination_address_groups[ ] string List of all the destination address groups that the firewall rule applies to.

IpPortDetails

Field Type Description
ip_protocol string IP protocol that the firewall rule applies to. "ALL" if applies to all protocols.
port_range[ ] string List of applicable port ranges for rules; for example, 8080-9090.

InstanceDetails

Field Type Description
project_id string ID of the project containing the VM
vm_name string Instance name of the VM
region string Region of the VM
zone string Zone of the VM

VpcDetails

Field Type Description
project_id string ID of the project containing the network
vpc_name string Network on which the VM is operating
subnetwork_name string Subnet on which the VM is operating

GeographicDetails

Field Type Description
continent string Continent for external endpoints
country string Country for external endpoints
region string Region for external endpoints
city string City for external endpoints

What's next