SlideShare a Scribd company logo
Containers, Docker,
and Security:
State ofthe Union
1 / 43
Who am I?
Jérôme Petazzoni (@jpetazzo)
French software engineer living in California
Joined Docker (dotCloud) almost 5 years ago
(I was at Docker before it was cool!)
I built and scaled the dotCloud PaaS
(millions of containers, no known security issues)
I learned a few things about running containers
(in production)
2 / 43
Outline
Yesterday
Today
Tomorrow
3 / 43
Yesterday
4 / 43
Containers and Security yesterday
Yesterday = Summer 2014.
At LinuxCon and OSCON, I gave a talk to answer the question:
"Is it safe to run applications in containers?"
5 / 43
Containers and Security yesterday
Yesterday = Summer 2014.
At LinuxCon and OSCON, I gave a talk to answer the question:
"Is it safe to run applications in containers?"
this really meant
"Can one container break out, and into another?"
6 / 43
Containers and Security yesterday
Yesterday = Summer 2014.
At LinuxCon and OSCON, I gave a talk to answer the question:
"Is it safe to run applications in containers?"
this really meant
"Can one container break out, and into another?"
Main concern: isolation
7 / 43
What was the answer?
8 / 43
What was the answer?
9 / 43
What was the answer?
"It's complicated"
Long list of recommendations
some were easy
(and automatically enforced by Docker)
some were not obvious
(and had to be enabled manually)
some were hard to deploy
(or required missing kernel features)
Video and Slides
10 / 43
How is this different today?
People still ask about container isolation
Much more frequently, they ask about
image security and provenance
They want to know:
if dockerpulldebianis what it claims to be
if jpetazzo/dindhas vulnerabilities
if a given image has been vetted by their sec team
11 / 43
Why has it changed?
Who cares about container isolation?
hosting providers (more density = more $$$)
PAAS (for rapid deployment; on-demand activation)
→ early adopters
Who doesn't care about container isolation?
people who use VMs only because autoscaling
people who would put multiple components per
machine anyway
→ second wave of users
12 / 43
Today
13 / 43
Docker and Containers Security Today
Improving what we had yesterday
(fine-grained permissions, immutable containers)
Addressing new challenges
(provenance, content verification, notary)
Defense in depth
(containers + VM)
The infosec mindset
(better upgrades, security benchmarks, policies)
14 / 43
Finer-grained permissions
Per-container ulimit
Capability reduction with --cap-drop/ --cap-add
allow network config: --cap-addnet_admin
forbid everything: --cap-dropall
Device access restrictions with --device
(better than --privileged!)
Improved handling of LSM (SELinux, AppArmor)
example: @frazelledazzell's bane
(AppArmor profile generator for docker containers)
15 / 43
Smaller attack surface
Hardware management done on the host
(no kernel, drivers, device handling... in containers)
Package management is optional
(once a container is built, it doesn't need to be changed)
Minimal distros can be used
(e.g. buildroot, Alpine Linux...)
Less software = less risk
16 / 43
Immutable containers
dockerrun--read-only
(makes it impossible to entrench in a container)
Helps with vulnerability detection
(audit can be performed on offline images)
Even without --read-onlyflag:
copy-on-write prevents changes from being permanent
break a container when hacking it → it gets recycled
dockerdiffallows easy audit of changes
17 / 43
Image provenance
How can I trust dockerpulldebian?
I must trust upstream
(i.e. Debian and whoever maintains the image)
I must trust Docker Inc.
(operator of the Hub)
I must trust the transport
(between the Hub and my Docker host)
18 / 43
Image provenance
How can I trust dockerpulldebian?
I must trust upstream
(i.e. Debian and whoever maintains the image)
I must trust Docker Inc.
(operator of the Hub)
I must trust the transport
(between the Hub and my Docker host)
That's a lot of trust
19 / 43
"I don't want to trust anybody!"
If you don't trust upstream, you have to ...
stop using apt-getand yumwith public repos
rebuild everything from source
verify source integrity
(full audit + review all changes)
If you don't trust Docker Inc., you probably should ...
audit the whole Docker Engine code
audit every single patch that goes into Docker
(if you can do that ... we're looking for reviewers)
20 / 43
"I'll never trust people who do curl|sh!"
21 / 43
"I'll never trust people who do curl|sh!"
22 / 43
"I'll never trust people who do curl|sh!"
23 / 43
Revisiting curl|sh
It's auditable
curlhttps://...>review.sh
^
lessreview.sh
sh-exreview.sh
Do you install deb/rpm/npm/etc packages?
Do you review their postinstall scripts?
(which, by the way, run as root)
Have you ever uploaded an npm package?
Did you have to disclose your identity,
sign your upload, anything like that?
(no)
24 / 43
Think twice
npminstallfoois way more dangerous than curl|sh
If you're on OS X, you're probably using Brew
ruby-e"$(curl-fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
See also: Curl | bash a victimless crime?
25 / 43
Security reminder
It's OK to be paranoid, but beware of:
Bumps in the carpet
(moving a problem rather than solving it)
Usability
(if security makes it hard/impossible to work,
people will work around it!)
Tinfoil hats
26 / 43
Can we trust the transport?
Registry v1 protocol had serious issues:
arbitrary layer IDs
no integrity check
(other than TLS transport integrity)
Registry v2 protocol has:
content-based layer IDs
signed image manifests
Is that enough?
27 / 43
Notary:
a better trust
framework
28 / 43
What are we trying to address?
Distributed content should be signed
Stealing a key should be hard
Stealing a key shouldn't have dire consequences
Replay attacks should be hard
(=can't serve you yesterday's vulnerable version)
Should use known models and research
Existing distribution infrastructure should be used
(=HTTP, HTTPS, FTP… are good)
Trusting Docker Hub should not be mandatory
29 / 43
Notary
Based on TUF (The Update Framework)
Sign content with offline keys
Trust thresholds (require K out of N keys)
(Stealing a key reduces signing requirements,
but doesn't break the whole model)
Guarantee freshness
Distribute signed content on (potentially insecure) servers
(leverage existing (insecure) transport and mirrors)
Enabled in Docker 1.8 by setting DOCKER_CONTENT_TRUST
30 / 43
Defense in depth
So, VM or containers?
31 / 43
Defense in depth
So, VM or containers?
VM and containers!
32 / 43
Defense in depth
So, VM or containers?
VM and containers!
Reduce number of VMs
(when security perimeter allows it)
Colocated containers are safer than colocated processes
Malicious code has to escape both layers
Docker provides an extra layer of isolation
Applications are safer with containers than without
33 / 43
The infosec mindset
Better upgrades
Accurate, actionable security benchmarks
Clear, sensible security policies
34 / 43
Better upgrades
Dockerfile= easy, fast, reliable builds and rebuilds
"But now I have 1000s of container images to upgrade!"
Yes, but that's way better than the 100s of server images
that you had before
The organizational risk is lower
(because if something goes wrong,
you have reliable rollbacks)
35 / 43
Security benchmarks
CIS (Center of Internet Security) Docker Benchmark
Docker Bench (https://dockerbench.com) :
automated assessment tool to check compliance
36 / 43
Policies
Docker Inc. (the company) and the Docker Project (open
source) have clear security guidelines
Mandatory code reviews (see CONTRIBUTING.md) to
ensure quality of code base
Quarterly security audits and pen tests of our
infrastructure
We support responsible disclosure
37 / 43
Tomorrow
38 / 43
Container security in the future
Personal predictions - not Docker Inc.'s roadmap!
39 / 43
Container security in the future
Personal predictions - not Docker Inc.'s roadmap!
Offline image audit
Hardening of immutable containers (noexec, nosuid)
Better GRSEC, PAX, LSM integration
User namespaces (on experimental.docker.com)
Better default seccomp profiles
40 / 43
Last words
David Mortman at DEFCON this year:
“ A year ago, [Docker and security] was pretty horrible,
six months ago it wasn't so bad, and now it's pretty usable.
41 / 43
Resources
Docker security page
Docker security presentation at DockerCon 2015 SF
Docker Security CheatSheet
Notary on GitHub
Docker Bench for Security
42 / 43
Thanks!
Questions?
@jpetazzo
@docker
43 / 43

More Related Content

What's hot

Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
Jérôme Petazzoni
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
Jérôme Petazzoni
 
Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Jérôme Petazzoni
 
CI/CD with Kubernetes
CI/CD with KubernetesCI/CD with Kubernetes
CI/CD with Kubernetes
Hart Hoover
 
How to contribute to large open source projects like Docker (LinuxCon 2015)
How to contribute to large open source projects like Docker (LinuxCon 2015)How to contribute to large open source projects like Docker (LinuxCon 2015)
How to contribute to large open source projects like Docker (LinuxCon 2015)
Jérôme Petazzoni
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06
marketingunitrends
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
Hamilton Turner
 
Head first docker
Head first dockerHead first docker
Head first docker
Han Qin
 
OSCON: Better Collaboration through Tooling
OSCON: Better Collaboration through ToolingOSCON: Better Collaboration through Tooling
OSCON: Better Collaboration through Tooling
Docker, Inc.
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
Docker and kernel security
Docker and kernel securityDocker and kernel security
Docker and kernel security
smart_bit
 
Docker Tips And Tricks at the Docker Beijing Meetup
Docker Tips And Tricks at the Docker Beijing MeetupDocker Tips And Tricks at the Docker Beijing Meetup
Docker Tips And Tricks at the Docker Beijing Meetup
Jérôme Petazzoni
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
Maciej Lasyk
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 

What's hot (20)

Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
 
Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)
 
CI/CD with Kubernetes
CI/CD with KubernetesCI/CD with Kubernetes
CI/CD with Kubernetes
 
How to contribute to large open source projects like Docker (LinuxCon 2015)
How to contribute to large open source projects like Docker (LinuxCon 2015)How to contribute to large open source projects like Docker (LinuxCon 2015)
How to contribute to large open source projects like Docker (LinuxCon 2015)
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
 
Head first docker
Head first dockerHead first docker
Head first docker
 
OSCON: Better Collaboration through Tooling
OSCON: Better Collaboration through ToolingOSCON: Better Collaboration through Tooling
OSCON: Better Collaboration through Tooling
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker and kernel security
Docker and kernel securityDocker and kernel security
Docker and kernel security
 
Docker Tips And Tricks at the Docker Beijing Meetup
Docker Tips And Tricks at the Docker Beijing MeetupDocker Tips And Tricks at the Docker Beijing Meetup
Docker Tips And Tricks at the Docker Beijing Meetup
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 

Viewers also liked

Amazon Web Services and Docker
Amazon Web Services and DockerAmazon Web Services and Docker
Amazon Web Services and Docker
Paolo latella
 
Dockerizing Your Applications
Dockerizing Your ApplicationsDockerizing Your Applications
Dockerizing Your ApplicationsDocker, Inc.
 
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Jérôme Petazzoni
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
Docker, Inc.
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
Easy Docker on Microsoft Azure
Easy Docker on Microsoft AzureEasy Docker on Microsoft Azure
Easy Docker on Microsoft AzureDocker, Inc.
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Jérôme Petazzoni
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Jérôme Petazzoni
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Docker on Google App Engine
Docker on Google App EngineDocker on Google App Engine
Docker on Google App EngineDocker, Inc.
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
Jérôme Petazzoni
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Jérôme Petazzoni
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical Presentation
Jérôme Petazzoni
 
LXC, Docker, security: is it safe to run applications in Linux Containers?
LXC, Docker, security: is it safe to run applications in Linux Containers?LXC, Docker, security: is it safe to run applications in Linux Containers?
LXC, Docker, security: is it safe to run applications in Linux Containers?
Jérôme Petazzoni
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Jérôme Petazzoni
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're Going
Phil Estes
 
Docker {at,with} SignalFx
Docker {at,with} SignalFxDocker {at,with} SignalFx
Docker {at,with} SignalFx
Maxime Petazzoni
 

Viewers also liked (20)

Amazon Web Services and Docker
Amazon Web Services and DockerAmazon Web Services and Docker
Amazon Web Services and Docker
 
Dockerizing Your Applications
Dockerizing Your ApplicationsDockerizing Your Applications
Dockerizing Your Applications
 
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
Containers, Docker, and Security: State Of The Union (LinuxCon and ContainerC...
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
Easy Docker on Microsoft Azure
Easy Docker on Microsoft AzureEasy Docker on Microsoft Azure
Easy Docker on Microsoft Azure
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Docker on Google App Engine
Docker on Google App EngineDocker on Google App Engine
Docker on Google App Engine
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical Presentation
 
LXC, Docker, security: is it safe to run applications in Linux Containers?
LXC, Docker, security: is it safe to run applications in Linux Containers?LXC, Docker, security: is it safe to run applications in Linux Containers?
LXC, Docker, security: is it safe to run applications in Linux Containers?
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
 
Container Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're GoingContainer Security: How We Got Here and Where We're Going
Container Security: How We Got Here and Where We're Going
 
Docker {at,with} SignalFx
Docker {at,with} SignalFxDocker {at,with} SignalFx
Docker {at,with} SignalFx
 

Similar to Containers, docker, and security: state of the union (Bay Area Infracoders Meetup)

Hack the whale
Hack the whaleHack the whale
Hack the whale
Marco Ferrigno
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
alexandru giurgiu
 
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Manideep Konakandla
 
Boycott Docker
Boycott DockerBoycott Docker
Boycott Docker
Paolo Tonin
 
Docker: do's and don'ts
Docker: do's and don'tsDocker: do's and don'ts
Docker: do's and don'ts
Paolo Tonin
 
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
Applied Security for Containers, OW2con'18, June 7-8, 2018, ParisApplied Security for Containers, OW2con'18, June 7-8, 2018, Paris
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
OW2
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Codemotion
 
Docker en kernel security
Docker en kernel securityDocker en kernel security
Docker en kernel security
smart_bit
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
Carlo Bonamico
 
What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?
Giovanni Rosa
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
kushalsingh007
 
Docker security: Rolling out Trust in your container
Docker security: Rolling out Trust in your containerDocker security: Rolling out Trust in your container
Docker security: Rolling out Trust in your container
Ronak Kogta
 
Top 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance SecurityTop 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance Security
9 series
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
Maciej Lasyk
 
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
DataArt
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
Orest Ivasiv
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
Tu Pham
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 

Similar to Containers, docker, and security: state of the union (Bay Area Infracoders Meetup) (20)

Hack the whale
Hack the whaleHack the whale
Hack the whale
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
 
Boycott Docker
Boycott DockerBoycott Docker
Boycott Docker
 
Docker: do's and don'ts
Docker: do's and don'tsDocker: do's and don'ts
Docker: do's and don'ts
 
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
Applied Security for Containers, OW2con'18, June 7-8, 2018, ParisApplied Security for Containers, OW2con'18, June 7-8, 2018, Paris
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Docker en kernel security
Docker en kernel securityDocker en kernel security
Docker en kernel security
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?What Quality Aspects Influence the Adoption of Docker Images?
What Quality Aspects Influence the Adoption of Docker Images?
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
 
Docker security: Rolling out Trust in your container
Docker security: Rolling out Trust in your containerDocker security: Rolling out Trust in your container
Docker security: Rolling out Trust in your container
 
Top 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance SecurityTop 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance Security
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
 
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)"Docker best practice", Станислав Коленкин (senior devops, DataArt)
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
 
Dockerizing development workflow
Dockerizing development workflowDockerizing development workflow
Dockerizing development workflow
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Understanding Kubernetes
Understanding KubernetesUnderstanding Kubernetes
Understanding Kubernetes
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 

More from Jérôme Petazzoni

Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
Jérôme Petazzoni
 
Pipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerPipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and Docker
Jérôme Petazzoni
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange County
Jérôme Petazzoni
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
Jérôme Petazzoni
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
Killer Bugs From Outer Space
Killer Bugs From Outer SpaceKiller Bugs From Outer Space
Killer Bugs From Outer Space
Jérôme Petazzoni
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 

More from Jérôme Petazzoni (9)

Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Pipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and DockerPipework: Software-Defined Network for Containers and Docker
Pipework: Software-Defined Network for Containers and Docker
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange County
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
Killer Bugs From Outer Space
Killer Bugs From Outer SpaceKiller Bugs From Outer Space
Killer Bugs From Outer Space
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Containers, docker, and security: state of the union (Bay Area Infracoders Meetup)

  • 2. Who am I? Jérôme Petazzoni (@jpetazzo) French software engineer living in California Joined Docker (dotCloud) almost 5 years ago (I was at Docker before it was cool!) I built and scaled the dotCloud PaaS (millions of containers, no known security issues) I learned a few things about running containers (in production) 2 / 43
  • 5. Containers and Security yesterday Yesterday = Summer 2014. At LinuxCon and OSCON, I gave a talk to answer the question: "Is it safe to run applications in containers?" 5 / 43
  • 6. Containers and Security yesterday Yesterday = Summer 2014. At LinuxCon and OSCON, I gave a talk to answer the question: "Is it safe to run applications in containers?" this really meant "Can one container break out, and into another?" 6 / 43
  • 7. Containers and Security yesterday Yesterday = Summer 2014. At LinuxCon and OSCON, I gave a talk to answer the question: "Is it safe to run applications in containers?" this really meant "Can one container break out, and into another?" Main concern: isolation 7 / 43
  • 8. What was the answer? 8 / 43
  • 9. What was the answer? 9 / 43
  • 10. What was the answer? "It's complicated" Long list of recommendations some were easy (and automatically enforced by Docker) some were not obvious (and had to be enabled manually) some were hard to deploy (or required missing kernel features) Video and Slides 10 / 43
  • 11. How is this different today? People still ask about container isolation Much more frequently, they ask about image security and provenance They want to know: if dockerpulldebianis what it claims to be if jpetazzo/dindhas vulnerabilities if a given image has been vetted by their sec team 11 / 43
  • 12. Why has it changed? Who cares about container isolation? hosting providers (more density = more $$$) PAAS (for rapid deployment; on-demand activation) → early adopters Who doesn't care about container isolation? people who use VMs only because autoscaling people who would put multiple components per machine anyway → second wave of users 12 / 43
  • 14. Docker and Containers Security Today Improving what we had yesterday (fine-grained permissions, immutable containers) Addressing new challenges (provenance, content verification, notary) Defense in depth (containers + VM) The infosec mindset (better upgrades, security benchmarks, policies) 14 / 43
  • 15. Finer-grained permissions Per-container ulimit Capability reduction with --cap-drop/ --cap-add allow network config: --cap-addnet_admin forbid everything: --cap-dropall Device access restrictions with --device (better than --privileged!) Improved handling of LSM (SELinux, AppArmor) example: @frazelledazzell's bane (AppArmor profile generator for docker containers) 15 / 43
  • 16. Smaller attack surface Hardware management done on the host (no kernel, drivers, device handling... in containers) Package management is optional (once a container is built, it doesn't need to be changed) Minimal distros can be used (e.g. buildroot, Alpine Linux...) Less software = less risk 16 / 43
  • 17. Immutable containers dockerrun--read-only (makes it impossible to entrench in a container) Helps with vulnerability detection (audit can be performed on offline images) Even without --read-onlyflag: copy-on-write prevents changes from being permanent break a container when hacking it → it gets recycled dockerdiffallows easy audit of changes 17 / 43
  • 18. Image provenance How can I trust dockerpulldebian? I must trust upstream (i.e. Debian and whoever maintains the image) I must trust Docker Inc. (operator of the Hub) I must trust the transport (between the Hub and my Docker host) 18 / 43
  • 19. Image provenance How can I trust dockerpulldebian? I must trust upstream (i.e. Debian and whoever maintains the image) I must trust Docker Inc. (operator of the Hub) I must trust the transport (between the Hub and my Docker host) That's a lot of trust 19 / 43
  • 20. "I don't want to trust anybody!" If you don't trust upstream, you have to ... stop using apt-getand yumwith public repos rebuild everything from source verify source integrity (full audit + review all changes) If you don't trust Docker Inc., you probably should ... audit the whole Docker Engine code audit every single patch that goes into Docker (if you can do that ... we're looking for reviewers) 20 / 43
  • 21. "I'll never trust people who do curl|sh!" 21 / 43
  • 22. "I'll never trust people who do curl|sh!" 22 / 43
  • 23. "I'll never trust people who do curl|sh!" 23 / 43
  • 24. Revisiting curl|sh It's auditable curlhttps://...>review.sh ^ lessreview.sh sh-exreview.sh Do you install deb/rpm/npm/etc packages? Do you review their postinstall scripts? (which, by the way, run as root) Have you ever uploaded an npm package? Did you have to disclose your identity, sign your upload, anything like that? (no) 24 / 43
  • 25. Think twice npminstallfoois way more dangerous than curl|sh If you're on OS X, you're probably using Brew ruby-e"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" See also: Curl | bash a victimless crime? 25 / 43
  • 26. Security reminder It's OK to be paranoid, but beware of: Bumps in the carpet (moving a problem rather than solving it) Usability (if security makes it hard/impossible to work, people will work around it!) Tinfoil hats 26 / 43
  • 27. Can we trust the transport? Registry v1 protocol had serious issues: arbitrary layer IDs no integrity check (other than TLS transport integrity) Registry v2 protocol has: content-based layer IDs signed image manifests Is that enough? 27 / 43
  • 29. What are we trying to address? Distributed content should be signed Stealing a key should be hard Stealing a key shouldn't have dire consequences Replay attacks should be hard (=can't serve you yesterday's vulnerable version) Should use known models and research Existing distribution infrastructure should be used (=HTTP, HTTPS, FTP… are good) Trusting Docker Hub should not be mandatory 29 / 43
  • 30. Notary Based on TUF (The Update Framework) Sign content with offline keys Trust thresholds (require K out of N keys) (Stealing a key reduces signing requirements, but doesn't break the whole model) Guarantee freshness Distribute signed content on (potentially insecure) servers (leverage existing (insecure) transport and mirrors) Enabled in Docker 1.8 by setting DOCKER_CONTENT_TRUST 30 / 43
  • 31. Defense in depth So, VM or containers? 31 / 43
  • 32. Defense in depth So, VM or containers? VM and containers! 32 / 43
  • 33. Defense in depth So, VM or containers? VM and containers! Reduce number of VMs (when security perimeter allows it) Colocated containers are safer than colocated processes Malicious code has to escape both layers Docker provides an extra layer of isolation Applications are safer with containers than without 33 / 43
  • 34. The infosec mindset Better upgrades Accurate, actionable security benchmarks Clear, sensible security policies 34 / 43
  • 35. Better upgrades Dockerfile= easy, fast, reliable builds and rebuilds "But now I have 1000s of container images to upgrade!" Yes, but that's way better than the 100s of server images that you had before The organizational risk is lower (because if something goes wrong, you have reliable rollbacks) 35 / 43
  • 36. Security benchmarks CIS (Center of Internet Security) Docker Benchmark Docker Bench (https://dockerbench.com) : automated assessment tool to check compliance 36 / 43
  • 37. Policies Docker Inc. (the company) and the Docker Project (open source) have clear security guidelines Mandatory code reviews (see CONTRIBUTING.md) to ensure quality of code base Quarterly security audits and pen tests of our infrastructure We support responsible disclosure 37 / 43
  • 39. Container security in the future Personal predictions - not Docker Inc.'s roadmap! 39 / 43
  • 40. Container security in the future Personal predictions - not Docker Inc.'s roadmap! Offline image audit Hardening of immutable containers (noexec, nosuid) Better GRSEC, PAX, LSM integration User namespaces (on experimental.docker.com) Better default seccomp profiles 40 / 43
  • 41. Last words David Mortman at DEFCON this year: “ A year ago, [Docker and security] was pretty horrible, six months ago it wasn't so bad, and now it's pretty usable. 41 / 43
  • 42. Resources Docker security page Docker security presentation at DockerCon 2015 SF Docker Security CheatSheet Notary on GitHub Docker Bench for Security 42 / 43