SlideShare a Scribd company logo
1 of 42
Here Be Dragons: Security Maps of the Container New World
Josh Bregman
Vice President/Evangelist
@kingoauth
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/secdevops-sdv
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Elizabeth Lawler - CEO/Founder Conjur, Inc.
Elizabeth Lawler is CEO and Co-founder of Conjur, Inc.,
a security company which focuses on security for next
generation infrastructure. Lawler has over 20 years of
experience working in highly regulated and sensitive data
environments. Prior to founding Conjur, she was Chief
Data Officer of Generation Health and held a leadership
position in research at the Department of Veterans
Affairs. She has been a programmer herself, and is
constantly working to make software development and IT
systems easier to manage for people working in
regulated industries.
Elizabeth’s RSA Presentation “Is DevOps Breaking your Company?” is still
available on line
Josh Bregman - Vice President/Evangelist
Josh has 20 years experience successfully
architecting, evangelizing, and delivering innovative
identity management and security products to
customers. Prior to joining Conjur , Josh spent a
decade as a solutions and pre-sales leader in the
Oracle ecosystem. A developer at heart, early in his
career Josh worked as a software engineer at IBM,
GTE Labs, and Netegrity. He has 2 U.S. patents and
received a B.A. in Math from the University of
Rochester in 1995.
Here Be Dragons: Security Maps of the Container New World
Is the Journey Worth the Risk?
◁ What are some risks?
⊃ Escalation of privileges
⊃ Image integrity
⊃ Un-patched Containers
◁ Tips on operating Docker securely -
http://www.slideshare.net/JenAndre/docker-
security-talk
◁ Security concerns can always be a barrier
to adopting new technology, but containers
provide major benefits
⊃ Single package for all environments
⊃ Well suited for high velocity
environments
⊃ Cloud Provider independent
Deploying a Container to a PaaS/IaaS
◁ What protections are there in the
infrastructure to prevent:
⊃ Other “good” containers calling your
service accidentally
⊃ Other “good” containers calling you
service intentionally, but without your
permission
⊃ A “bad” container calling your service
maliciously
Network Security
◁ Creating private subnets per “app” is
cumbersome
⊃ Seems easy, but will be hard to
maintain velocity and quality
◁ Avoid production only workflows
⊃ Networks for dev, qa, stage AND prod
all need to be configured
◁ Network segmentation can cause problems
with schedulers in orchestration systems
⊃ Assumes that all resources are
available to all “pods”
Velocity is your Hedgehog, Compliance is your Fox
◁ DevOps is about VELOCITY
◁ How can you go fast if….
⊃ Multiple Cloud Providers
⊃ Hybrid Cloud
⊃ Manual Intervention
⊃ Changes in Governance
◁ Security and Risk Management can put on the
BRAKES
Embed Security in Service
◁ Embedding security reduces velocity
⊃ If the security model changes, then the
service needs to be rewritten
⊃ Reduces composability
⊃ Developer may not fully understand
requirements
◁ Externalized is better
⊃ Faster to change
⊃ Easier to audit
⊃ Easier to orchestrate
The Challenge
◁ Let’s assume that the shipping
containers represent containers
(docker, LXC, rocket) or orchestrated
groups of containers (kubernetes,
mesos)
◁ How could you ensure that:
⊃ All of the containers of the same
color can call communicate with
each other
⊃ The blue containers can
communicate with the red
containers
⊃ And the rules and the
containers are constantly
changing
Introducing Software Defined Firewall (SDF)
Container “Group” (e.g. pod)
SDF
gatekeeper
service
log-shipperSDF
forwarder
Users
◁ Pod supports separation of
concerns among Development,
Operations, and Security
◁ Route all HTTP traffic to SDF -
gatekeeper
⊃ Validates if request is
authorized
⊃ Forwards request to
service
◁ Calls to other services outside
of the pod are routed to the
SDF forwarder
⊃ Forwarder attaches
identity to the request and
sends to the target
service
Introducing SDF - Are you the Keymaster?
Container “Group B” (e.g. pod)
SDF
Gatekeeper
Service
log-
shipper
Container “Group A” (e.g. pod)
SDF
Gatekeeper
Service
log-
shipperSDF
Forwarder
SDF
keymaster
validate
issue
● Gatekeeper locates the
Keymaster and makes a call
to validate the incoming
token
● The Forwarder makes a call
to the Keymaster to issue a
token for the outbound call
to the linked container
● The Gatekeeper in the next
group can validate the token
by calling the Keymaster
again
validate
SDF is the Right Approach
◁ Using SDF containers can be
organized into layers
⊃ Red-Brown - Layer 1
⊃ Blue-Green - Layer 2
⊃ Grey - Layer 3
◁ All service to service traffic allowed
inside of the layer
◁ SDF architecture can support more
elaborate models like claims based
authorization or federation
Dynamic Layer Assignment - Host Factory
◁ The assignment of the containers to the
layer is based on having credentials for the
keymaster protecting the layer
◁ The mapping of services to layers is
dynamic
⊃ Same service will be deployed in
dev, test, stage, prod
⊃ Application composition changes and
services will be orchestrated
differently
◁ The retrieval of the credential that grants
access to the layer should be done during
deployment/fabrication pipeline via a Host
Factory
Two Approaches to Integrating the Host Factory - Approach 1
Toolchain
Host
Factory
Host
Factory
Host
Factory
Processing Environment
Keymaster Keymaster Keymaster
Two Approaches to Integrating the Host Factory - Approach 2
Toolchain
Host
Factory
Host
Factory
Host
Factory
Processing Environment
Keymaster Keymaster KeymasterOther Source of Identity
(SSL Certificates, Kerberos, OAuth...)
Continuous Deployment of Containers
Rugged DevOps
The Goal is Continuous Deployment of Containers
Security Orchestration System
RBAC for people, machines and code | Self Auditing |Fully programmable with fine granularity | Highly
available across any cloud, hybrid and global architecture |End to end encryption
DevOps Enabled EnterpriseUsers
Rugged DevOps - Reference Architecture for
Security Orchestration
Security Orchestration System
Automation Toolchain Process Environment
.secrets
Summon
Summon Driver
SCM/CM/CI
Host
Factory
Secrets
Storage
SDF
Gatekeeper
Keymaster
Policy
SDF
Forwarder
Introducing project gozer
◁ Open Source SDF
⊃ Promotes the adoption of SDF pattern
for high-velocity environments
◁ sdf-gen
⊃ Tool that simplifies the creation of an
nginx based SDF by leveraging a
simple YAML
◁ keymaster
⊃ Implementation of keymaster service
that works with sdf-gen to create a
layer of trusted services
https://github.com/conjurinc/sdf-gen
sdf-gen YAML
global section
Defines the remote hostname of the keymaster service.
global:
keymaster:
certificate_path: /etc/keymaster.pem
hostname: keymaster
sdf-gen YAML continued
gatekeeper section
Defines the inbound port and local protected service.
gatekeeper:
port: 80
service: unix:/tmp/nginx.socket fail_timeout=0
forward section
A list of forwarders. Each one specifies a listen address, and a remote service to which outbound requests will be
sent.
forward:
-
id: eureka
listen: 127.0.0.2
service: https://eureka
sdf-gen example
sdf-example - docker compose
Project Summon is Live
AWS_ACCESS_KEY_ID: !var
aws/$environment/iam/user/robot/access_key_id
AWS_SECRET_ACCESS_KEY: !var
aws/$environment/iam/user/robot/secret_access_key
AWS_REGION: us-east-1
SSL_CERT: !var:file ssl/certs/private
secrets.yml
https://github.com/conjurinc/summon
summon docker run -e AWS_ACCESS_KEY_ID -e
AWS_SECRET_ACCESS_KEY myapp
Launch docker
Project Summon is Open Source - We need Secrets Providers
Functions to resolve and call a Summon provider.
func Resolve(providerArg string) (string, error)
Searches for a provider in this order:
1. providerArg, passed in via CLI
2. Environment variable SUMMON_PROVIDER
3. Executable in /usr/libexec/summon/.
func Call(provider, specPath string) (string, error)
Given a provider and secret's namespace, runs the provider to
resolve the secret's value.
● Secrets Providers supported by
summon initally:
○ AWS S3 Buckets
○ Mac OSX Keychain
○ Conjur
● We need more
○ Secrets are stored today in a
variety of systems - vault, consul,
zookeeper, database, credstash,
sneaker, keywhiz, home grown
● Writing a secrets provider is SIMPLE
and supports best practices of 12
factor application and NOT storing
secrets in source control
https://github.com/conjurinc/summon/tree/master/provider
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● 5 step process based on
years of delivering secrets
management solutions to
highly regulated industries
● Skipping steps will result
in issues down the road
and cause disruption and
delay
● DIY projects that start with
tools and then try to work
backward are extremely
difficult
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● Policy defines the security
structure for the
infrastructure in code
● For each layer:
○ Which people,
machines are
allowed/denied?
○ Which credentials
will they require?
○ Which services
need to talk to
eachother?
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● For the credentials
defined - “get them into
source control”
AWS_ACCESS_KEY_ID: !var prod/aws/iam/users/fabric/access-key-id
AWS_SECRET_KEY_ID: !var prod/aws/iam/users/fabric/secret-access-
key
MONGODB_PASSWORD: !var prod/mongo/deployments/password
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● A host factory is a
mechanism for “lifting” a
new host (machine,
container, or PaaS
application) into a
privileged computing role.
● Key component to
delivering securely at
speed
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● Make the components in
the Security Orchestration
System HA- secrets
source, host factory, and
gatekeeper
● The goal is to deploy to
production on demand, so
consider tool chain as well
Rugged DevOps - Continuous Secrets Delivery
Policy
secrets.yml
Host
Factory
High
Availability
Tools
● The final step is to
integrate with the other
tools in the toolchain
● Use gozer sdf-gen to
create sdf (nginx)
● Use summon to launch
summon docker run 
-d 
-e
SSL_PRIVATE_KEY_FILE 
-e SSL_CERT_FILE 
-e DB_PASSWORD 
myapp
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
Questions?
@ConjurInc
www.conjur.net
Thank you!
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/secdevops
-sdv

