Container Escape Prevention Policy
This guide demonstrates how to configure Kyverno to prevent container escape attacks by blocking high-risk container configurations that could allow containers to break out of their isolation boundaries.
TOC
What is Container Escape Prevention?Quick Start1. Block Privileged Containers2. Test the PolicyCore Container Escape Prevention PoliciesPolicy 1: Disallow Host Namespace AccessPolicy 2: Disallow Host Path MountsPolicy 3: Disallow Host PortsPolicy 4: Disallow Dangerous CapabilitiesPolicy 5: Require Non-Root ContainersAdvanced ScenariosScenario 1: Environment-Specific PoliciesScenario 2: Workload-Specific ExceptionsTesting and ValidationTest Privileged ContainerTest Host Namespace AccessTest Host Path MountTest Valid Secure ContainerBest Practices1. Start with Audit Mode2. Exclude System NamespacesWhat is Container Escape Prevention?
Container escape prevention involves detecting and blocking dangerous container configurations that could allow attackers to escape container isolation and gain access to the host system. This includes:
- Privileged containers: Containers running with elevated privileges
- Host namespace access: Containers sharing host PID, network, or IPC namespaces
- Host path mounts: Containers mounting host filesystem paths
- Dangerous capabilities: Containers with excessive Linux capabilities
- Host port access: Containers binding to host network ports
Quick Start
1. Block Privileged Containers
2. Test the Policy
Core Container Escape Prevention Policies
Policy 1: Disallow Host Namespace Access
Prevent containers from accessing host namespaces:
Policy 2: Disallow Host Path Mounts
Block containers from mounting host filesystem paths:
Policy 3: Disallow Host Ports
Prevent containers from binding to host network ports:
Policy 4: Disallow Dangerous Capabilities
Block containers from adding dangerous Linux capabilities:
Policy 5: Require Non-Root Containers
Ensure containers run as non-root users:
Advanced Scenarios
Scenario 1: Environment-Specific Policies
Different security levels for different environments:
Scenario 2: Workload-Specific Exceptions
Allow specific workloads with controlled exceptions: