SlideShare a Scribd company logo
Copyright @ 2017 Aqua Security Software Ltd. All Rights Reserved.
Your secret’s safe with me
Liz Rice
@LizRice | @AquaSecTeam
2
Secrets
@LizRice | @AquaSecTeam
Desirable attributes for secrets management
4
Secrets
@LizRice | @AquaSecTeam
Secrets
photo: Katie Tegtmeyer
■ Encrypted
■ At rest and in transit
■ Only decrypted in
memory
5
Secrets
@LizRice | @AquaSecTeam
Secrets
photo: James Case
■ Access control
■ Only accessible by containers
that need them
■ And users
■ Write-only access
6
Secrets
@LizRice | @AquaSecTeam
Secrets
photo: Irena Jackson
■ Life-cycle
■ Risk of leak increases over time
■ Rotation, revocation, audit logging
Passing secrets to containers
8
Bad places for secrets
@LizRice | @AquaSecTeam
■ Source code
■ Dockerfiles / images
9
docker run -e VARNAME=secret ...
Environment variables
@LizRice | @AquaSecTeam
10
docker run -v /hostsecrets:/secrets ...
Mounted volume
@LizRice | @AquaSecTeam
Orchestrator support for secrets
12
Docker
@LizRice | @AquaSecTeam
■ Secrets support built in for Docker Swarm services
■ Not standalone containers
■ Secret accessible when exposed to service
■ Mounted to a temporary fs (not env vars)
■ RBAC in Enterprise Edition
■ Rotation requires container restart
13
Docker
@LizRice | @AquaSecTeam
■ Encrypted in Raft log
■ Lock your Swarm!!
■ Shared to Swarm managers
■ External secrets stores coming
■ Encrypted transmission with mutual
authentication
14
Kubernetes secrets
@LizRice | @AquaSecTeam
■ Secret configured in pod YAML
■ Mounted as a volume or configured as env var
■ Namespaced
15
Kubernetes secrets
@LizRice | @AquaSecTeam
■ Stored in etcd
■ Make sure secrets are encrypted!
■ --experimental-encryption-provider-config on API Server
16
Kubernetes secrets
@LizRice | @AquaSecTeam
kind: EncryptionConfig
apiVersion: v1
resources:
- resources:
- secrets
providers:
- aescbc:
keys:
- name: key1
secret: bXlWZXJ5U2VjcmV0RW5jcnlwdGlvbktleQo=
- identity: {}
17
Secrets all the way down
@LizRice | @AquaSecTeam
■ EncryptionConfig holds a secret key...
xkcd.com/1416
18
Kubernetes secrets access
@LizRice | @AquaSecTeam
■ RBAC can be turned on --authorization-mode=RBAC
# This role binding allows "dave" to read secrets in the "development" namespace.
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: read-secrets
namespace: development # This only grants permissions within the "development" namespace.
subjects:
- kind: User
name: dave
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: secret-reader
apiGroup: rbac.authorization.k8s.io
19
DC/OS
@LizRice | @AquaSecTeam
■ Enterprise DC/OS
■ Plug-ins for Meson/Marathon
■ Encrypted in ZooKeeper
■ Env vars
■ Access control by service path
■ Restart service to update value
20
Nomad
@LizRice | @AquaSecTeam
■ Integrated with Vault
■ Tasks get tokens so they can retrieve values from Vault
■ Poll for changed values
■ Access control
21
Aqua secrets
@LizRice | @AquaSecTeam
■ Any orchestrator
■ Secret storage in 3rd party backend
■ Hashicorp Vault, Amazon KMS, Azure Key Vault, CyberArk Vault...
■ File system & env var support
■ Env vars injected into container process memory
■ Secret can be injected to a tempfs filesystem
■ Update secrets without restart of container
■ Auditing of secret usage
■ Limit access to designated containers
■ User access controls
Summary
23
Secrets
@LizRice | @AquaSecTeam
Secrets
photo: Iain Merchant
■ Your best option depends on
■ Orchestrator
■ Acceptable level of risk
Copyright @ 2017 Aqua Security Software Ltd. All Rights Reserved.
The Ultimate Guide to Secrets Management in Containers
tiny.cc/secrets
@LizRice | @AquaSecTeam

More Related Content

PDF
Your secret's safe with me
PPTX
Container secrets talk from DevSecCon
PDF
London HUG 19/5 - Kubernetes and vault
PPTX
Hug #9 who's keeping your secrets
PPTX
London Hug 20/6 - Vault production
PDF
London Hug 20/6 - Clustering RabbitMQ using Consul
PDF
Kubernetes Security
PDF
Kubernetes security
Your secret's safe with me
Container secrets talk from DevSecCon
London HUG 19/5 - Kubernetes and vault
Hug #9 who's keeping your secrets
London Hug 20/6 - Vault production
London Hug 20/6 - Clustering RabbitMQ using Consul
Kubernetes Security
Kubernetes security

