SlideShare a Scribd company logo
1 of 102
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Dave Walker, Specialist Solutions Architect, Security and Compliance
18/06/19
Securing Containers on AWS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Agenda
• Container Concept Review
• Container Security in Development
• Container Security in Operations
• Orchestration and Management
Security
• Resources
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Containers Concept Review: History
• chroot –The first container
• Changes the root directory of a process to a new directory
• Introduced in 1979 via UnixVersion 7
• Used to create “jails” (originally in BSD)
• LXC – OS-level virtualisation for running multiple isolated Linux systems on a
single kernel
• Introduced in 2008
• Other OS-level Branches
• Eg Solaris Zones
• Docker – Mainstream containers
• Debuted at PyCon in 2013
• Mainstream adoption of containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Containers Concept Review: Implementation
Server (Host)
Hypervisor
Guest OS
Bins/Libs
App 2
Guest OS
Bins/Libs
App 3
Guest OS
Bins/Libs
App 1
Server (Host)
Hypervisor
Guest OS
App 2
Guest OS
App 3
Guest OS
App 1
Guest OS / Docker Engine
Bins/Libs Bins/LibsBins/Libs
Server (Host)
Operating System (OS)
Guest OS Guest OSGuest OS Libraries
App 1, 2, 3
Bare Metal Virtual Machine Containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Containers Concept Review: Firecracker
https://github.com/firecracker-microvm/firecracker
© 2019, Amazon Web Services, Inc. or its Affiliates.
Why Containers?
• Speed
• Efficiency
• Easier packaging
• Less risky deployments
• Helps facilitate move to
microservices
• Sidecars
• Helps deploy and run up-to-
30x more services Photo & Licence
© 2019, Amazon Web Services, Inc. or its Affiliates.
Challenges of Containers at Scale
• More transient / dynamic
• More distributed and complex
• More services interdependent over network
• Scheduling / Scaling / Resource Management
• Less isolated
• Share a kernel (unless running in Fargate / Firecracker)
• Often share a network and (in case of EKS) a network interface
All these new challenges have solutions or mitigations.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
We Give You The Power To Choose:
ECS EKS
EC2 Fargate EC2 Fargate
1. Choose your
orchestration tool
2. Choose your
launch type
We’re
working
on it
#32
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS Container Roadmap on GitHub
Captured 19/5/2019
https://github.com/aws/containers-roadmap
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
AWS Containers Roadmap on GitHub
https://github.com/aws/containers-roadmap
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
What is Kubernetes?
• Open source container management platform
• Helps you run containers at scale
• Gives you primitives for building modern applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Kubernetes Architecture
Scheduler Controllers
etcd
API Server
Kubelet
Kube-proxy
Control Plane
Kubelet
Kube-proxy
Kubelet
Kube-proxyData Plane
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Shared Responsibility Model
Customers
Data plane
Amazon EKS
Control PlaneContainers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Amazon EKS Compliance
Amazon EKS
Control Plane
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Amazon EKS Security: A Shared Responsibility
Customers
Data planeContainers
a. Data plane security lifecycle
b. Container security lifecycle
1. Understand ownership boundaries
2. Build your threat model around:
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
So, you’re a developer …
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Where do images come from?
Images are…
…separated by tags…
…(optionally) stored in repositories…
…organized in registries
image:tagrepository/registry/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Where does nginx come from?
Image Name
Default tag: latest
Default repository: library
Default registry: Docker Hub (docker.io)
nginx:latestlibrary/docker.io/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
AWS ECR CoreOS Quay JFrog ArtifactoryDocker Registry
Registries
• Public/Private
• Cloud/Self-Hosted
• Open Source/Enterprise
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Private Registries
…should be trusted if it’s yours!
• Keep images close to runtime
• Lower latency
• Reduce “man-in-the-middle” attacks
• Controlled maintenance window
• ”Cached” image copy in AWS, even if not the original
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Public Registries
…should NOT
be trusted!
Docker Hub has official repositories
• Essential base OS repositories
• Popular runtimes, data stores, and services (PaaS)
• Best Practices examples
• Security Scanned and Updated
https://hub.docker.com/explore/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Marketplace Registries
“Trust butVerify”
Docker Store
• Submitted by StoreVendor Partners
• Published and maintained by company
• Offers “Docker Certified” images
• Search includes Docker Hub (as option)
https://store.docker.com/search
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Containerise an app
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Selecting a Base Image
Know where your base image comes from
• What base image/OS does nginx use?
• What repository did this base image come from?
• Who published it to that repository?
• When was it last published?
Don’t assume that everything on DockerHub (or Github, or NPM) is secure!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
From https://hub.docker.com/_/nginx/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
From docker-nginx/mainline/stretch/Dockerfile
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Selecting a Base Image Tag
Avoid latest tag on images
• Can introduce security flaws
• Can cause security scan failures
Use a defined tag
• nginx:1.13
https://hub.docker.com/_/nginx/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
FROM scratch Base Image
scratch…
• does not contain any files
• is an empty base image
• uses bootfs from kernel
Golang is a good choice
• binary as single file!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Unprivileged Containers
Unless you specify a user,
your containers will run as the
same user as Docker
This means ROOT
Give your container a user!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Minimise Attack Vectors
• Write security-minded code!
• No hard-coded passwords
• Sanitise inputs (OWASPTop 10 etc)
• Test,Test,Test
• AppSec Review
• Encryption SDK
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Multi-Stage Builds
• Each Dockerfile command is one layer
• Shell tricks (like &&) to reduce layers?
• Maintain multiple Dockerfiles?
• Dev Dockerfile: build/debug
• Prod Dockerfile: just run
• Solution: Multi-Stage Builds:
• Or build without Docker at all?
• Kaniko / Skaffold
FROM golang:1.7.3
WORKDIR /go/src/scott/app
COPY app.go .
RUN go build -o app .
FROM alpine:3.7
WORKDIR /root/
COPY --from=0 /go/src/scott/app .
CMD ["./app"]
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Humans make mistakes…
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
CI/CD for Image Builds
Source Build Store ImageTest
• Scanning/Linting code & deps (Dockerfile et al)
• Image Scanning in Pipeline (via Test phase)
• Image Signing (Cryptographic Verification)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Build Time Scanners
Twistlock
Clair Black Duck
Trend Micro Deep Security
SmartCheck
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Image/Runtime Scanners
Twistlock Aqua Security NeuVector
Clair Black Duck Tenable
© 2019, Amazon Web Services, Inc. or its Affiliates.
https://aws.amazon.com/containers/partner-solutions/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
So, you’re in Ops ….
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Development has given you a new “image” …
Now what?
• Verify the image
• Check Dockerfile from source
• Validate build pipeline/artifact
• Check scan results
• Create Runtime Configuration
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Runtime Configuration
• Shared Responsibility between Dev and Ops
• Meets at the runtime (Task Definition/Pod Specification)
Runtime ConfigDevelopment Operations
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Runtime Configuration
• A declarative set of instructions that tells the scheduler how
to run containers.
Examples:
Task Definition Pod Specification
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Reduce/Remove SELinux Capabilities
• Linux Most containers do not need root privileges
• Logging handled through runtime
• Network is managed for container
• Do not need SSH to container
• Cron as scheduled container
• Docker drops unnecessary capabilities
• Reduces blast radius of compromised container
CAP_AUDIT_CONTROL
CAP_AUDIT_READ
CAP_BLOCK_SUSPEND
CAP_DAC_READ_SEARCH
CAP_FOWNER
CAP_IPC_LOCK
CAP_IPC_OWNER
CAP_LEASE
CAP_LINUX_IMMUTABLE
CAP_MAC_ADMIN
CAP_MAC_OVERRIDE
CAP_NET_ADMIN
CAP_NET_BROADCAST
CAP_SYS_ADMIN
CAP_SYS_BOOT
CAP_SYS_MODULE
CAP_SYS_NICE
CAP_SYS_PACCT
CAP_SYS_PTRACE
CAP_SYS_RAWIO
CAP_SYS_RESOURCE
CAP_SYS_TIME
CAP_SYS_TTY_CONFIG
CAP_SYSLOG
CAP_WAKE_ALARM
CAP_AUDIT_WRITE
CAP_CHOWN
CAP_DAC_OVERRIDE
CAP_FSETID
CAP_KILL
CAP_MKNOD
CAP_NET_BIND_SERVICE
CAP_NET_RAW
CAP_SETGID
CAP_SETFCAP
CAP_SETPCAP
CAP_SETUID
CAP_SYS_CHROOT
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Namespaces
• Linux kernel feature to partition kernel resources to a specific
set of processes
• Isolates from other similar resources
• Mount points (mnt)
• Process IDs (pid)
• Networks (net)
• Users (user)
• InterProcess Communication (ipc)
• Control Groups (cgroup)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Control Groups (cgroups)
• Linux kernel feature to limit and isolate hardware access to a
specific set of processes
• CPU, memory, disk I/O, network
• Includes accounting and prioritization
• Prevents oversubscription on the hostVM
• “By default, a container has no resource constraints and can use as
much of a given resource as the host’s kernel scheduler allows”
(Docker)
• “Noisy Neighbours”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Resource Limits (ulimits)
• “User Limit” - restrict usage of resources per user
• Docker restricts usage of resources per container
• Per process (prlimit)
• Soft/Hard Limit per item
• Soft limit can be increased by container
• Hard limit can be increased with privilege
• Example: number of processes (nproc)
• Avoid the fork-bomb
core
cpu
data
fsize
locks
memlock
msgqueue
nice
nofile
nproc
rss
rtprio
rttime
sigpending
stack
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Seccomp
• “Secure Computing Mode”
• Transition a process into a secure state
• Irreversible
• Supported from Docker 1.10
• Controls system calls by container
• Docker-supported seccomp profiles
• Default Profile disables 44 system calls out of 300+
• Custom seccomp profile on containers via Docker security options
• Examples: unconfined, default, <custom>
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
(Un-)Privileged Containers
• sudo-esque permissions on the underlying host
• Grants
• Access to all devices
• AppArmor/SELinux unrestricted access
• Ability to Change Hard Resource Limits within container
• Most containers should be UN-privileged (default)
• Only needed for some use cases:
• d-in-d (Docker in Docker – specialised use cases)
• Containers that support Containers (e.g. monitoring agents)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Read-Only Containers
• Changes the root filesystem to read-only
• Unable to write to files (or change files)
• Can write logs to stdout and stderr
• Supports immutable workloads
• If something changes, launch new containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
IAM Roles for Instances
• Restricts containers running
on instance to specific set of
permissions
• Shared permissions among
containers on instance
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
IAM Roles for Tasks/Pods
• Least Privilege
• Moves authorisation to
container level
• Containers on same instance
do not share permissions!
• Small change to IAM Role
• K8s pods require additional
daemon
• jtblin/kube2iam
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Network Security for Instances
• ENI on instance
• Traffic bridged to container
• Shared security group among
containers on instance
• Default Network Namespace
• Updates to security groups
based on abstracted IPs
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Network Security for Tasks/Pods
• Network namespace for each
task/pod*
• ENIs attached to namespace
• Traffic routed to container
• Isolated security
with each task/pod
• EKS pods may share ENI
• Same instance
• Same subnet
*Pods in the same ReplicaSet share the same Network Namespace
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Network Security for Tasks/Pods
Container Network Interface Plugin
• containernetworking/cni
• configures network interfaces in Linux containers
Used with runtimes:
• ECS (awsvpc mode)
• Fargate
• EKS (with aws/amazon-vpc-cni-k8s)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Protecting the Host
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Start with the Operating System
• Only include binaries/libraries necessary to run containers
• Minimise the image
• Potential performance boost
• Container Runtime handles many system calls
• Suggested Operating Systems/Images:
(I like http://www.projectatomic.io/ , too)
Optimized AMIs
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Remember EC2 and Linux Best Practices
• Restrict communication to your host by using tools outside
the host (same as EC2):
• Security Groups, NACLs, Firewalls,WAF, IDS / IPS
• Minimal number of users with specific permissions
• Fine-grained controls using tools like SELinux,AppArmor
• No passwords on host
• IAM Role
• Secrets Management
• No root access
• AWS Security ProcessesWhitepaper (and others!)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Ongoing Operational Practices
• Patch the host often
• Recurring reviews of settings and configuration
• Monitoring, Logging, Auditing
• Cloudwatch, Splunk
• Datadog, New Relic
• Prometheus
• Alcide
• CIS Benchmark
• GitHub: docker-bench-security
• http://dev-sec.io/
 Launch new immutable hosts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Let someone else worry about hosts?!
• No Host = Less Operations
• Only secure the task, not the host
• Security Groups, NACLs, Firewalls,WAF, IDS / IPS
• No users, no passwords, no root access
• No Patching (Fargate launches new hosts)
• Recurring reviews of settings and configuration
• Monitoring, Logging, Auditing
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Securely Deploying Containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Humans make mistakes…
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
CI/CD for Container Deployments
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Wider Security Ecosystem / Next Steps
• Alternative Container Engines
• rkt
• gVisor
• Kata
• IAM on the container level
• ECS/Fargate – IAM forTask Roles
• EKS/K8s – kube2iam, kiam
• Use AWS Security Services, Partners, and SMEs
• Test,Test,Test!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Orchestration and Management
Security
© 2019, Amazon Web Services, Inc. or its Affiliates.
Shared Responsibility Model
Responsible for
Security “of” the
cloud
Responsible for
Security “in” the
cloud
Network and Firewall Configuration
Identity & Access Management
Customer Data
Compute Storage Database Networking
Regions Availability Zones Edge Locations
Operating System
Applications Platform
AWSCUSTOMER
© 2019, Amazon Web Services, Inc. or its Affiliates.
IAM = Who can do what in the platform and/or cluster?
People Code / Pipelines
Photo & Licence Photo & Licence
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS IAM vs. Kubernetes RBAC
If using ECS then that is a native
extension of the AWS platform and is
fully managed by AWS IAM.
If running Kubernetes, either yourself
or via EKS, then you need to
understand and configure BOTH
AWS IAM and Kubernetes RBAC.
© 2019, Amazon Web Services, Inc. or its Affiliates.
K8s action allowed/denied
EKS: IAM Authentication + kubectl
Authorization of AWS Identity
against Kubernetes RBAC
K8s API
Passes AWS Identity
Verifies AWS Identity
kubectl
AWS IAM
Authentication
© 2019, Amazon Web Services, Inc. or its Affiliates.
Kubernetes RBAC built-in ClusterRoles
Default ClusterRole
Description
cluster-admin
Allows super-user access to perform any action on any resource. When used in
a ClusterRoleBinding, it gives full control over every resource in the cluster and in all
namespaces. When used in a RoleBinding, it gives full control over every resource in the
rolebinding's namespace, including the namespace itself.
admin
Allows admin access, intended to be granted within a namespace using a RoleBinding. If used in
used in a RoleBinding, allows read/write access to most resources in a namespace, including the
including the ability to create roles and rolebindings within the namespace. It does not allow
allow write access to resource quota or to the namespace itself.
edit
Allows read/write access to most objects in a namespace. It does not allow viewing or modifying
modifying roles or rolebindings.
view
Allows read-only access to see most objects in a namespace. It does not allow viewing roles or
roles or rolebindings. It does not allow viewing secrets, since those are escalating
© 2019, Amazon Web Services, Inc. or its Affiliates.
Kubernetes RBAC Basics
Kubernetes has Roles which are
defined and apply within a single
namespace (a virtual cluster) and
ClusterRoles which apply cluster-
wide across all namespaces.
You define custom roles describing
resources (such as pods and nodes)
and which verbs (such as get,
update and delete) are allowed
against them.
kind: ClusterRole
metadata:
name: cluster-admin
rules:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- '*'
- nonResourceURLs:
- '*'
verbs:
- '*'
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS IAM Role per Task / Pod?
Assigning an IAM Role to a ECS
Task is an included feature in the
AWS Platform and ‘just works’.
If running Kubernetes then you need
to add either kube2iam or kiam to
leverage this functionality.
Assigning an IAM role to an Instance/Task/Function means the right AWS access key
and secret to call the AWS CLI/SDK are transparently obtained and rotated.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
VPC
IAM Roles for Nodes and Pods
API Server
Kubelet
Kube-proxy
Kubelet
Kube-proxy
Kubelet
Kube-proxy
AWS Key Management
Service
AWS Secrets Manager Amazon GuardDuty Amazon Inspector AWS CloudTrail Amazon CloudWatch AWS Config AWS Systems Manager
© 2019, Amazon Web Services, Inc. or its Affiliates.
Shared Responsibility Model
Responsible for
Security “of” the
cloud
Responsible for
Security “in” the
cloud
Network and Firewall Configuration
Identity & Access Management
Customer Data
Compute Storage Database Networking
Regions Availability Zones Edge Locations
Operating System
Applications Platform
AWSCUSTOMER
© 2019, Amazon Web Services, Inc. or its Affiliates.
Logging and Auditing the Control Plane
ECS is part of the AWS platform and the
control plane logs go to CloudTrail just like
the rest of the platform.
Kubernetes’ control plane logs include an
audit trail. When using EKS these logs are
not enabled by default but you can (and
should) enable logging to CloudWatch Logs.
Logging of the control plane, especially around an audit trail of API actions, is an
important aspect of security.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Shared Responsibility Model
Responsible for
Security “of” the
cloud
Responsible for
Security “in” the
cloud
Network and Firewall Configuration
Identity & Access Management
Customer Data
Compute Storage Database Networking
Regions Availability Zones Edge Locations
Operating System
Applications Platform
AWSCUSTOMER
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS Security Groups vs. Kubernetes Network Polices
If using ECS then that is an
extension of the AWS platform and
you only need to understand and
configure AWS VPC and Security
Groups.
If running Kubernetes yourself or
EKS then you need to understand
and configure BOTH AWS VPCs /
Security Groups as well as
Kubernetes Network Polices
© 2019, Amazon Web Services, Inc. or its Affiliates.
Default/Root Namespace
lo
eth0
Task Namespace
lo
eth1
Networking with ECS
When using ECS with the aws-vpc
network mode (optional for EC2 mode
but required for Fargate mode) then
each Task gets its own dedicated
Elastic Network Interface (ENI).
Since each Task is 1:1 with an ENI
and each ENI is 1:1 with a Security
Group (SG) that means any
communication in/out of each Task
goes through its SG on both ingress
and egress.
© 2019, Amazon Web Services, Inc. or its Affiliates.
Micro-segmenting with Security Groups
You can use a security group ID as both a source and destination for other
security group rules – both to loop back to itself or referencing other SGs.
• This enables network segmentation without complex subnetting
© 2019, Amazon Web Services, Inc. or its Affiliates.
EKS Control Plane API Endpoints – Make Them Private
Worker VPC (your account)
Kubectl
Master VPC (AWS account)
etcd
AZ
1
AZ
2
API Server
etcd
API Server
EKS-owned
ENIs
Public == false
Private == true
prod-cluster-123.eks.amazonaws.com
Private hosted zone
Kubelet
AZ
1
Worker
node
Kube-proxy
Kubelet
AZ
2
Worker
node
Kube-proxy
© 2019, Amazon Web Services, Inc. or its Affiliates.
Networking with EKS
ENI
Secondary IPs:
10.0.0.1
10.0.0.2
10.0.0.1
10.0.0.2
ENI
10.0.0.20
10.0.0.22
Secondary IPs:
10.0.0.20
10.0.0.22
ec2.associateaddress()
VPC Subnet – 10.0.0.0/24
Instance 1 Instance 2
VPC
© 2019, Amazon Web Services, Inc. or its Affiliates.
Installing a Network Policy Provider on Kubernetes
You first need to add a Network Policy Provider to EKS / Kubernetes in order to
use Network Policies. A popular one covered in our documentation is Calico.
https://docs.aws.amazon.com/eks/latest/userguide/calico.html
© 2019, Amazon Web Services, Inc. or its Affiliates.
Frontend
Cats Dogs
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: default-deny
spec:
podSelector:
matchLabels: {}
catsndogs-namespace
Network Policies on Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates.
Frontend
Cats Dogs
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: default-deny
spec:
podSelector:
matchLabels: {}
catsndogs-namespace
Network Policies on Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates.
Frontend
Cats Dogs
catsndogs-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: public-to-frontend
spec:
podSelector:
matchLabels:
role: frontend
ingress:
- from:
- ipBlock:
cidr: "0.0.0.0/0"
ports:
- protocol: TCP
port: 80
Network Policies on Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates.
Frontend
Cats Dogs
catsndogs-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: public-to-frontend
spec:
podSelector:
matchLabels:
role: frontend
ingress:
- from:
- ipBlock:
cidr: "0.0.0.0/0"
ports:
- protocol: TCP
port: 80
Network Policies on Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates.
Frontend
Cats Dogs
catsndogs-namespace
apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
name: frontend-to-cats
spec:
podSelector:
matchLabels:
role: cats
ingress:
- from:
- podSelector:
matchLabels:
role: “frontend”
ports:
- protocol: TCP
port: 80
Network Policies on Kubernetes
© 2019, Amazon Web Services, Inc. or its Affiliates.
Secure Cloud Edition (CE)
Features:
• Enterprise Support from Tigera
• Host-to-Host IPSEC Encryption
• Flow Logs enriched with Kubernetes Workload Metadata
• Integration between AWS Security Groups and Network Policies
© 2019, Amazon Web Services, Inc. or its Affiliates.
Secure Cloud Edition (CE)
© 2019, Amazon Web Services, Inc. or its Affiliates.
Alternative – Multiple NodeGroups or EKS Clusters
One way that you can both assign both EC2 Instance-level IAM Roles
(without kops or kiam) as well as fully trust Security Group-based micro-
segmentation without Tigera is to have a different set of worker nodes or
even entirely separate Clusters for different services or trust boundaries.
EKS has the concept of a NodeGroup which is a separate Auto Scaling
Group of worker Nodes that can be labelled in such a way that you can
limit which pods/services can be run on them.
https://kubernetes.io/docs/concepts/configuration/assign-pod-node
© 2019, Amazon Web Services, Inc. or its Affiliates.
Security Benefits Of Fargate
We do more, you do less.
• Patching (OS, Docker, ECS Agent, etc.)
• Task isolation (via Firecracker)
• No --privileged mode for containers
• Requires awsvpc network mode so ENI/SG perTask
• No runtime access for users (ssh or interactive Docker)
© 2019, Amazon Web Services, Inc. or its Affiliates.
EC2-mode ECS Shared Responsibility Model
Network and Firewall Configuration
Customer Data
Storage Database Networking
Regions Edge Locations
Operating System
Images ECSConfig
ECSControl Plane
Instance Scaling
Compute
Identity & Access Management
Availability Zones
AWSCUSTOMER
© 2019, Amazon Web Services, Inc. or its Affiliates.
ECS Fargate Shared Responsibility Model
Network and Firewall Configuration
Customer Data
Storage Database Networking
Regions Edge Locations
Operating System
Images ECSConfig
ECSControl Plane
Instance Scaling
Compute
Identity & Access Management
Availability Zones
AWSCUSTOMER
© 2019, Amazon Web Services, Inc. or its Affiliates.
Updating EKS
• Kubernetes has a new major version every quarter
• Kubernetes has a new minor version quite regularly
• Sometimes Kubernetes updates are security-related
• EKS has APIs to trigger an update of the control plane
• You then need to update the worker Nodes - both re:
Kubernetes as well as Docker and OS
• Often the workers are in an Autoscaling Group
so this means building updating AMIs
• We provide a regularly updated EKS Node AMI
as well as scripts to build your own.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Kubernetes and container security issues
https://aws.amazon.com/security/security-bulletins/
https://aws.amazon.com/blogs/compute/anatomy-of-cve-2019-5736-a-runc-container-escape/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Amazon EKS update lifecycle
May 21, 2019
Blog: https://aws.amazon.com/blogs/compute/updates-to-amazon-eks-version-lifecycle/
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS Parameter Store, Secrets Manager and Kubernetes
Secrets
AWS has both Parameter Store and Secrets
Manager to store your Secrets. They are
integrated into ECS but you’ll need to call
them within the Pod on Kubernetes via our
CLI or SDK.
Kubernetes’ built-in Secrets functionality
stores secrets in its control plane and puts
them into running Pods via Environment
Variables or files in the filesystem. You can’t
use these outside of the Kubernetes cluster.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Kubernetes-Specific Security
Add-Ons
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Admission Controllers in Kubernetes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Admission Controllers in Kubernetes
Source: https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Open Policy Agent – CNCF Project (Incubating)
Logic Data
Request
Policy Query Policy Decision (Allow/Deny)
Source: OPA Deep Dive https://www.youtube.com/watch?v=n94_FNhuzy4
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Resources
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Security – AWS / Containers
• https://aws.amazon.com/security/
• https://d1.awsstatic.com/whitepapers/Security/Security_Compute_Services
_Whitepaper.pdf
• https://d1.awsstatic.com/whitepapers/AWS_CAF_Security_Perspective.pdf
• https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practic
es.pdf
• https://docs.docker.com/engine/security/security/
• https://github.com/docker/docker-bench-security
• https://www.infoworld.com/article/3234671/containers/4-container-security-
tools-for-docker-and-kubernetes.html
• https://thenewstack.io/5-docker-security-best-practices/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Security – Partners / OSS / Third Party
• https://www.twistlock.com/
• https://www.aquasec.com/
• https://www.datadoghq.com/
• https://newrelic.com/
• https://sysdig.com/
• https://www.tenable.com/
• https://neuvector.com/
• https://www.blackducksoftware.com/
• https://prometheus.io/
• https://alcide.io/
• Many, many others ….
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..
Data Plane Security - Container Runtime Interface
Kubelet docker-containerd docker-containerd-shim docker-runc Container
docker-containerd-shim docker-runc Container
docker-containerd-shim docker-runc Container
Inside the CNCF Project Security Reviews: https://www.youtube.com/watch?v=0BkKpsrUo5k
CRI

More Related Content

What's hot

Ten layers of container security for CloudCamp Nov 2017
Ten layers of container security  for CloudCamp Nov 2017Ten layers of container security  for CloudCamp Nov 2017
Ten layers of container security for CloudCamp Nov 2017Gordon Haff
 
Containers and workload security an overview
Containers and workload security an overview Containers and workload security an overview
Containers and workload security an overview Krishna-Kumar
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Steve Wilson
 
Docker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesDocker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesAkhter Al Amin
 
Cloud networking deep dive
Cloud networking deep diveCloud networking deep dive
Cloud networking deep diveamylynn11
 
Container Runtime Security with Falco
Container Runtime Security with FalcoContainer Runtime Security with Falco
Container Runtime Security with FalcoMichael Ducy
 
DockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDocker, Inc.
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekwiTTyMinds1
 
Container security
Container securityContainer security
Container securityAnthony Chow
 
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Docker, Inc.
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 
DockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDocker, Inc.
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security JourneyJerry Jalava
 
An In-depth look at application containers
An In-depth look at application containersAn In-depth look at application containers
An In-depth look at application containersJohn Kinsella
 
Cloud On-Ramp Project Briefing
Cloud On-Ramp Project BriefingCloud On-Ramp Project Briefing
Cloud On-Ramp Project BriefingRobert McDermott
 
Dockercon EU 2015 Recap
Dockercon EU 2015 RecapDockercon EU 2015 Recap
Dockercon EU 2015 RecapLee Calcote
 

What's hot (20)

Ten layers of container security for CloudCamp Nov 2017
Ten layers of container security  for CloudCamp Nov 2017Ten layers of container security  for CloudCamp Nov 2017
Ten layers of container security for CloudCamp Nov 2017
 
Containers 101
Containers 101Containers 101
Containers 101
 
Containers and workload security an overview
Containers and workload security an overview Containers and workload security an overview
Containers and workload security an overview
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 
Docker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesDocker container basics and efficiency of Kubernetes
Docker container basics and efficiency of Kubernetes
 
Cloud networking deep dive
Cloud networking deep diveCloud networking deep dive
Cloud networking deep dive
 
Container Runtime Security with Falco
Container Runtime Security with FalcoContainer Runtime Security with Falco
Container Runtime Security with Falco
 
DockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life Observations
 
Dockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
 
Container security
Container securityContainer security
Container security
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 
DockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring Docker
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security Journey
 
An In-depth look at application containers
An In-depth look at application containersAn In-depth look at application containers
An In-depth look at application containers
 
SW Docker Security
SW Docker SecuritySW Docker Security
SW Docker Security
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your Containers
 
Cloud On-Ramp Project Briefing
Cloud On-Ramp Project BriefingCloud On-Ramp Project Briefing
Cloud On-Ramp Project Briefing
 
Dockercon EU 2015 Recap
Dockercon EU 2015 RecapDockercon EU 2015 Recap
Dockercon EU 2015 Recap
 

Similar to Csa container-security-in-aws-dw

Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelAmazon Web Services
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...Amazon Web Services
 
Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Amazon Web Services
 
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018AWS Germany
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using ContainersAmazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018Amazon Web Services
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryAmazon Web Services
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Web Services
 
Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...Amazon Web Services
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Amazon Web Services
 
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Web Services Korea
 

Similar to Csa container-security-in-aws-dw (20)

Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Introduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day IsraelIntroduction To Containers - Builders Day Israel
Introduction To Containers - Builders Day Israel
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018
 
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using Containers
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018
Linux Container Primitives and Runtimes (CON407-R1) - AWS re:Invent 2018
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s Story
 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)
 
Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...Integrating security testing into your container build pipeline - SDD308 - AW...
Integrating security testing into your container build pipeline - SDD308 - AW...
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
 
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 

