turbot/gcp_compliance

Control: 3.1 Ensure That the Default Network Does Not Exist in a Project

Description

To prevent use of default network, a project should not have a default network.

The default network has a preconfigured network configuration and automatically generates the following insecure firewall rules:

  • default-allow-internal: Allows ingress connections for all protocols and ports among instances in the network.
  • default-allow-ssh: Allows ingress connections on TCP port 22(SSH) from any source to any instance in the network.
  • default-allow-rdp: Allows ingress connections on TCP port 3389(RDP) from any source to any instance in the network.
  • default-allow-icmp: Allows ingress ICMP traffic from any source to any instance in the network.

These automatically created firewall rules do not get audit logged by default.

Furthermore, the default network is an auto mode network, which means that its subnets use the same predefined range of IP addresses, and as a result, it's not possible to use Cloud VPN or VPC Network Peering with the default network.

Based on organization security and networking requirements, the organization should create a new network and delete the default network.

Remediation

From Console

  1. Login to the VPC networks page by visiting: https://console.cloud.google.com/networking/networks/list.
  2. Click the network named default.
  3. On the network detail page, click EDIT.
  4. Click DELETE VPC NETWORK.
  5. If needed, create a new network to replace the default network.

From Command Line

For each Google Cloud Platform project,

  1. Delete the default network:
gcloud compute networks delete default
  1. If needed, create a new network to replace it:
gcloud compute networks create NETWORK_NAME

Prevention

The user can prevent the default network and its insecure default firewall rules from being created by setting up an Organization Policy to Skip default network creation at https://console.cloud.google.com/iam-admin/orgpolicies/compute-skipDefaultNetworkCreation.

Default Value

By default, for each project, a default network is created.

Usage

Run the control in your terminal:

powerpipe control run gcp_compliance.control.cis_v300_3_1

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run gcp_compliance.control.cis_v300_3_1 --share

SQL

This control uses a named query:

compute_network_contains_no_default_network

Tags