Ensure that SSH access is restricted from the internet

MEDIUM

Description

Description:

GCP 'Firewall Rules' are specific to a 'VPC Network'. Each rule either 'allows' or 'denies' traffic when its conditions are met. Its conditions allow the user to specify the type of traffic, such as ports and protocols, and the source or destination of the traffic, including IP addresses, subnets, and instances.

Firewall rules are defined at the VPC network level and are specific to the network in which they are defined. The rules themselves cannot be shared among networks. Firewall rules only support IPv4 traffic. When specifying a source for an ingress rule or a destination for an egress rule by address, only an 'IPv4' address or 'IPv4 block in CIDR' notation can be used. Generic '(0.0.0.0/0)' incoming traffic from the internet to VPC or VM instance using 'SSH' on 'Port 22' can be avoided.

Rationale:

GCP 'Firewall Rules' within a 'VPC Network' apply to outgoing (egress) traffic from instances and incoming (ingress) traffic to instances in the network. Egress and ingress traffic flows are controlled even if the traffic stays within the network (for example, instance-to-instance communication).
For an instance to have outgoing Internet access, the network must have a valid Internet gateway route or custom route whose destination IP is specified. This route simply defines the path to the Internet, to avoid the most general '(0.0.0.0/0)' destination 'IP Range' specified from the Internet through 'SSH' with the default 'Port 22'. Generic access from the Internet to a specific IP Range needs to be restricted.

All Secure Shell (SSH) connections from outside of the network to the concerned VPC(s) will be blocked. There could be a business need where SSH access is required from outside of the network to access resources associated with the VPC. In that case, specific source IP(s) should be mentioned in firewall rules to white-list access to SSH port for the concerned VPC(s).

Remediation

From the Console:

  1. Go to 'VPC Network'.
  2. Go to the 'Firewall Rules'.
  3. Click the 'Firewall Rule' you want to modify.
  4. Click 'Edit'.
  5. Modify 'Source IP ranges' to specific 'IP'.
  6. Click 'Save'.

From Command Line:

1.Update the Firewall rule with the new 'SOURCE_RANGE' from the below command:

gcloud compute firewall-rules update FirewallName --allow=[PROTOCOL[:PORT[-PORT]],...] --source-ranges=[CIDR_RANGE,...].

Policy Details

Rule Reference ID: AC_GCP_0292
CSP: GCP
Remediation Available: Yes
Resource Category: Virtual Network
Resource Type: Network Firewall

Frameworks