Skip to main content

More Info:

Use network policies to isolate traffic in your cluster network.

Risk Level

Low

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CIS GKE
  • 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 namespaces that are missing NetworkPolicies (run on any machine with kubectl access):
    Note the namespace names returned; each needs at least one NetworkPolicy.
  2. For each namespace without a NetworkPolicy, create a default deny-all NetworkPolicy manifest file on your local machine (with kubectl access). Example for namespace example-namespace:
  3. Apply the NetworkPolicy for that namespace (run on any machine with kubectl access):
  4. (Optional but recommended) For application namespaces where you need traffic, design and apply more granular NetworkPolicies that allow required ingress/egress. Example allow ingress from same namespace for example-namespace:
  5. Repeat steps 2–4 for each namespace reported in step 1, adjusting the namespace: field and filenames accordingly.
  6. Verification (run on any machine with kubectl access):
    Confirm the output is:
Create a baseline “default-deny ingress” NetworkPolicy for each application namespace that is missing one. Adjust namespaces and allowed traffic as appropriate for your environment.Example: if the audit output contains:
  • FOUND_NAMESPACE_WITHOUT_NETWORKPOLICY:dev
  • FOUND_NAMESPACE_WITHOUT_NETWORKPOLICY:prod
create policies like below.
If you want to allow intra-namespace traffic but still isolate from other namespaces, use this pattern instead:
Repeat for each non-excluded namespace reported by the audit until all have at least one appropriate NetworkPolicy.

Additional Reading: