Skip to main content

More Info:

Enable Master Authorized Networks to restrict access to the clusters control plane (master endpoint) to an allowlist of authorized IP addresses.

Risk Level

High

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CIS OKE
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Manual Steps

  1. List current control plane access configuration
    • On any machine with gcloud and the correct project/permissions:
    • Review masterAuthorizedNetworksConfig:
      • If enabled: true and cidrBlocks is populated with specific IP ranges, MAN is enabled.
      • If it is absent, enabled: false, or 0.0.0.0/0 is present, the control plane is overly exposed.
  2. Identify legitimate admin and automation source IPs
    • Collect the public IPs (or ranges) used by:
      • Platform/cluster administrators.
      • CI/CD systems, bastion hosts, VPNs, and on‑prem connectivity endpoints that need kubectl access.
    • Prefer stable ranges: VPN egress IPs, corporate NAT ranges, or bastion hosts over individual, dynamic user IPs.
  3. Decide the target allowed IP ranges
    • Normalize and consolidate IPs into the smallest sensible set of CIDR blocks (e.g. 203.0.113.10/32, 198.51.100.0/24).
    • Explicitly decide whether any broad ranges (e.g. 0.0.0.0/0, /16) are truly required; in most cases they should be removed.
    • Confirm with stakeholders that all operationally required access is covered by the finalized allowlist.
  4. Configure / tighten Master Authorized Networks
    • Using the Google Cloud Console:
      • Go to: Kubernetes Engine → Clusters → select the cluster.
      • Edit the cluster → Networking / Security section.
      • Enable “Master Authorized Networks” (if disabled).
      • Add each approved CIDR block; remove any unapproved or overly broad ranges.
      • Save and apply changes (this may trigger a control plane update operation).
    • Or using gcloud on any machine with access:
    • Be careful not to exclude your own current IP; otherwise, further kubectl and gcloud access to the API endpoint may be blocked.
  5. (Optional) Combine with private control plane if feasible
    • If your environment supports it and it fits your network design, review whether the cluster is (or should be) a private cluster, limiting the control plane to internal addresses:
    • Decide, with your network/security teams, whether converting to or using a private cluster plus MAN further improves your exposure posture.
  6. Verify remediation and document rationale
    • On any machine with gcloud:
    • Confirm:
      • enabled: true is present.
      • cidrBlocks only contains your approved ranges; no 0.0.0.0/0 or unnecessary broad CIDRs.
    • Capture the output and the business justification for each allowed CIDR in your change records or security documentation for future audits.
kubectl cannot configure the control plane endpoint or Master Authorized Networks; this setting is managed at the cloud provider / managed control plane level (console, provider CLI, or IaC). Refer to the Manual Steps section for how to review and change this configuration in your provider.
Explanation of problematic output:
  • Focus on the master_authorized_networks_enabled column:
    • false indicates the control plane endpoint is not restricted by Master Authorized Networks and should be reviewed.
  • Even when master_authorized_networks_enabled is true, review the allowed_cidrs:
    • Very broad ranges like 0.0.0.0/0, ::/0, or organizationally-uncontrolled CIDRs are problematic and should be tightened.
  • Consider endpoint_private:
    • If endpoint_private is false (public endpoint) and master_authorized_networks_enabled is false or has overly broad CIDRs, this is especially high risk.