Skip to main content

More Info:

Enable Vpc Flow Logs And Intranode Visibility To See Pod-Level Traffic, Even For Traffic Within A Worker Node.

Risk Level

Low

Address

Security

Compliance Standards

  • CIS GKE

Triage and Remediation

Remediation

Manual Steps

  1. Identify the cluster’s VPC network and subnetwork (any machine with gcloud access)
    Note the values of network, subnetwork, and networkConfig.enableIntraNodeVisibility.
  2. Review whether intranode visibility is already enabled (any machine with gcloud access)
    From the previous command’s output, check networkConfig.enableIntraNodeVisibility:
    • true → intranode visibility is enabled.
    • false or null → intranode visibility is not enabled; plan if enabling it is acceptable (extra logging, potential cost, and privacy considerations).
  3. Check current VPC Flow Logs configuration on the cluster subnet (any machine with gcloud access)
    Review enableFlowLogs and logConfig to understand current logging status and granularity.
  4. Decide on enabling VPC Flow Logs and intranode visibility
    With your security/networking team, determine:
    • Whether pod‑level and intra‑node traffic visibility is required for your threat model and compliance.
    • Acceptable log volume, retention, and access controls in Cloud Logging. If both are required and acceptable, proceed to enable them.
  5. Enable VPC Flow Logs on the subnet and intranode visibility on the cluster (any machine with gcloud access)
    a. Enable VPC Flow Logs on the subnet:
    b. Enable intranode visibility on the cluster (this may be a mutating operation on the cluster config):
  6. Verify that the configuration change is effective (any machine with gcloud access)
    a. Re-run the cluster describe command to confirm intranode visibility:
    Ensure the output is true.
    b. Re-run the subnet describe command to confirm flow logs:
    Ensure enableFlowLogs is true.
kubectl cannot enable VPC Flow Logs or Intranode Visibility because they are configured on the GCP VPC subnet and GKE cluster network settings via the cloud provider (gcloud/Console/IaC), not via Kubernetes API objects. To remediate this finding, follow the guidance in the Manual Steps section using gcloud or your infrastructure-as-code tooling.
Explanation of output and what indicates a problem:
  • Each line is a cluster:
    • intra_node_visibility is the value of .networkConfig.enableIntraNodeVisibility
    • vpc_flow_logs_enabled reflects whether VPC Flow Logs are enabled on the cluster’s subnetwork
For CIS GKE 5.6.1, a cluster is non-compliant / needs review when:
  • intra_node_visibility is false (or null), or
  • vpc_flow_logs_enabled is false or unknown-subnet-or-shared-vpc
Focus your review on rows where one or both of these columns are not true, and then follow the benchmark remediation manually using gcloud or your IaC to enable:
  • Intra-node visibility on the cluster
  • VPC Flow Logs on the associated subnetwork

Additional Reading: