unprivileged containers
play

Unprivileged Containers Jess Frazelle, @jessfraz How do containers - PowerPoint PPT Presentation

Unprivileged Containers Jess Frazelle, @jessfraz How do containers help security? Containers are not going to be the answer to preventing your application from being compromised, but they can limit the damage from a compromise. How do


  1. Unprivileged Containers Jess Frazelle, @jessfraz

  2. How do containers help security? Containers are not going to be the answer to preventing your application from being compromised, but they can limit the damage from a compromise.

  3. How do containers help security? The world an attacker might see from inside a very strict container with custom AppArmor/Seccomp profiles greatly differs than that without the use of containers.

  4. Sandboxes Today

  5. Chrome - Seccomp - Namespaces - Apparmor - NOT RUN AS ROOT

  6. Containers today - Namespaces - Apparmor - Selinux - Capabilities Limiting - Cgroups - Run as root :(

  7. How can we get to sandboxes with containers?

  8. Back to the Basics A “container” is what we have come to call a group of namespaces and control groups applied to a process.

  9. Control Groups (cgroups) Limit what the process can use. Resource metering and limiting. Types: memory, CPU, blkio, network, device, pid..

  10. PID Cgroup

  11. Namespaces Limit what the process sees. Types: pid, net, mnt, uts, ipc, user Created with clone() or unshare()

  12. Net Namespace

  13. UTS Namespace

  14. IPC Namespace

  15. PID Namespace

  16. User Namespace

  17. Makings of a Sandbox: Containers - Namespaces NOT RUN - Apparmor - Selinux AS ROOT - Capabilities Limiting - Cgroups

  18. POC or GTFO

  19. POC or GTFO

  20. What is this sorcery? - User namespaces can be created without root. - But only if the {uid,gid}_map is mapped to the current user creating the namespace.

  21. Not Perfect …. yet - Cgroups devices cannot be created without CAP_SYS_ADMIN

  22. New Hotness: Cgroup Namespace - In Kernels 4.6+, not yet released, on RC5 currently - False prophet to solve all the problems, but maybe in the future.

  23. Cgroup Namespace

  24. What to look forward to... - Containers in a multi-tenant environment not run as root. - Sane defaults with the ability to customize for a sandbox experience. - Better designed user experiences for dealing with security policies.

  25. Resources https://github.com/docker/docker/issues/17142 http://www.sysdig.org/falco/

Recommend


More recommend