SlideShare a Scribd company logo
David Lawrence
Sr. Security Engineer
Docker
Ying Li
Security Engineer
Docker
Building a Secure Docker App
The Pipeline
Docker Content Trust Service
Development
“... tech giant Juniper Networks
revealed in a startling announcement
that it had found “unauthorized” code
embedded in an operating system
running on some of its firewalls.”
- wired.com
Where did it come
from?
User Authentication
• Multi-Factor Authentication
• Key Based Authentication
Sign your commits
• Use hardware like Yubikeys
Secure your source
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Pin your dependencies
• Include the list with the source
• (golang) vendor.conf, Godeps.json
• (python) requirements.txt
• (ruby) Gemfile
• (node) package.json
Validate your upstreams
Pin your dependencies
• Include the list with the source
• Use checksums
Validate your upstreams
requires == 2.13 --hash=sha256:2cf24dba5fb0a30e26e83…
golang.org/x/crypto 5bcd134fee4dd1475da17714aac19c0a…
Pin your dependencies
• Include the list with the source
• Use checksums
• Use publisher keys when available
Validate your upstreams
Test & Build
Verify everything on ingress
• commit signatures
• dependency checksums
• dependency signatures
• Docker Content Trust (DCT)
signatures of base images
CI is an island
Be minimal, be disciplined
• do build minimal images
• do not embed secret/
sensitive data in images
• do sign built images with
Docker Content Trust (DCT)
CI is ascetic
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Registry Services
Find Common Vulnerabilities and Exposures (CVEs)
• stop being reactive, get proactive
• make compliance easier
Get notified about new CVEs
• automate the auditing of existing applications
Docker Security Scanning (DSS)
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Docker Trusted Registry (DTR) and Docker Hub/Cloud come with DCT metadata
hosting
• you can start signing now
• provides trust from publisher to consumer
• no need to trust the middleman
Docker Content Trust (DCT)
Going to Production
• use Docker Content Trust to only deploy signed artifacts
• use Docker EE Signing Policies to guarantee applications meet your
acceptance criteria
What are you deploying?
Use the absolute minimum privilege set necessary!
Don’t:
docker run --privileged ...
Do:
docker run --cap-drop=ALL --cap-add=CAP_NET_ADMIN ...
Least Privileged Microservices
Zero Trust Networks
Defense in Depth
• isolate sensitive workloads to their own nodes
• use docker secrets
Least Privileged Nodes
Mitigate entire classes of compromise
• run read-only containers
• use Docker Editions for <your platform here>
Immutable Infrastructure
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
Building a Secure App with Docker - Ying Li and David Lawrence, Docker
1. Secure & sign your source
2. Pin & verify your dependencies
3. Sign your artifacts with Docker Content Trust
4. Leverage Docker Security Scanning
5. Deploy onto immutable infrastructure …
6. … with Least Privilege configurations
In Summary
Thank You!
Questions?
@docker
#dockercon

More Related Content

PDF
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
PDF
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
PDF
Automation and Collaboration Across Multiple Swarms Using Docker Cloud - Marc...
PDF
What’s New in Docker - Victor Vieux, Docker
PDF
Troubleshooting Tips from a Docker Support Engineer
PDF
What Have Namespaces Done for you Lately? Liz Rice, Aqua Security
PDF
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
PDF
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Automation and Collaboration Across Multiple Swarms Using Docker Cloud - Marc...
What’s New in Docker - Victor Vieux, Docker
Troubleshooting Tips from a Docker Support Engineer
What Have Namespaces Done for you Lately? Liz Rice, Aqua Security
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...

What's hot (20)

PDF
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
PDF
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
PDF
DockerCon 2017 - General Session Day 1 - Solomon Hykes
PDF
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
PPTX
How to be successful running Docker in Production
PDF
DockerCon SF 2015: Docker Security
PPTX
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
PDF
Browser Testing with Docker - Craig Huber
PDF
Networking Overview for Docker Platform
PDF
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
PDF
DCSF19 CMD and Conquer: Containerizing the Monolith
PPTX
A Survey of Container Security in 2016: A Security Update on Container Platforms
PDF
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
PDF
It takes a Village to do the Impossible - Jeff Lindsay
PDF
Securing your Containers
PDF
Secure Substrate: Least Privilege Container Deployment
PDF
DockerCon EU 2015: The Latest in Docker Engine
PDF
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
PPTX
Docker Bday #5, SF Edition: Introduction to Docker
PDF
Effective Data Pipelines with Docker & Jenkins - Brian Donaldson
You Don't Have to Start Over! A Practical Guide for Adopting Docker in the En...
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
DockerCon 2017 - General Session Day 1 - Solomon Hykes
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
How to be successful running Docker in Production
DockerCon SF 2015: Docker Security
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
Browser Testing with Docker - Craig Huber
Networking Overview for Docker Platform
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DCSF19 CMD and Conquer: Containerizing the Monolith
A Survey of Container Security in 2016: A Security Update on Container Platforms
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth Rushgrove
It takes a Village to do the Impossible - Jeff Lindsay
Securing your Containers
Secure Substrate: Least Privilege Container Deployment
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: Shipping Manifests, Bill of Lading and Docker Metadata and...
Docker Bday #5, SF Edition: Introduction to Docker
Effective Data Pipelines with Docker & Jenkins - Brian Donaldson
Ad

Similar to Building a Secure App with Docker - Ying Li and David Lawrence, Docker (20)

