Skip to main content

More Info:

Verifies each application namespace has a default-deny ingress NetworkPolicy. Without one, every pod is reachable from every other pod.

Risk Level

High

Address

Security

Compliance Standards

  • Cloudanix Best Practice

Triage and Remediation

Remediation

Manual Steps

  1. List non-system namespaces that are missing a default-deny ingress NetworkPolicy (run on any machine with kubectl access):
  2. For one non-compliant namespace (replace your-namespace with the actual name), create a manifest file defining a default-deny ingress NetworkPolicy (run on any machine with kubectl access):
  3. Apply the default-deny ingress NetworkPolicy for that namespace (run on any machine with kubectl access):
  4. Repeat steps 2–3 for each non-system namespace reported in step 1, changing the filename and the namespace: field (run on any machine with kubectl access).
  5. (Optional but recommended) Define additional, more specific NetworkPolicies in each namespace to allow only the necessary ingress flows for your applications (run on any machine with kubectl access, using your own manifests and requirements):
  6. Verify that every non-system namespace now has at least one default-deny ingress NetworkPolicy (run on any machine with kubectl access):
Verification (adapted from the audit):