More from Cloud Security Alliance, UK chapter

Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...
Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...
Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...Cloud Security Alliance, UK chapter
 
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...Cloud Security Alliance, UK chapter
 
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti Mohul
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti MohulCsa UK agm 2019 - Web API attacks - Trends seen in the field Kriti Mohul
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti MohulCloud Security Alliance, UK chapter
 
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...Cloud Security Alliance, UK chapter
 
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lens
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lensCsa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lens
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lensCloud Security Alliance, UK chapter
 

More from Cloud Security Alliance, UK chapter (11)

Dimitry presentation - Challenges of Cloud Transformation
Dimitry presentation - Challenges of Cloud TransformationDimitry presentation - Challenges of Cloud Transformation
Dimitry presentation - Challenges of Cloud Transformation
 
Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...
Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...
Csa UK agm 2019 - Nsc42 - is the cloud secure - is easy if you do it smart Fr...
 
Csa UK agm 2019 - Chris J Hodson - Visibility in the cloud
Csa UK agm 2019 - Chris J Hodson - Visibility in the cloudCsa UK agm 2019 - Chris J Hodson - Visibility in the cloud
Csa UK agm 2019 - Chris J Hodson - Visibility in the cloud
 
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...
Csa UK agm 2019 - Justin Campbell, Xabi Errotabehere - Looking at public clou...
 
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti Mohul
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti MohulCsa UK agm 2019 - Web API attacks - Trends seen in the field Kriti Mohul
Csa UK agm 2019 - Web API attacks - Trends seen in the field Kriti Mohul
 
