$> finger $(whoami)
Login: vbatts Name: Vincent Batts
Directory: /home/vbatts Shell: /bin/bash
Such mail.
Plan:
OHMAN
$> id -Gn
devel opencontainers docker appc redhat golang slackware
Kernel's Guarantee:
DON'T BREAK USERSPACE
But what is there to break?
It's sprawling surface to deal with
Context of errors is in kernelspace, not userspace
EPERM
EACCES
Share the host's kernel
Crashes and Exploits alike
virtualizing by "namespacing" kernel resources and concepts
Isolation by control groups, syscall filtering, and Linux Security Modules (SELinux, apparmor, etc.)
unshare() and namespaces
Orthogonal in nature
Varying levels of maturity
Drastically increase complexity and attack surface
User Namespace
OpenShift (and others) are opting for just explicitly running as non-root UID
`runc' can now launch non-root containers directly
Access to Docker daemon means root privilege. Period.
LSM (Linux Security Modules)
Capabilities
Syscalls
grsecurity
Audit
Signing