More Related Content

What's hot

A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...Docker, Inc.
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native WorldMichael Ducy
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
Securing your Container Environment with Open Source
Securing your Container Environment with Open SourceSecuring your Container Environment with Open Source
Securing your Container Environment with Open SourceMichael Ducy
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldDevOps.com
 
Modernizing Java Apps with Docker
Modernizing Java Apps with DockerModernizing Java Apps with Docker
Modernizing Java Apps with DockerDocker, Inc.
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...NETWAYS
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekwiTTyMinds1
 
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Edureka!
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...Docker, Inc.
 
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Vincenzo Ferme
 
DockerCon 16 - Moby's Cool Hack Session
DockerCon 16 - Moby's Cool Hack SessionDockerCon 16 - Moby's Cool Hack Session
DockerCon 16 - Moby's Cool Hack SessionDocker, Inc.
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
 

What's hot (20)

A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native World
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
Securing your Container Environment with Open Source
Securing your Container Environment with Open SourceSecuring your Container Environment with Open Source
Securing your Container Environment with Open Source
 
SW Docker Security
SW Docker SecuritySW Docker Security
SW Docker Security
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote World
 
Modernizing Java Apps with Docker
Modernizing Java Apps with DockerModernizing Java Apps with Docker
Modernizing Java Apps with Docker
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
 
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...
Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan...
 
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
DockerCon 16 - Moby's Cool Hack Session
DockerCon 16 - Moby's Cool Hack SessionDockerCon 16 - Moby's Cool Hack Session
DockerCon 16 - Moby's Cool Hack Session
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 

