Skip to main content

🛡️ Google Cloud SQL Instance has public IP addresses🟢

Logic

Similar Policies

Description

Open File

Description

It is recommended to configure second generation SQL instances to use private IPs instead of public IPs.

Rationale

To lower the organization's attack surface, Cloud SQL databases should not have public IPs. Private IPs provide improved network security and lower latency for your application.

Impact

Removing the public IP address on SQL instances may break some applications that relied on it for database connectivity.

Audit

From Google Cloud Console
  1. Go to the Cloud SQL Instances page in the Google Cloud Console: https://console.cloud.google.com/sql/instances
  2. Ensure that every instance has a private IP address and no public IP address configured.
From Google Cloud CLI
  1. List all Cloud SQL database instances using the following command:

    gcloud sql instances list
  2. For every instance of type instanceType: CLOUD_SQL_INSTANCE with backendType: SECOND_GEN, get detailed configuration. Ignore instances of type READ_REPLICA_INSTANCE because these instances inherit their settings from the primary instance. Also, note that first generation instances cannot be configured to have a private IP address.

... see more

Remediation

Open File

Remediation

From Google Cloud Console

  1. Go to the Cloud SQL Instances page in the Google Cloud Console: https://console.cloud.google.com/sql/instances
  2. Click the instance name to open its Instance details page.
  3. Select the Connections tab.
  4. Deselect the Public IP checkbox.
  5. Click Save to update the instance.

From Google Cloud CLI

  1. For every instance, remove its public IP and assign a private IP instead:

    gcloud sql instances patch {{instance-name}} \
    --network={{vpc-network-name}} \
    --no-assign-ip
  2. Confirm the changes using the following command:

    gcloud sql instances describe {{instance-name}}

policy.yaml

Open File

Linked Framework Sections

SectionSub SectionsInternal RulesPoliciesFlagsCompliance
💼 CIS GCP v1.2.0 → 💼 6.6 Ensure that Cloud SQL database instances do not have public IPs - Level 2 (Automated)1no data
💼 CIS GCP v1.3.0 → 💼 6.6 Ensure That Cloud SQL Database Instances Do Not Have Public IPs - Level 2 (Automated)1no data
💼 CIS GCP v2.0.0 → 💼 6.6 Ensure That Cloud SQL Database Instances Do Not Have Public IPs - Level 2 (Automated)1no data
💼 CIS GCP v3.0.0 → 💼 6.6 Ensure That Cloud SQL Database Instances Do Not Have Public IPs - Level 2 (Automated)1no data
💼 Cloudaware Framework → 💼 Network Exposure132no data
💼 FedRAMP High Security Controls → 💼 AC-3 Access Enforcement (L)(M)(H)3784no data
💼 FedRAMP High Security Controls → 💼 AC-5 Separation of Duties (M)(H)17no data
💼 FedRAMP High Security Controls → 💼 AC-6 Least Privilege (M)(H)81179no data
💼 FedRAMP High Security Controls → 💼 MA-4 Nonlocal Maintenance (L)(M)(H)11no data
💼 FedRAMP High Security Controls → 💼 MP-2 Media Access (L)(M)(H)13no data
💼 FedRAMP Low Security Controls → 💼 AC-3 Access Enforcement (L)(M)(H)84no data
💼 FedRAMP Low Security Controls → 💼 MA-4 Nonlocal Maintenance (L)(M)(H)1no data
💼 FedRAMP Low Security Controls → 💼 MP-2 Media Access (L)(M)(H)13no data
💼 FedRAMP Moderate Security Controls → 💼 AC-3 Access Enforcement (L)(M)(H)84no data
💼 FedRAMP Moderate Security Controls → 💼 AC-5 Separation of Duties (M)(H)17no data
💼 FedRAMP Moderate Security Controls → 💼 AC-6 Least Privilege (M)(H)679no data
💼 FedRAMP Moderate Security Controls → 💼 MA-4 Nonlocal Maintenance (L)(M)(H)1no data
💼 FedRAMP Moderate Security Controls → 💼 MP-2 Media Access (L)(M)(H)13no data
💼 ISO/IEC 27001:2022 → 💼 5.10 Acceptable use of information and other associated assets1127no data
💼 ISO/IEC 27001:2022 → 💼 5.15 Access control1431no data
💼 ISO/IEC 27001:2022 → 💼 8.3 Information access restriction1024no data
💼 ISO/IEC 27001:2022 → 💼 8.4 Access to source code822no data
💼 NIST CSF v1.1 → 💼 PR.AC-4: Access permissions and authorizations are managed, incorporating the principles of least privilege and separation of duties1756no data
💼 NIST CSF v2.0 → 💼 PR.AA-05: Access permissions, entitlements, and authorizations are defined in a policy, managed, enforced, and reviewed, and incorporate the principles of least privilege and separation of duties133no data
💼 NIST CSF v2.0 → 💼 PR.DS-10: The confidentiality, integrity, and availability of data-in-use are protected184no data
💼 NIST CSF v2.0 → 💼 PR.IR-01: Networks and environments are protected from unauthorized logical access and usage123no data
💼 NIST SP 800-53 Revision 5 → 💼 AC-3 Access Enforcement15559no data
💼 NIST SP 800-53 Revision 5 → 💼 AC-5 Separation of Duties17no data
💼 NIST SP 800-53 Revision 5 → 💼 AC-6 Least Privilege102372no data
💼 NIST SP 800-53 Revision 5 → 💼 MA-4 Nonlocal Maintenance71no data
💼 NIST SP 800-53 Revision 5 → 💼 MP-2 Media Access213no data
💼 PCI DSS v3.2.1 → 💼 1.2.1 Restrict inbound and outbound traffic to that which is necessary for the cardholder data environment, and specifically deny all other traffic.1065no data
💼 PCI DSS v4.0.1 → 💼 1.3.1 Inbound traffic to the CDE is restricted.65no data
💼 PCI DSS v4.0.1 → 💼 1.3.2 Outbound traffic from the CDE is restricted.65no data
💼 PCI DSS v4.0 → 💼 1.3.1 Inbound traffic to the CDE is restricted.765no data
💼 PCI DSS v4.0 → 💼 1.3.2 Outbound traffic from the CDE is restricted.65no data
💼 SOC 2 → 💼 CC5.2-2 Establishes Relevant Technology Infrastructure Control Activities7no data
💼 SOC 2 → 💼 CC5.2-3 Establishes Relevant Security Management Process Controls Activities1536no data
💼 SOC 2 → 💼 CC6.1-3 Restricts Logical Access122no data
💼 SOC 2 → 💼 CC6.1-7 Restricts Access to Information Assets1327no data