Skip to main content

More Info:

Enable VPC Flow Logs and intranode visibility so network traffic to, from, and between nodes is recorded for monitoring and forensics. Without them, network-level activity is not observable.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS GKE

Triage and Remediation

Remediation

Manual Steps

  1. Identify cluster networking settings
    Run on any machine with gcloud configured:
    Review:
    • .enableIntraNodeVisibility (should be true to meet the intent of the control)
    • .network and .subnetwork (VPC and subnet used by the cluster)
  2. Check current VPC Flow Logs status for the cluster subnet
    From the previous output, note the subnetwork name (without quotes), then run:
    Review whether:
    • enable is true (Flow Logs enabled)
    • Optional: aggregationInterval, flowSampling, and metadata match your logging/forensics requirements.
  3. Decide on enabling intranode visibility
    Based on your security and performance requirements, decide whether to enable intra-node visibility (may increase load on network and logging backends). If required by your policy, plan to enable it for the cluster.
  4. Decide on enabling VPC Flow Logs
    Based on compliance, logging cost, and retention policies, decide whether to enable logConfig.enable=true for the cluster subnet. If required, plan to enable Flow Logs with appropriate sampling/aggregation settings.
  5. Apply configuration changes (if required by your decision)
    a. Enable VPC Flow Logs on the cluster subnet (any machine with gcloud):
    (Optionally add flags like --logging-aggregation-interval, --logging-flow-sampling, --logging-metadata as per your logging design.) b. Enable intranode visibility on the cluster:
  6. Verify that changes are effective
    a. Verify intranode visibility:
    Confirm the value is true. b. Verify VPC Flow Logs:
    Confirm enable is true and that other settings match your intended configuration.
kubectl cannot enable VPC Flow Logs or intranode visibility because they are configured at the GCP network and GKE cluster level, not via Kubernetes API objects. Apply the remediation using the Google Cloud Console, gcloud CLI, or your IaC tooling as described in the Manual Steps section.
Explanation of output indicating a problem:
  • Any row where intra_node_visibility_enabled is false means intra-node visibility is not enabled for that cluster.
  • Any row where subnet_flow_logs_enabled is false means VPC Flow Logs are not enabled on the subnetwork used by that cluster.
Clusters where either (or both) of these columns are false require manual review and potential remediation using the benchmark’s recommended gcloud commands.