Csa UK agm 2019 - Csa agm research
Csa UK agm 2019 - Csa agm researchCsa UK agm 2019 - Csa agm research
Csa UK agm 2019 - Csa agm research
 
Csa UK agm 2019 - Daniel Card - Hacking myelsf first
Csa UK agm 2019 - Daniel Card - Hacking myelsf firstCsa UK agm 2019 - Daniel Card - Hacking myelsf first
Csa UK agm 2019 - Daniel Card - Hacking myelsf first
 
Csa UK agm 2019 - Chapter Presentation
Csa UK agm 2019 - Chapter Presentation Csa UK agm 2019 - Chapter Presentation
Csa UK agm 2019 - Chapter Presentation
 
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...
Csa UK agm 2019 - Craig Savage - safe as clouds the journey from legacy to cl...
 
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lens
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lensCsa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lens
Csa UK agm 2019 - Cloud Conformity - Looking at public cloud through a new lens
 
C-Level tools for Cloud strategy decisions
C-Level tools for Cloud strategy decisionsC-Level tools for Cloud strategy decisions
C-Level tools for Cloud strategy decisions
 

Recently uploaded

IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 

Recently uploaded (20)

IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 

Csa container-security-in-aws-dw

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Dave Walker, Specialist Solutions Architect, Security and Compliance 18/06/19 Securing Containers on AWS
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Agenda • Container Concept Review • Container Security in Development • Container Security in Operations • Orchestration and Management Security • Resources
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Containers Concept Review: History • chroot –The first container • Changes the root directory of a process to a new directory • Introduced in 1979 via UnixVersion 7 • Used to create “jails” (originally in BSD) • LXC – OS-level virtualisation for running multiple isolated Linux systems on a single kernel • Introduced in 2008 • Other OS-level Branches • Eg Solaris Zones • Docker – Mainstream containers • Debuted at PyCon in 2013 • Mainstream adoption of containers
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Containers Concept Review: Implementation Server (Host) Hypervisor Guest OS Bins/Libs App 2 Guest OS Bins/Libs App 3 Guest OS Bins/Libs App 1 Server (Host) Hypervisor Guest OS App 2 Guest OS App 3 Guest OS App 1 Guest OS / Docker Engine Bins/Libs Bins/LibsBins/Libs Server (Host) Operating System (OS) Guest OS Guest OSGuest OS Libraries App 1, 2, 3 Bare Metal Virtual Machine Containers
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Containers Concept Review: Firecracker https://github.com/firecracker-microvm/firecracker
  • 6. © 2019, Amazon Web Services, Inc. or its Affiliates. Why Containers? • Speed • Efficiency • Easier packaging • Less risky deployments • Helps facilitate move to microservices • Sidecars • Helps deploy and run up-to- 30x more services Photo & Licence
  • 7. © 2019, Amazon Web Services, Inc. or its Affiliates. Challenges of Containers at Scale • More transient / dynamic • More distributed and complex • More services interdependent over network • Scheduling / Scaling / Resource Management • Less isolated • Share a kernel (unless running in Fargate / Firecracker) • Often share a network and (in case of EKS) a network interface All these new challenges have solutions or mitigations.
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. We Give You The Power To Choose: ECS EKS EC2 Fargate EC2 Fargate 1. Choose your orchestration tool 2. Choose your launch type We’re working on it #32
  • 9. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS Container Roadmap on GitHub Captured 19/5/2019 https://github.com/aws/containers-roadmap
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. AWS Containers Roadmap on GitHub https://github.com/aws/containers-roadmap
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. What is Kubernetes? • Open source container management platform • Helps you run containers at scale • Gives you primitives for building modern applications
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Kubernetes Architecture Scheduler Controllers etcd API Server Kubelet Kube-proxy Control Plane Kubelet Kube-proxy Kubelet Kube-proxyData Plane
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Shared Responsibility Model Customers Data plane Amazon EKS Control PlaneContainers
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Amazon EKS Compliance Amazon EKS Control Plane
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Amazon EKS Security: A Shared Responsibility Customers Data planeContainers a. Data plane security lifecycle b. Container security lifecycle 1. Understand ownership boundaries 2. Build your threat model around:
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. So, you’re a developer …
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Where do images come from? Images are… …separated by tags… …(optionally) stored in repositories… …organized in registries image:tagrepository/registry/
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Where does nginx come from? Image Name Default tag: latest Default repository: library Default registry: Docker Hub (docker.io) nginx:latestlibrary/docker.io/
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. AWS ECR CoreOS Quay JFrog ArtifactoryDocker Registry Registries • Public/Private • Cloud/Self-Hosted • Open Source/Enterprise
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Private Registries …should be trusted if it’s yours! • Keep images close to runtime • Lower latency • Reduce “man-in-the-middle” attacks • Controlled maintenance window • ”Cached” image copy in AWS, even if not the original
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Public Registries …should NOT be trusted! Docker Hub has official repositories • Essential base OS repositories • Popular runtimes, data stores, and services (PaaS) • Best Practices examples • Security Scanned and Updated https://hub.docker.com/explore/
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Marketplace Registries “Trust butVerify” Docker Store • Submitted by StoreVendor Partners • Published and maintained by company • Offers “Docker Certified” images • Search includes Docker Hub (as option) https://store.docker.com/search
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Containerise an app
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Selecting a Base Image Know where your base image comes from • What base image/OS does nginx use? • What repository did this base image come from? • Who published it to that repository? • When was it last published? Don’t assume that everything on DockerHub (or Github, or NPM) is secure!
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. From https://hub.docker.com/_/nginx/
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. From docker-nginx/mainline/stretch/Dockerfile
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Selecting a Base Image Tag Avoid latest tag on images • Can introduce security flaws • Can cause security scan failures Use a defined tag • nginx:1.13 https://hub.docker.com/_/nginx/
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. FROM scratch Base Image scratch… • does not contain any files • is an empty base image • uses bootfs from kernel Golang is a good choice • binary as single file!
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Unprivileged Containers Unless you specify a user, your containers will run as the same user as Docker This means ROOT Give your container a user!
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Minimise Attack Vectors • Write security-minded code! • No hard-coded passwords • Sanitise inputs (OWASPTop 10 etc) • Test,Test,Test • AppSec Review • Encryption SDK
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Multi-Stage Builds • Each Dockerfile command is one layer • Shell tricks (like &&) to reduce layers? • Maintain multiple Dockerfiles? • Dev Dockerfile: build/debug • Prod Dockerfile: just run • Solution: Multi-Stage Builds: • Or build without Docker at all? • Kaniko / Skaffold FROM golang:1.7.3 WORKDIR /go/src/scott/app COPY app.go . RUN go build -o app . FROM alpine:3.7 WORKDIR /root/ COPY --from=0 /go/src/scott/app . CMD ["./app"]
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Humans make mistakes…
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. CI/CD for Image Builds Source Build Store ImageTest • Scanning/Linting code & deps (Dockerfile et al) • Image Scanning in Pipeline (via Test phase) • Image Signing (Cryptographic Verification)
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Build Time Scanners Twistlock Clair Black Duck Trend Micro Deep Security SmartCheck
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Image/Runtime Scanners Twistlock Aqua Security NeuVector Clair Black Duck Tenable
  • 36. © 2019, Amazon Web Services, Inc. or its Affiliates. https://aws.amazon.com/containers/partner-solutions/
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. So, you’re in Ops ….
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Development has given you a new “image” … Now what? • Verify the image • Check Dockerfile from source • Validate build pipeline/artifact • Check scan results • Create Runtime Configuration
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Runtime Configuration • Shared Responsibility between Dev and Ops • Meets at the runtime (Task Definition/Pod Specification) Runtime ConfigDevelopment Operations
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Runtime Configuration • A declarative set of instructions that tells the scheduler how to run containers. Examples: Task Definition Pod Specification
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Reduce/Remove SELinux Capabilities • Linux Most containers do not need root privileges • Logging handled through runtime • Network is managed for container • Do not need SSH to container • Cron as scheduled container • Docker drops unnecessary capabilities • Reduces blast radius of compromised container CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_BLOCK_SUSPEND CAP_DAC_READ_SEARCH CAP_FOWNER CAP_IPC_LOCK CAP_IPC_OWNER CAP_LEASE CAP_LINUX_IMMUTABLE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_NET_ADMIN CAP_NET_BROADCAST CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_MODULE CAP_SYS_NICE CAP_SYS_PACCT CAP_SYS_PTRACE CAP_SYS_RAWIO CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_TTY_CONFIG CAP_SYSLOG CAP_WAKE_ALARM CAP_AUDIT_WRITE CAP_CHOWN CAP_DAC_OVERRIDE CAP_FSETID CAP_KILL CAP_MKNOD CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETFCAP CAP_SETPCAP CAP_SETUID CAP_SYS_CHROOT
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Namespaces • Linux kernel feature to partition kernel resources to a specific set of processes • Isolates from other similar resources • Mount points (mnt) • Process IDs (pid) • Networks (net) • Users (user) • InterProcess Communication (ipc) • Control Groups (cgroup)
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Control Groups (cgroups) • Linux kernel feature to limit and isolate hardware access to a specific set of processes • CPU, memory, disk I/O, network • Includes accounting and prioritization • Prevents oversubscription on the hostVM • “By default, a container has no resource constraints and can use as much of a given resource as the host’s kernel scheduler allows” (Docker) • “Noisy Neighbours”
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Resource Limits (ulimits) • “User Limit” - restrict usage of resources per user • Docker restricts usage of resources per container • Per process (prlimit) • Soft/Hard Limit per item • Soft limit can be increased by container • Hard limit can be increased with privilege • Example: number of processes (nproc) • Avoid the fork-bomb core cpu data fsize locks memlock msgqueue nice nofile nproc rss rtprio rttime sigpending stack
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Seccomp • “Secure Computing Mode” • Transition a process into a secure state • Irreversible • Supported from Docker 1.10 • Controls system calls by container • Docker-supported seccomp profiles • Default Profile disables 44 system calls out of 300+ • Custom seccomp profile on containers via Docker security options • Examples: unconfined, default, <custom>
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. (Un-)Privileged Containers • sudo-esque permissions on the underlying host • Grants • Access to all devices • AppArmor/SELinux unrestricted access • Ability to Change Hard Resource Limits within container • Most containers should be UN-privileged (default) • Only needed for some use cases: • d-in-d (Docker in Docker – specialised use cases) • Containers that support Containers (e.g. monitoring agents)
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Read-Only Containers • Changes the root filesystem to read-only • Unable to write to files (or change files) • Can write logs to stdout and stderr • Supports immutable workloads • If something changes, launch new containers
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. IAM Roles for Instances • Restricts containers running on instance to specific set of permissions • Shared permissions among containers on instance
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. IAM Roles for Tasks/Pods • Least Privilege • Moves authorisation to container level • Containers on same instance do not share permissions! • Small change to IAM Role • K8s pods require additional daemon • jtblin/kube2iam
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Network Security for Instances • ENI on instance • Traffic bridged to container • Shared security group among containers on instance • Default Network Namespace • Updates to security groups based on abstracted IPs
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Network Security for Tasks/Pods • Network namespace for each task/pod* • ENIs attached to namespace • Traffic routed to container • Isolated security with each task/pod • EKS pods may share ENI • Same instance • Same subnet *Pods in the same ReplicaSet share the same Network Namespace
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Network Security for Tasks/Pods Container Network Interface Plugin • containernetworking/cni • configures network interfaces in Linux containers Used with runtimes: • ECS (awsvpc mode) • Fargate • EKS (with aws/amazon-vpc-cni-k8s)
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Protecting the Host
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Start with the Operating System • Only include binaries/libraries necessary to run containers • Minimise the image • Potential performance boost • Container Runtime handles many system calls • Suggested Operating Systems/Images: (I like http://www.projectatomic.io/ , too) Optimized AMIs
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Remember EC2 and Linux Best Practices • Restrict communication to your host by using tools outside the host (same as EC2): • Security Groups, NACLs, Firewalls,WAF, IDS / IPS • Minimal number of users with specific permissions • Fine-grained controls using tools like SELinux,AppArmor • No passwords on host • IAM Role • Secrets Management • No root access • AWS Security ProcessesWhitepaper (and others!)
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Ongoing Operational Practices • Patch the host often • Recurring reviews of settings and configuration • Monitoring, Logging, Auditing • Cloudwatch, Splunk • Datadog, New Relic • Prometheus • Alcide • CIS Benchmark • GitHub: docker-bench-security • http://dev-sec.io/  Launch new immutable hosts
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Let someone else worry about hosts?! • No Host = Less Operations • Only secure the task, not the host • Security Groups, NACLs, Firewalls,WAF, IDS / IPS • No users, no passwords, no root access • No Patching (Fargate launches new hosts) • Recurring reviews of settings and configuration • Monitoring, Logging, Auditing
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Securely Deploying Containers
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Humans make mistakes…
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. CI/CD for Container Deployments
  • 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Wider Security Ecosystem / Next Steps • Alternative Container Engines • rkt • gVisor • Kata • IAM on the container level • ECS/Fargate – IAM forTask Roles • EKS/K8s – kube2iam, kiam • Use AWS Security Services, Partners, and SMEs • Test,Test,Test!
  • 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Orchestration and Management Security
  • 63. © 2019, Amazon Web Services, Inc. or its Affiliates. Shared Responsibility Model Responsible for Security “of” the cloud Responsible for Security “in” the cloud Network and Firewall Configuration Identity & Access Management Customer Data Compute Storage Database Networking Regions Availability Zones Edge Locations Operating System Applications Platform AWSCUSTOMER
  • 64. © 2019, Amazon Web Services, Inc. or its Affiliates. IAM = Who can do what in the platform and/or cluster? People Code / Pipelines Photo & Licence Photo & Licence
  • 65. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS IAM vs. Kubernetes RBAC If using ECS then that is a native extension of the AWS platform and is fully managed by AWS IAM. If running Kubernetes, either yourself or via EKS, then you need to understand and configure BOTH AWS IAM and Kubernetes RBAC.
  • 66. © 2019, Amazon Web Services, Inc. or its Affiliates. K8s action allowed/denied EKS: IAM Authentication + kubectl Authorization of AWS Identity against Kubernetes RBAC K8s API Passes AWS Identity Verifies AWS Identity kubectl AWS IAM Authentication
  • 67. © 2019, Amazon Web Services, Inc. or its Affiliates. Kubernetes RBAC built-in ClusterRoles Default ClusterRole Description cluster-admin Allows super-user access to perform any action on any resource. When used in a ClusterRoleBinding, it gives full control over every resource in the cluster and in all namespaces. When used in a RoleBinding, it gives full control over every resource in the rolebinding's namespace, including the namespace itself. admin Allows admin access, intended to be granted within a namespace using a RoleBinding. If used in used in a RoleBinding, allows read/write access to most resources in a namespace, including the including the ability to create roles and rolebindings within the namespace. It does not allow allow write access to resource quota or to the namespace itself. edit Allows read/write access to most objects in a namespace. It does not allow viewing or modifying modifying roles or rolebindings. view Allows read-only access to see most objects in a namespace. It does not allow viewing roles or roles or rolebindings. It does not allow viewing secrets, since those are escalating
  • 68. © 2019, Amazon Web Services, Inc. or its Affiliates. Kubernetes RBAC Basics Kubernetes has Roles which are defined and apply within a single namespace (a virtual cluster) and ClusterRoles which apply cluster- wide across all namespaces. You define custom roles describing resources (such as pods and nodes) and which verbs (such as get, update and delete) are allowed against them. kind: ClusterRole metadata: name: cluster-admin rules: - apiGroups: - '*' resources: - '*' verbs: - '*' - nonResourceURLs: - '*' verbs: - '*'
  • 69. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS IAM Role per Task / Pod? Assigning an IAM Role to a ECS Task is an included feature in the AWS Platform and ‘just works’. If running Kubernetes then you need to add either kube2iam or kiam to leverage this functionality. Assigning an IAM role to an Instance/Task/Function means the right AWS access key and secret to call the AWS CLI/SDK are transparently obtained and rotated.
  • 70. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. VPC IAM Roles for Nodes and Pods API Server Kubelet Kube-proxy Kubelet Kube-proxy Kubelet Kube-proxy AWS Key Management Service AWS Secrets Manager Amazon GuardDuty Amazon Inspector AWS CloudTrail Amazon CloudWatch AWS Config AWS Systems Manager
  • 71. © 2019, Amazon Web Services, Inc. or its Affiliates. Shared Responsibility Model Responsible for Security “of” the cloud Responsible for Security “in” the cloud Network and Firewall Configuration Identity & Access Management Customer Data Compute Storage Database Networking Regions Availability Zones Edge Locations Operating System Applications Platform AWSCUSTOMER
  • 72. © 2019, Amazon Web Services, Inc. or its Affiliates. Logging and Auditing the Control Plane ECS is part of the AWS platform and the control plane logs go to CloudTrail just like the rest of the platform. Kubernetes’ control plane logs include an audit trail. When using EKS these logs are not enabled by default but you can (and should) enable logging to CloudWatch Logs. Logging of the control plane, especially around an audit trail of API actions, is an important aspect of security.
  • 73. © 2019, Amazon Web Services, Inc. or its Affiliates. Shared Responsibility Model Responsible for Security “of” the cloud Responsible for Security “in” the cloud Network and Firewall Configuration Identity & Access Management Customer Data Compute Storage Database Networking Regions Availability Zones Edge Locations Operating System Applications Platform AWSCUSTOMER
  • 74. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS Security Groups vs. Kubernetes Network Polices If using ECS then that is an extension of the AWS platform and you only need to understand and configure AWS VPC and Security Groups. If running Kubernetes yourself or EKS then you need to understand and configure BOTH AWS VPCs / Security Groups as well as Kubernetes Network Polices
  • 75. © 2019, Amazon Web Services, Inc. or its Affiliates. Default/Root Namespace lo eth0 Task Namespace lo eth1 Networking with ECS When using ECS with the aws-vpc network mode (optional for EC2 mode but required for Fargate mode) then each Task gets its own dedicated Elastic Network Interface (ENI). Since each Task is 1:1 with an ENI and each ENI is 1:1 with a Security Group (SG) that means any communication in/out of each Task goes through its SG on both ingress and egress.
  • 76. © 2019, Amazon Web Services, Inc. or its Affiliates. Micro-segmenting with Security Groups You can use a security group ID as both a source and destination for other security group rules – both to loop back to itself or referencing other SGs. • This enables network segmentation without complex subnetting
  • 77. © 2019, Amazon Web Services, Inc. or its Affiliates. EKS Control Plane API Endpoints – Make Them Private Worker VPC (your account) Kubectl Master VPC (AWS account) etcd AZ 1 AZ 2 API Server etcd API Server EKS-owned ENIs Public == false Private == true prod-cluster-123.eks.amazonaws.com Private hosted zone Kubelet AZ 1 Worker node Kube-proxy Kubelet AZ 2 Worker node Kube-proxy
  • 78. © 2019, Amazon Web Services, Inc. or its Affiliates. Networking with EKS ENI Secondary IPs: 10.0.0.1 10.0.0.2 10.0.0.1 10.0.0.2 ENI 10.0.0.20 10.0.0.22 Secondary IPs: 10.0.0.20 10.0.0.22 ec2.associateaddress() VPC Subnet – 10.0.0.0/24 Instance 1 Instance 2 VPC
  • 79. © 2019, Amazon Web Services, Inc. or its Affiliates. Installing a Network Policy Provider on Kubernetes You first need to add a Network Policy Provider to EKS / Kubernetes in order to use Network Policies. A popular one covered in our documentation is Calico. https://docs.aws.amazon.com/eks/latest/userguide/calico.html
  • 80. © 2019, Amazon Web Services, Inc. or its Affiliates. Frontend Cats Dogs kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: default-deny spec: podSelector: matchLabels: {} catsndogs-namespace Network Policies on Kubernetes
  • 81. © 2019, Amazon Web Services, Inc. or its Affiliates. Frontend Cats Dogs kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: default-deny spec: podSelector: matchLabels: {} catsndogs-namespace Network Policies on Kubernetes
  • 82. © 2019, Amazon Web Services, Inc. or its Affiliates. Frontend Cats Dogs catsndogs-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: public-to-frontend spec: podSelector: matchLabels: role: frontend ingress: - from: - ipBlock: cidr: "0.0.0.0/0" ports: - protocol: TCP port: 80 Network Policies on Kubernetes
  • 83. © 2019, Amazon Web Services, Inc. or its Affiliates. Frontend Cats Dogs catsndogs-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: public-to-frontend spec: podSelector: matchLabels: role: frontend ingress: - from: - ipBlock: cidr: "0.0.0.0/0" ports: - protocol: TCP port: 80 Network Policies on Kubernetes
  • 84. © 2019, Amazon Web Services, Inc. or its Affiliates. Frontend Cats Dogs catsndogs-namespace apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: frontend-to-cats spec: podSelector: matchLabels: role: cats ingress: - from: - podSelector: matchLabels: role: “frontend” ports: - protocol: TCP port: 80 Network Policies on Kubernetes
  • 85. © 2019, Amazon Web Services, Inc. or its Affiliates. Secure Cloud Edition (CE) Features: • Enterprise Support from Tigera • Host-to-Host IPSEC Encryption • Flow Logs enriched with Kubernetes Workload Metadata • Integration between AWS Security Groups and Network Policies
  • 86. © 2019, Amazon Web Services, Inc. or its Affiliates. Secure Cloud Edition (CE)
  • 87. © 2019, Amazon Web Services, Inc. or its Affiliates. Alternative – Multiple NodeGroups or EKS Clusters One way that you can both assign both EC2 Instance-level IAM Roles (without kops or kiam) as well as fully trust Security Group-based micro- segmentation without Tigera is to have a different set of worker nodes or even entirely separate Clusters for different services or trust boundaries. EKS has the concept of a NodeGroup which is a separate Auto Scaling Group of worker Nodes that can be labelled in such a way that you can limit which pods/services can be run on them. https://kubernetes.io/docs/concepts/configuration/assign-pod-node
  • 88. © 2019, Amazon Web Services, Inc. or its Affiliates. Security Benefits Of Fargate We do more, you do less. • Patching (OS, Docker, ECS Agent, etc.) • Task isolation (via Firecracker) • No --privileged mode for containers • Requires awsvpc network mode so ENI/SG perTask • No runtime access for users (ssh or interactive Docker)
  • 89. © 2019, Amazon Web Services, Inc. or its Affiliates. EC2-mode ECS Shared Responsibility Model Network and Firewall Configuration Customer Data Storage Database Networking Regions Edge Locations Operating System Images ECSConfig ECSControl Plane Instance Scaling Compute Identity & Access Management Availability Zones AWSCUSTOMER
  • 90. © 2019, Amazon Web Services, Inc. or its Affiliates. ECS Fargate Shared Responsibility Model Network and Firewall Configuration Customer Data Storage Database Networking Regions Edge Locations Operating System Images ECSConfig ECSControl Plane Instance Scaling Compute Identity & Access Management Availability Zones AWSCUSTOMER
  • 91. © 2019, Amazon Web Services, Inc. or its Affiliates. Updating EKS • Kubernetes has a new major version every quarter • Kubernetes has a new minor version quite regularly • Sometimes Kubernetes updates are security-related • EKS has APIs to trigger an update of the control plane • You then need to update the worker Nodes - both re: Kubernetes as well as Docker and OS • Often the workers are in an Autoscaling Group so this means building updating AMIs • We provide a regularly updated EKS Node AMI as well as scripts to build your own.
  • 92. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Kubernetes and container security issues https://aws.amazon.com/security/security-bulletins/ https://aws.amazon.com/blogs/compute/anatomy-of-cve-2019-5736-a-runc-container-escape/
  • 93. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Amazon EKS update lifecycle May 21, 2019 Blog: https://aws.amazon.com/blogs/compute/updates-to-amazon-eks-version-lifecycle/
  • 94. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS Parameter Store, Secrets Manager and Kubernetes Secrets AWS has both Parameter Store and Secrets Manager to store your Secrets. They are integrated into ECS but you’ll need to call them within the Pod on Kubernetes via our CLI or SDK. Kubernetes’ built-in Secrets functionality stores secrets in its control plane and puts them into running Pods via Environment Variables or files in the filesystem. You can’t use these outside of the Kubernetes cluster.
  • 95. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Kubernetes-Specific Security Add-Ons
  • 96. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Admission Controllers in Kubernetes
  • 97. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Admission Controllers in Kubernetes Source: https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/
  • 98. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Open Policy Agent – CNCF Project (Incubating) Logic Data Request Policy Query Policy Decision (Allow/Deny) Source: OPA Deep Dive https://www.youtube.com/watch?v=n94_FNhuzy4
  • 99. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved..© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Resources
  • 100. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Security – AWS / Containers • https://aws.amazon.com/security/ • https://d1.awsstatic.com/whitepapers/Security/Security_Compute_Services _Whitepaper.pdf • https://d1.awsstatic.com/whitepapers/AWS_CAF_Security_Perspective.pdf • https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practic es.pdf • https://docs.docker.com/engine/security/security/ • https://github.com/docker/docker-bench-security • https://www.infoworld.com/article/3234671/containers/4-container-security- tools-for-docker-and-kubernetes.html • https://thenewstack.io/5-docker-security-best-practices/
  • 101. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Security – Partners / OSS / Third Party • https://www.twistlock.com/ • https://www.aquasec.com/ • https://www.datadoghq.com/ • https://newrelic.com/ • https://sysdig.com/ • https://www.tenable.com/ • https://neuvector.com/ • https://www.blackducksoftware.com/ • https://prometheus.io/ • https://alcide.io/ • Many, many others ….
  • 102. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.. Data Plane Security - Container Runtime Interface Kubelet docker-containerd docker-containerd-shim docker-runc Container docker-containerd-shim docker-runc Container docker-containerd-shim docker-runc Container Inside the CNCF Project Security Reviews: https://www.youtube.com/watch?v=0BkKpsrUo5k CRI