Documentation GuidesZero-Trust prototype v1.0.0
Security & OCI Sandboxing
3-layer defense-in-depth isolation, host blocking middleware, and pluggable OCI runtime strategies.
Security & OCI Sandboxing
prototype enforces multi-layer isolation to prevent containerized workloads from accessing the host management control plane or local network services.
🛡️ 3-Layer Defense-in-Depth Model
Isolation is enforced across network boundaries, application HTTP middleware, and kernel capability controls.
Architecture Diagram
Rendering architecture diagram...
| Layer | Threat Mitigated | Technical Enforcement |
|---|---|---|
| 1. Network Boundary | Local LAN/WAN Scanning | Explicit 127.0.0.1 binding and null-routing host.docker.internal:127.0.0.1 inside containers. |
| 2. Host Middleware | REST API Tampering from Containers | ContainerHostIsolationMiddleware rejects requests originating from Docker bridge subnets (172.16.0.0/12). |
| 3. Kernel Hardening | Privilege Escalation & Fork Bombs | Strips capabilities (CapDrop: ALL), enforces no-new-privileges: true, and applies Seccomp syscall filters. |
📦 Pluggable OCI Runtime Strategies
Run workstations under standard Linux cgroups, user-space virtualized kernels, or hardware-isolated microVMs.
| Runtime | Isolation Level | Memory Overhead | Best Suited For |
|---|---|---|---|
runc (Default) | Linux Namespaces + cgroups v2 | ~0 MB (Native) | Daily development, VS Code, daily web coding |
runsc (gVisor) | Intercepted User-Space Virtual Kernel | ~15-30 MB | Untrusted script execution, dynamic analysis, zero-trust sandboxes |
kata-runtime | Hardware QEMU / Cloud-Hypervisor MicroVM | ~100 MB | Multi-tenant isolation with hardware hypervisor boundaries |
crun | Fast C-Based Native OCI Runtime | Minimal | Low-latency microservices and batch workloads |
Host Docker Daemon Registration
Register alternate OCI runtimes in /etc/docker/daemon.json and restart the Docker engine:
json
{
"runtimes": {
"runsc": {
"path": "/usr/bin/runsc"
},
"kata-runtime": {
"path": "/usr/bin/kata-runtime"
},
"crun": {
"path": "/usr/bin/crun"
}
}
}
🔒 Kernel Capabilities & Safe Profile
Containers drop all capabilities by default, retaining only strictly unprivileged permissions necessary for desktop initialization:
yaml
# Default Hardened Capability Profile
cap_drop:
- ALL
cap_add:
- CHOWN
- DAC_OVERRIDE
- FOWNER
- SETGID
- SETUID
- NET_BIND_SERVICE
- KILL
security_opt:
- no-new-privileges:true