65

container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

  • Upload
    lyhanh

  • View
    242

  • Download
    2

Embed Size (px)

Citation preview

Page 1: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 2: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

container-solutions.com | @containersoluti

Microservices– asecuritynightmare?

GOTOBerlin-Dec2,2015MaximilianSchöfmannContainerSolutionsSwitzerland

Page 3: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 4: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Autonomy

Security

Page 5: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

microservices…

small,hencemanyservices

talkingoverthenetwork

builtwithdifferenttechnologies

byautonomousteamswithend-to-endresponsibility

doingDevOpsandContinuousDelivery

usingcontainers

Page 6: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 7: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

many small services

Page 8: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 9: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

talking overthenetwork

Page 10: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Java7(1.7.0_03)

Page 11: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

built with differenttechnologies

nodejs0.9

Ruby2.1

Java7

Go1.4

Java8

Page 12: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 13: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

by autonomousteams with end-to-endresponsibility

Page 14: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

(ISC)2®

Page 15: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

doing DevOps

OWASP??

Page 16: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Specification

Implementation Validation

Page 17: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

and ContinuousDelivery

Page 18: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 19: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

using containers

Page 20: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

using containers

XENHypervisor-10^5LOC

LinuxKernel-10^7LOC

Page 21: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication
Page 22: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

many small services

Page 23: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

talking overthenetwork

payment_data

(stateless)

cat_ pictures

(stateless)

user_db

Page 24: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

talking overthenetwork

payment_data

(stateless)

cat_ pictures

(stateless)

user_db

Page 25: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authentication: Basic Authtalking overthenetwork

Authorization: Basic c21hcnRhc3MuLi4uCg==

Page 26: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authentication: Client certificatestalking overthenetwork

Page 27: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authentication: API Keys

X-My-API-Key: YWxsIHVyIGJhc2UgYXJlIGJlbG9uZ3MgMiAgdXMK

talking overthenetwork

Page 28: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authentication: HMAC

Authorization: AWS FOOBR7EXAMPLE:frJIUN8h81ADYpKg=

talking overthenetwork

Page 29: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Secrets management

vaultproject.io square.github.io/keywhiz

talking overthenetwork

Page 30: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Single-Sign-Ontalking overthenetwork

SAML

Page 31: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Single-Sign-Ontalking overthenetwork

client SSO service

authenticate

token

requestwithtoken

verify

sendresponse

Page 32: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Single-Sign-Ontalking overthenetwork

client SSO service

authenticate

token

requestwithtoken

verifysendresponse

Page 33: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authorizationtalking overthenetwork

Page 34: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Authorizationtalking overthenetwork