PDF
5 Ways to Secure Your Containers for Docker and Beyond
PPTX
DockerCon EU 2015 Barcelona
PDF
DCEU 18: Docker Container Security
PDF
Docker Containers Security
PDF
Docker Introduction
PPTX
Contain your risk: Deploy secure containers with trust and confidence
PPTX
Kubernetes and container security
PDF
Orchestrating Distributed Apps with Docker
PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
PPTX
Devoxx 2016 - Docker Nuts and Bolts
PDF
Docker at and with SignalFx
PDF
Docker {at,with} SignalFx
PDF
Dockercon 2015 Recap
PPTX
OpenStack Summit
PPTX
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
PDF
Docker Introduction
PDF
Secure Application Development in the Age of Continuous Delivery
PPTX
Secure Application Development in the Age of Continuous Delivery
PPTX
Docker Security
PDF
Docker Security and Content Trust
5 Ways to Secure Your Containers for Docker and Beyond
DockerCon EU 2015 Barcelona
DCEU 18: Docker Container Security
Docker Containers Security
Docker Introduction
Contain your risk: Deploy secure containers with trust and confidence
Kubernetes and container security
Orchestrating Distributed Apps with Docker
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Devoxx 2016 - Docker Nuts and Bolts
Docker at and with SignalFx
Docker {at,with} SignalFx
Dockercon 2015 Recap
OpenStack Summit
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Docker Introduction
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
Docker Security
Docker Security and Content Trust
Ad

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
PDF
How to Improve Your Image Builds Using Advance Docker Build
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
Securing Your Containerized Applications with NGINX
PDF
How To Build and Run Node Apps with Docker and Compose
PDF
Hands-on Helm
PDF
Distributed Deep Learning with Docker at Salesforce
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
PDF
Monitoring in a Microservices World
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
PDF
Predicting Space Weather with Docker
PDF
Become a Docker Power User With Microsoft Visual Studio Code
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
PDF
Kubernetes at Datadog Scale
PDF
Labels, Labels, Labels
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
PDF
Developing with Docker for the Arm Architecture
Containerize Your Game Server for the Best Multiplayer Experience
How to Improve Your Image Builds Using Advance Docker Build
Build & Deploy Multi-Container Applications to AWS
Securing Your Containerized Applications with NGINX
How To Build and Run Node Apps with Docker and Compose
Hands-on Helm
Distributed Deep Learning with Docker at Salesforce
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Monitoring in a Microservices World
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Predicting Space Weather with Docker
Become a Docker Power User With Microsoft Visual Studio Code
How to Use Mirroring and Caching to Optimize your Container Registry
Monolithic to Microservices + Docker = SDLC on Steroids!
Kubernetes at Datadog Scale
Labels, Labels, Labels
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Build & Deploy Multi-Container Applications to AWS
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Developing with Docker for the Arm Architecture

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MIND Revenue Release Quarter 2 2025 Press Release
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology

Building a Secure App with Docker - Ying Li and David Lawrence, Docker

  • 1. David Lawrence Sr. Security Engineer Docker Ying Li Security Engineer Docker Building a Secure Docker App
  • 5. “... tech giant Juniper Networks revealed in a startling announcement that it had found “unauthorized” code embedded in an operating system running on some of its firewalls.” - wired.com
  • 6. Where did it come from?
  • 7. User Authentication • Multi-Factor Authentication • Key Based Authentication Sign your commits • Use hardware like Yubikeys Secure your source
  • 9. Pin your dependencies • Include the list with the source • (golang) vendor.conf, Godeps.json • (python) requirements.txt • (ruby) Gemfile • (node) package.json Validate your upstreams
  • 10. Pin your dependencies • Include the list with the source • Use checksums Validate your upstreams requires == 2.13 --hash=sha256:2cf24dba5fb0a30e26e83… golang.org/x/crypto 5bcd134fee4dd1475da17714aac19c0a…
  • 11. Pin your dependencies • Include the list with the source • Use checksums • Use publisher keys when available Validate your upstreams
  • 13. Verify everything on ingress • commit signatures • dependency checksums • dependency signatures • Docker Content Trust (DCT) signatures of base images CI is an island
  • 14. Be minimal, be disciplined • do build minimal images • do not embed secret/ sensitive data in images • do sign built images with Docker Content Trust (DCT) CI is ascetic
  • 22. Find Common Vulnerabilities and Exposures (CVEs) • stop being reactive, get proactive • make compliance easier Get notified about new CVEs • automate the auditing of existing applications Docker Security Scanning (DSS)
  • 25. Docker Trusted Registry (DTR) and Docker Hub/Cloud come with DCT metadata hosting • you can start signing now • provides trust from publisher to consumer • no need to trust the middleman Docker Content Trust (DCT)
  • 27. • use Docker Content Trust to only deploy signed artifacts • use Docker EE Signing Policies to guarantee applications meet your acceptance criteria What are you deploying?
  • 28. Use the absolute minimum privilege set necessary! Don’t: docker run --privileged ... Do: docker run --cap-drop=ALL --cap-add=CAP_NET_ADMIN ... Least Privileged Microservices
  • 30. Defense in Depth • isolate sensitive workloads to their own nodes • use docker secrets Least Privileged Nodes
  • 31. Mitigate entire classes of compromise • run read-only containers • use Docker Editions for <your platform here> Immutable Infrastructure
  • 37. 1. Secure & sign your source 2. Pin & verify your dependencies 3. Sign your artifacts with Docker Content Trust 4. Leverage Docker Security Scanning 5. Deploy onto immutable infrastructure … 6. … with Least Privilege configurations In Summary