What's hot (20)

PDF
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
PDF
Kubernetes - security you need to know about it
PDF
Zombies in Kubernetes
PDF
Introduction to Kubernetes Security (Aqua & Weaveworks)
PDF
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
PDF
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
PDF
Alex Dias: how to build a docker monitoring solution
PDF
CI / CD / CS - Continuous Security in Kubernetes
PDF
Container Security Deep Dive & Kubernetes
PDF
Security threats with Kubernetes - Igor Khoroshchenko
PDF
Kubernetes - Security Journey
PDF
BRISK_Network_Pentest_
PDF
Chris Rutter: Avoiding The Security Brick
ODP
OpenShift & SELinux with Dan Walsh @rhatdan
PDF
How abusing the Docker API led to remote code execution same origin bypass an...
PPTX
Bandit and Gosec - Security Linters
PDF
JEE on DC/OS
PPTX
Lessons Learned in Automating Compliance for Containers
PDF
What is Google Cloud Good For at DevFestInspire 2021
PDF
Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Control Plane: Continuous Kubernetes Security (DevSecOps - London Gathering, ...
Kubernetes - security you need to know about it
Zombies in Kubernetes
Introduction to Kubernetes Security (Aqua & Weaveworks)
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
Alex Dias: how to build a docker monitoring solution
CI / CD / CS - Continuous Security in Kubernetes
Container Security Deep Dive & Kubernetes
Security threats with Kubernetes - Igor Khoroshchenko
Kubernetes - Security Journey
BRISK_Network_Pentest_
Chris Rutter: Avoiding The Security Brick
OpenShift & SELinux with Dan Walsh @rhatdan
How abusing the Docker API led to remote code execution same origin bypass an...
Bandit and Gosec - Security Linters
JEE on DC/OS
Lessons Learned in Automating Compliance for Containers
What is Google Cloud Good For at DevFestInspire 2021
Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ad

Similar to Your (container) secret's safe with me (20)

PDF
Your secret's safe with me
PDF
DerbyCon 2019: Prepare to be Boarded! A Tale of Kubernetes, Plunder, and Cryp...
PPTX
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
PDF
Docker Security: Are Your Containers Tightly Secured to the Ship?
PPTX
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
PPTX
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
PDF
Batten Down the Hatches: A Practical Guide to Securing Kubernetes - RMISC 2019
PDF
Cloud Native TLV Meetup: Securing Containerized Applications Primer
PPTX
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
PDF
It's 2018. Are My Containers Secure Yet!?
PDF
DCSF19 Containers for Beginners
PDF
Redis High availability and fault tolerance in a multitenant environment
PDF
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
PPTX
Docker for Web Developers: A Sneak Peek
PPTX
Secure development on Kubernetes by Andreas Falk
PPTX
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
PDF
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
PDF
Rootless Containers & Unresolved issues
PPTX
Docker Security
PPTX
Container Monitoring with Sysdig
Your secret's safe with me
DerbyCon 2019: Prepare to be Boarded! A Tale of Kubernetes, Plunder, and Cryp...
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Batten Down the Hatches: A Practical Guide to Securing Kubernetes - RMISC 2019
Cloud Native TLV Meetup: Securing Containerized Applications Primer
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
It's 2018. Are My Containers Secure Yet!?
DCSF19 Containers for Beginners
Redis High availability and fault tolerance in a multitenant environment
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Docker for Web Developers: A Sneak Peek
Secure development on Kubernetes by Andreas Falk
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
Rootless Containers & Unresolved issues
Docker Security
Container Monitoring with Sysdig
Ad

More from Liz Rice (7)

PDF
The maths behind microscaling
PPTX
Game of Hosts - Containers, VMs and Microscaling
PPTX
How to build a personalized interface for VOD
PPTX
Tank Top TV - Netflix viewing data
PPTX
Killing the TV time grid
PPTX
Cadbury
PPTX
Beatz
The maths behind microscaling
Game of Hosts - Containers, VMs and Microscaling
How to build a personalized interface for VOD
Tank Top TV - Netflix viewing data
Killing the TV time grid
Cadbury
Beatz

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
medical staffing services at VALiNTRY
Monitoring Stack: Grafana, Loki & Promtail
Wondershare Filmora 15 Crack With Activation Key [2025
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Salesforce Agentforce AI Implementation.pdf
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Design an Analysis of Algorithms I-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development
Oracle Fusion HCM Cloud Demo for Beginners
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
iTop VPN Free 5.6.0.5262 Crack latest version 2025
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How to Choose the Right IT Partner for Your Business in Malaysia
Designing Intelligence for the Shop Floor.pdf
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Design an Analysis of Algorithms II-SECS-1021-03

Your (container) secret's safe with me

  • 1. Copyright @ 2017 Aqua Security Software Ltd. All Rights Reserved. Your secret’s safe with me Liz Rice @LizRice | @AquaSecTeam
  • 3. Desirable attributes for secrets management
  • 4. 4 Secrets @LizRice | @AquaSecTeam Secrets photo: Katie Tegtmeyer ■ Encrypted ■ At rest and in transit ■ Only decrypted in memory
  • 5. 5 Secrets @LizRice | @AquaSecTeam Secrets photo: James Case ■ Access control ■ Only accessible by containers that need them ■ And users ■ Write-only access
  • 6. 6 Secrets @LizRice | @AquaSecTeam Secrets photo: Irena Jackson ■ Life-cycle ■ Risk of leak increases over time ■ Rotation, revocation, audit logging
  • 7. Passing secrets to containers
  • 8. 8 Bad places for secrets @LizRice | @AquaSecTeam ■ Source code ■ Dockerfiles / images
  • 9. 9 docker run -e VARNAME=secret ... Environment variables @LizRice | @AquaSecTeam
  • 10. 10 docker run -v /hostsecrets:/secrets ... Mounted volume @LizRice | @AquaSecTeam
  • 12. 12 Docker @LizRice | @AquaSecTeam ■ Secrets support built in for Docker Swarm services ■ Not standalone containers ■ Secret accessible when exposed to service ■ Mounted to a temporary fs (not env vars) ■ RBAC in Enterprise Edition ■ Rotation requires container restart
  • 13. 13 Docker @LizRice | @AquaSecTeam ■ Encrypted in Raft log ■ Lock your Swarm!! ■ Shared to Swarm managers ■ External secrets stores coming ■ Encrypted transmission with mutual authentication
  • 14. 14 Kubernetes secrets @LizRice | @AquaSecTeam ■ Secret configured in pod YAML ■ Mounted as a volume or configured as env var ■ Namespaced
  • 15. 15 Kubernetes secrets @LizRice | @AquaSecTeam ■ Stored in etcd ■ Make sure secrets are encrypted! ■ --experimental-encryption-provider-config on API Server
  • 16. 16 Kubernetes secrets @LizRice | @AquaSecTeam kind: EncryptionConfig apiVersion: v1 resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: bXlWZXJ5U2VjcmV0RW5jcnlwdGlvbktleQo= - identity: {}
  • 17. 17 Secrets all the way down @LizRice | @AquaSecTeam ■ EncryptionConfig holds a secret key... xkcd.com/1416
  • 18. 18 Kubernetes secrets access @LizRice | @AquaSecTeam ■ RBAC can be turned on --authorization-mode=RBAC # This role binding allows "dave" to read secrets in the "development" namespace. kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: read-secrets namespace: development # This only grants permissions within the "development" namespace. subjects: - kind: User name: dave apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: secret-reader apiGroup: rbac.authorization.k8s.io
  • 19. 19 DC/OS @LizRice | @AquaSecTeam ■ Enterprise DC/OS ■ Plug-ins for Meson/Marathon ■ Encrypted in ZooKeeper ■ Env vars ■ Access control by service path ■ Restart service to update value
  • 20. 20 Nomad @LizRice | @AquaSecTeam ■ Integrated with Vault ■ Tasks get tokens so they can retrieve values from Vault ■ Poll for changed values ■ Access control
  • 21. 21 Aqua secrets @LizRice | @AquaSecTeam ■ Any orchestrator ■ Secret storage in 3rd party backend ■ Hashicorp Vault, Amazon KMS, Azure Key Vault, CyberArk Vault... ■ File system & env var support ■ Env vars injected into container process memory ■ Secret can be injected to a tempfs filesystem ■ Update secrets without restart of container ■ Auditing of secret usage ■ Limit access to designated containers ■ User access controls
  • 23. 23 Secrets @LizRice | @AquaSecTeam Secrets photo: Iain Merchant ■ Your best option depends on ■ Orchestrator ■ Acceptable level of risk
  • 24. Copyright @ 2017 Aqua Security Software Ltd. All Rights Reserved. The Ultimate Guide to Secrets Management in Containers tiny.cc/secrets @LizRice | @AquaSecTeam