Similar to Here Be Dragons: Security Maps of the Container New World

AWS live hack: Docker + Snyk Container on AWS
AWS live hack: Docker + Snyk Container on AWSAWS live hack: Docker + Snyk Container on AWS
AWS live hack: Docker + Snyk Container on AWSEric Smalling
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Understanding docker ecosystem and vulnerabilities points
Understanding docker ecosystem and vulnerabilities pointsUnderstanding docker ecosystem and vulnerabilities points
Understanding docker ecosystem and vulnerabilities pointsAbdul Khan
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
Enterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetEnterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetDevOps.com
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSJan Löffler
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDocker, Inc.
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker, Inc.
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...eZ Systems
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1Sujay Pillai
 

Similar to Here Be Dragons: Security Maps of the Container New World (20)

Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
AWS live hack: Docker + Snyk Container on AWS
AWS live hack: Docker + Snyk Container on AWSAWS live hack: Docker + Snyk Container on AWS
AWS live hack: Docker + Snyk Container on AWS
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Understanding docker ecosystem and vulnerabilities points
Understanding docker ecosystem and vulnerabilities pointsUnderstanding docker ecosystem and vulnerabilities points
Understanding docker ecosystem and vulnerabilities points
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Enterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up BudgetEnterprise-Grade DevOps Solutions for a Start Up Budget
Enterprise-Grade DevOps Solutions for a Start Up Budget
 
