Can You Keep a Secret
Drupal HackCamp 2018 - București
Slide 2
Slide 2 text
Nick Santamaria
● Drupal developer since 2006
● SysOps Engineer at PreviousNext
● Based in Melbourne, Australia
● @nicksanta
● drupal.org/user/87915
● github.com/nicksantamaria
Slide 3
Slide 3 text
Secret Management
Crash Course
Slide 4
Slide 4 text
Are you in the right
place?
Slide 5
Slide 5 text
What are Secrets?
Slide 6
Slide 6 text
Passwords
● Database
● Cache Backend
● Search Index
● Document Store
Slide 7
Slide 7 text
API Keys
● Cloud Platform
● Payment Processor
● Email Marketing
● CI / CD Pipeline
Not Technically Secrets
● Financial Credentials
● Confidential Data
● Personally Identifiable Information (PII)
Slide 10
Slide 10 text
Telling Secrets to the
Application
Slide 11
Slide 11 text
Stored in Repo
Slide 12
Slide 12 text
Stored in Repo
Slide 13
Slide 13 text
Stored in Database
Slide 14
Slide 14 text
Placed by Config Management
● Puppet
● Ansible
● CloudFormation
● Terraform
Variation Complication
Baked into AMI AMI per security boundary
Encrypted secrets in code Orchestrating key distribution
Slide 15
Slide 15 text
Hand Crafted Config
Slide 16
Slide 16 text
So What's the
Problem?
Slide 17
Slide 17 text
"Secret Sprawl"
Slide 18
Slide 18 text
Impossible to
Audit
Slide 19
Slide 19 text
Difficulty
Rotating Keys
Slide 20
Slide 20 text
What Happens
When You're
Compromised?
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
Secret Management
The Solution
Slide 23
Slide 23 text
Secret Management
SOLUTION
Centralise storage
PROBLEM
"Secret Sprawl"
Slide 24
Slide 24 text
Secret Management
SOLUTION
Authentication layer
Standardised policy
framework
PROBLEM
Who has access?
Slide 25
Slide 25 text
Secret Management
SOLUTION
Audit logs
PROBLEM
Who accessed what and
when did they do it?
Slide 26
Slide 26 text
SOLUTION
Centralised storage
Leases
Dynamic secrets
Secret Management
PROBLEM
Rotating secrets is time
consuming and error
prone
Slide 27
Slide 27 text
SOLUTION
Well-defined
"break-glass" procedure
Secret Management
PROBLEM