{ "iss":"[email protected]", “scope”:”https://www.googleapis.com/auth/bigquery", "aud":"https://www.googleapis.com/oauth2/v3/token", "exp":1328554385, "iat":1328550785 }

Page 35: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

ID Tokenstalking overthenetwork

{ "sub" : "bob", "email" : "[email protected]", "name" : "Bob Example”, “exp" : 1328672194, "https://mycorp.tld/groups": ["admin", "publisher"] }

Page 36: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Translating ID Tokenstalking overthenetwork

dumbtoken Gateway JWT ServiceA

ServiceB

ServiceC

JWT

JWT

Page 37: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

The Confused Deputytalking overthenetwork

Page 38: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

API Gatewaystalking overthenetwork

APIG

atew

ay

•Accesscontrol•Ratelimiting•HTTPStermination ...

Page 39: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

API Gatewaystalking overthenetwork

APIG

atew

ay

WAF PaymentSvc.

Page 40: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

built withdifferenttechnologies

Page 41: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

by autonomousteams with end-to-endresponsibility

Page 42: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Trustby autonomousteams with end-to-endresponsibility

IdeafromA.T.KearnyAnalysis

Accountability Expertise

Autonomy&Entrepreneurship

Collaboration&Support

Trust

Page 43: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Definition of Done

“It’s not done, before it’s fast!”

by autonomousteams with end-to-endresponsibility

Page 44: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Definition of Done

“It’s not done, before it’s secure!”

by autonomousteams with end-to-endresponsibility

Page 45: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Rugged Software Manifesto

ruggedsoftware.org

by autonomousteams with end-to-endresponsibility

Page 46: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

doing DevOps

SecDevOps?

SecOps?

DevSec?

Page 47: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

doing DevOps

SecDevOps

=

Mindset+Tooling

Page 48: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

and ContinuousDelivery

Page 49: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Test pyramid

UnitTests

ServiceTests

UItests

fasterfeed

back

from“SucceedingwithAgile”(MikeCohn)

confiden

ce

and continuousdelivery

Page 50: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Security-Test pyramid

staticcodeanalysis

Vulnerabilityscanning

E2Esecuritytests

fasterfeed

back

confiden

ce

and continuousdelivery

Page 51: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

BDD styleand continuousdelivery

continuumsecurity.net/bdd-intro.html

Page 52: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

using containers

BSDJails2000

2001Virtuozzo

Linux-VServer

SolarisZones2004

LXC2008

2013Docker

rkt2014

1982chroot

2007cgroups

Page 53: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Defense in depth

paymentservice

instance#2

docsuploadservice

instance#1

paymentservice

instance#1

catpictureservice

instance#1

memegeneratorinstance#1

bookmarkmanager

instance#1

using containers

Page 54: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Freeze & replace

paymentservice

instance#2

docsuploadservice

instance#1

paymentservice

instance#1

catpictureservice

instance#1

memegeneratorinstance#1

bookmarkmanager

instance#1

using containers

paymentservice

instance#1

Page 55: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Freeze & replace

paymentservice

instance#2

docsuploadservice

instance#1

paymentservice

instance#3

catpictureservice

instance#1

memegeneratorinstance#1

bookmarkmanager

instance#1

using containers

Page 56: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Docker securityusing containers

tinyurl.com/docker-security

•read-onlycontainers•minimalbaseimages•dropcapabilities•verifysignedimages•traditionalhardening(AppArmor,SELinux…)

...

Page 57: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Scan images for vulnerabilitiesusing containers

Clair(CoreOS)Nautilus(DockerInc.)

Page 58: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Secure deploymentsusing containers

Dockerdaemon-“justHTTP”

•TLS•Authentication•Authorisation•Logging&Auditing

scprsync

git

Page 59: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Summary

small,distributedservicescanlimittheimpactofbreaches

isolateserviceswithdifferentsecurityrequirements

usestandardmechanismsforauth, butmakesuretheyarescalable

consideranAPIgateway, butdon'toverusethispattern

Page 60: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Summary

monoculturescandoharm

embraceruggedsoftwareprinciples

accountabilityensuressecurityisbuiltin, notboltedon

investinautomationandtooling aroundsecuritytoolsandsecuritytesting

Page 61: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Summary

usecontainersasadditionallineofdefense

usecontainersasimmutableinfrastructure

ifyouneedto,usecontainerstodoforensics

secureyourcontainerhoststhoroughly

scanimagescentrallyforvulnerabilities

abolishobsoletedeploymentmethods

Page 62: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Nightmare?

Page 63: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

Image References (all CC-BY or public domain)Pumpkin:https://www.flickr.com/photos/wwarby/5144858705BillGates:https://c2.staticflickr.com/8/7331/16335705267_b6e9d9b223.jpgAnarchySymbol: https://pixabay.com/p-32917/Sandwich:https://upload.wikimedia.org/wikipedia/commons/6/6a/Peanut-Butter-Jelly-Sandwich.pngWasp: https://pixabay.com/p-538470Whack-a-mole:https://c1.staticflickr.com/9/8484/8195620894_4b68d7df76_b.jpgRustycontainer:https://www.flickr.com/photos/annspan/3912153466Server: https://upload.wikimedia.org/wikipedia/commons/0/0c/Chassis-Plans-3U.jpgRuggedvehicle:https://c1.staticflickr.com/5/4036/4669861882_742023ed7a_b.jpgCertificate:https://pixabay.com/p-576790ConfusedDeputy: https://en.wikipedia.org/wiki/Confused_deputy_problemAphid:https://en.wikipedia.org/wiki/Aphid#/media/File:Acyrthosiphon_pisum_(pea_aphid)-PLoS.jpg

Page 64: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication

container-solutions.com | @containersoluti

container-solutions.com

Page 65: container-solutions.com | @containersolutigotocon.com/dl/...MicroservicesASecurityNightmare.pdf · Microservices – a security ... (stateless) cat_ pictures ... • Authentication