Newt global meetup microservices
Newt global meetup microservicesNewt global meetup microservices
Newt global meetup microservices
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWS
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization Strategy
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
Running eZ Platform on Kubernetes (presented by Björn Dieding at eZ Conferenc...
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 

More from C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Here Be Dragons: Security Maps of the Container New World

  • 1. Here Be Dragons: Security Maps of the Container New World Josh Bregman Vice President/Evangelist @kingoauth
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /secdevops-sdv
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. Elizabeth Lawler - CEO/Founder Conjur, Inc. Elizabeth Lawler is CEO and Co-founder of Conjur, Inc., a security company which focuses on security for next generation infrastructure. Lawler has over 20 years of experience working in highly regulated and sensitive data environments. Prior to founding Conjur, she was Chief Data Officer of Generation Health and held a leadership position in research at the Department of Veterans Affairs. She has been a programmer herself, and is constantly working to make software development and IT systems easier to manage for people working in regulated industries. Elizabeth’s RSA Presentation “Is DevOps Breaking your Company?” is still available on line
  • 5. Josh Bregman - Vice President/Evangelist Josh has 20 years experience successfully architecting, evangelizing, and delivering innovative identity management and security products to customers. Prior to joining Conjur , Josh spent a decade as a solutions and pre-sales leader in the Oracle ecosystem. A developer at heart, early in his career Josh worked as a software engineer at IBM, GTE Labs, and Netegrity. He has 2 U.S. patents and received a B.A. in Math from the University of Rochester in 1995.
  • 6. Here Be Dragons: Security Maps of the Container New World
  • 7. Is the Journey Worth the Risk? ◁ What are some risks? ⊃ Escalation of privileges ⊃ Image integrity ⊃ Un-patched Containers ◁ Tips on operating Docker securely - http://www.slideshare.net/JenAndre/docker- security-talk ◁ Security concerns can always be a barrier to adopting new technology, but containers provide major benefits ⊃ Single package for all environments ⊃ Well suited for high velocity environments ⊃ Cloud Provider independent
  • 8. Deploying a Container to a PaaS/IaaS ◁ What protections are there in the infrastructure to prevent: ⊃ Other “good” containers calling your service accidentally ⊃ Other “good” containers calling you service intentionally, but without your permission ⊃ A “bad” container calling your service maliciously
  • 9. Network Security ◁ Creating private subnets per “app” is cumbersome ⊃ Seems easy, but will be hard to maintain velocity and quality ◁ Avoid production only workflows ⊃ Networks for dev, qa, stage AND prod all need to be configured ◁ Network segmentation can cause problems with schedulers in orchestration systems ⊃ Assumes that all resources are available to all “pods”
  • 10. Velocity is your Hedgehog, Compliance is your Fox ◁ DevOps is about VELOCITY ◁ How can you go fast if…. ⊃ Multiple Cloud Providers ⊃ Hybrid Cloud ⊃ Manual Intervention ⊃ Changes in Governance ◁ Security and Risk Management can put on the BRAKES
  • 11. Embed Security in Service ◁ Embedding security reduces velocity ⊃ If the security model changes, then the service needs to be rewritten ⊃ Reduces composability ⊃ Developer may not fully understand requirements ◁ Externalized is better ⊃ Faster to change ⊃ Easier to audit ⊃ Easier to orchestrate
  • 12. The Challenge ◁ Let’s assume that the shipping containers represent containers (docker, LXC, rocket) or orchestrated groups of containers (kubernetes, mesos) ◁ How could you ensure that: ⊃ All of the containers of the same color can call communicate with each other ⊃ The blue containers can communicate with the red containers ⊃ And the rules and the containers are constantly changing
  • 13. Introducing Software Defined Firewall (SDF) Container “Group” (e.g. pod) SDF gatekeeper service log-shipperSDF forwarder Users ◁ Pod supports separation of concerns among Development, Operations, and Security ◁ Route all HTTP traffic to SDF - gatekeeper ⊃ Validates if request is authorized ⊃ Forwards request to service ◁ Calls to other services outside of the pod are routed to the SDF forwarder ⊃ Forwarder attaches identity to the request and sends to the target service
  • 14. Introducing SDF - Are you the Keymaster? Container “Group B” (e.g. pod) SDF Gatekeeper Service log- shipper Container “Group A” (e.g. pod) SDF Gatekeeper Service log- shipperSDF Forwarder SDF keymaster validate issue ● Gatekeeper locates the Keymaster and makes a call to validate the incoming token ● The Forwarder makes a call to the Keymaster to issue a token for the outbound call to the linked container ● The Gatekeeper in the next group can validate the token by calling the Keymaster again validate
  • 15. SDF is the Right Approach ◁ Using SDF containers can be organized into layers ⊃ Red-Brown - Layer 1 ⊃ Blue-Green - Layer 2 ⊃ Grey - Layer 3 ◁ All service to service traffic allowed inside of the layer ◁ SDF architecture can support more elaborate models like claims based authorization or federation
  • 16. Dynamic Layer Assignment - Host Factory ◁ The assignment of the containers to the layer is based on having credentials for the keymaster protecting the layer ◁ The mapping of services to layers is dynamic ⊃ Same service will be deployed in dev, test, stage, prod ⊃ Application composition changes and services will be orchestrated differently ◁ The retrieval of the credential that grants access to the layer should be done during deployment/fabrication pipeline via a Host Factory
  • 17. Two Approaches to Integrating the Host Factory - Approach 1 Toolchain Host Factory Host Factory Host Factory Processing Environment Keymaster Keymaster Keymaster
  • 18. Two Approaches to Integrating the Host Factory - Approach 2 Toolchain Host Factory Host Factory Host Factory Processing Environment Keymaster Keymaster KeymasterOther Source of Identity (SSL Certificates, Kerberos, OAuth...)
  • 19. Continuous Deployment of Containers Rugged DevOps
  • 20. The Goal is Continuous Deployment of Containers Security Orchestration System RBAC for people, machines and code | Self Auditing |Fully programmable with fine granularity | Highly available across any cloud, hybrid and global architecture |End to end encryption DevOps Enabled EnterpriseUsers
  • 21. Rugged DevOps - Reference Architecture for Security Orchestration Security Orchestration System Automation Toolchain Process Environment .secrets Summon Summon Driver SCM/CM/CI Host Factory Secrets Storage SDF Gatekeeper Keymaster Policy SDF Forwarder
  • 22. Introducing project gozer ◁ Open Source SDF ⊃ Promotes the adoption of SDF pattern for high-velocity environments ◁ sdf-gen ⊃ Tool that simplifies the creation of an nginx based SDF by leveraging a simple YAML ◁ keymaster ⊃ Implementation of keymaster service that works with sdf-gen to create a layer of trusted services https://github.com/conjurinc/sdf-gen
  • 23. sdf-gen YAML global section Defines the remote hostname of the keymaster service. global: keymaster: certificate_path: /etc/keymaster.pem hostname: keymaster
  • 24. sdf-gen YAML continued gatekeeper section Defines the inbound port and local protected service. gatekeeper: port: 80 service: unix:/tmp/nginx.socket fail_timeout=0 forward section A list of forwarders. Each one specifies a listen address, and a remote service to which outbound requests will be sent. forward: - id: eureka listen: 127.0.0.2 service: https://eureka
  • 27. Project Summon is Live AWS_ACCESS_KEY_ID: !var aws/$environment/iam/user/robot/access_key_id AWS_SECRET_ACCESS_KEY: !var aws/$environment/iam/user/robot/secret_access_key AWS_REGION: us-east-1 SSL_CERT: !var:file ssl/certs/private secrets.yml https://github.com/conjurinc/summon summon docker run -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY myapp Launch docker
  • 28. Project Summon is Open Source - We need Secrets Providers Functions to resolve and call a Summon provider. func Resolve(providerArg string) (string, error) Searches for a provider in this order: 1. providerArg, passed in via CLI 2. Environment variable SUMMON_PROVIDER 3. Executable in /usr/libexec/summon/. func Call(provider, specPath string) (string, error) Given a provider and secret's namespace, runs the provider to resolve the secret's value. ● Secrets Providers supported by summon initally: ○ AWS S3 Buckets ○ Mac OSX Keychain ○ Conjur ● We need more ○ Secrets are stored today in a variety of systems - vault, consul, zookeeper, database, credstash, sneaker, keywhiz, home grown ● Writing a secrets provider is SIMPLE and supports best practices of 12 factor application and NOT storing secrets in source control https://github.com/conjurinc/summon/tree/master/provider
  • 29. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● 5 step process based on years of delivering secrets management solutions to highly regulated industries ● Skipping steps will result in issues down the road and cause disruption and delay ● DIY projects that start with tools and then try to work backward are extremely difficult
  • 30. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● Policy defines the security structure for the infrastructure in code ● For each layer: ○ Which people, machines are allowed/denied? ○ Which credentials will they require? ○ Which services need to talk to eachother?
  • 31. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● For the credentials defined - “get them into source control” AWS_ACCESS_KEY_ID: !var prod/aws/iam/users/fabric/access-key-id AWS_SECRET_KEY_ID: !var prod/aws/iam/users/fabric/secret-access- key MONGODB_PASSWORD: !var prod/mongo/deployments/password
  • 32. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● A host factory is a mechanism for “lifting” a new host (machine, container, or PaaS application) into a privileged computing role. ● Key component to delivering securely at speed
  • 33. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● Make the components in the Security Orchestration System HA- secrets source, host factory, and gatekeeper ● The goal is to deploy to production on demand, so consider tool chain as well
  • 34. Rugged DevOps - Continuous Secrets Delivery Policy secrets.yml Host Factory High Availability Tools ● The final step is to integrate with the other tools in the toolchain ● Use gozer sdf-gen to create sdf (nginx) ● Use summon to launch summon docker run -d -e SSL_PRIVATE_KEY_FILE -e SSL_CERT_FILE -e DB_PASSWORD myapp
  • 35. Here Be Dragons: Security Maps of the Container New World
  • 36. Here Be Dragons: Security Maps of the Container New World
  • 37. Here Be Dragons: Security Maps of the Container New World
  • 38. Here Be Dragons: Security Maps of the Container New World
  • 39. Here Be Dragons: Security Maps of the Container New World
  • 42. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/secdevops -sdv