Securing Danish Healthcare
using Cloud Native
Frederik Mogensen
Senior Cloud Architect at Trifork
Common Danish Telemedicine Platform
Telemedicine Platform
● Covering all of Denmark
○ 5 regions + 98 municipalities
● Helping chronically ill patients to live at
home
● Defining different questionnaires for each
illness
● Patients measuring and responding to
questionnaires daily
Photo by Jair Lázaro on Unsplash
Platform Focus
● Handling healthcare data demands a
high focus on
○ Stability
○ Observability
○ Security
Photo by Philipp Katzenberger on Unsplash
Cloud Native
“Cloud native computing is an approach in software development that utilizes
cloud computing to "build and run scalable applications in modern, dynamic
environments such as public, private, and hybrid clouds".
Technologies such as containers, microservices, serverless functions and
immutable infrastructure, deployed via declarative code are common elements
of this architectural style”
https://en.wikipedia.org/wiki/Cloud_native_computing
Defense-in-depth using
The 4C's of Cloud Native security
www.trendmicro.com
Cloud / Co-lo / Corporate Data
Center
Cloud provider security
Area of Concern
● Network access
● Access to Cloud Provider API
● Disk Encryption
● Database access
● Internet access
● Misconfiguration / drifting configuration
Photo by Mauro Sbicego on Unsplash
Cloud provider security
● Infrastructure as code ensures systems consistent
● IaC allows for security scanning of code
Short demo
$ tfscan
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Kubernetes Infrastructure
Area of Concern
● Network access to API Server
● Network access to Nodes
● Kubernetes access to Cloud Provider API
● Access to etcd
● etcd Encryption
Photo by Frank Eiffert on Unsplash
Kubernetes Infrastructure
Short demo
$ docker run -it --rm --network host 
aquasec/kube-hunter --interface
$ curl -k https://172.18.0.2:6443/version
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Cluster
Static Cluster Security
Area of Concern
● RBAC Authorization (Access to the Kubernetes API)
● Pod Security Policies (Deprecated)
○ Run as Root?
○ Allow host paths?
○ Allow privileged?
● Quality of Service (and Cluster resource management)
● Network Policies
● TLS For Kubernetes Ingress
Photo by Umberto on Unsplash
Static Cluster Security
Short demo
$ polaris dashboard
$ kubeaudit all -f demo.yaml
kubeaudit
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Runtime Cluster Security
● Pod Communication
○ JWT validation
○ mTLS Data Layer encryption
○ Network policies
● Monitoring Traffic
○ Tracing specific calls
○ Graphing all traffic between services
● Secrets & Certificates
○ Service Accounts
Short demo
$ docker-compose up
Intruder Detection / Intruder Prevention
Short demo
$ docker-compose up
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Container
Container Security
Area of Concern
● Container Vulnerability Scanning
● OS Dependency Security
● Image Signing and Enforcement
● Disallow privileged users
● Use container runtime with stronger isolation
Photo by Docker
Image Scanning and Security
Short demo
$ trivy nginx:latest
$ trivy nginx:alpine
$ docker run -it --rm nginx:latest whoami
$ docker run -it --rm 
nginxinc/nginx-unprivileged:stable-alpine whoami
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Code
● Access over TLS only
● Limiting port ranges of communication
● 3rd Party Dependency Security
● Static Code Analysis
● Dynamic probing attacks
Code Scanning
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Summary or Attack demo?
● Shift left on security, early focus
● Consider your vulnerabilities for all layers
○ Cloud
○ Cluster
○ Container
○ Code
● Automated scanning and analysis
● Remember that a creative mind finds stuff a machine can’t.
Summary and buzzwords
Frederik Mogensen
fmo@trifork.com
Examples are available at: https://github.com/mogensen/cloud-security-presentation/
Thank you

Securing danish healthcare using cloudnative

  • 1.
    Securing Danish Healthcare usingCloud Native Frederik Mogensen Senior Cloud Architect at Trifork
  • 2.
  • 3.
    Telemedicine Platform ● Coveringall of Denmark ○ 5 regions + 98 municipalities ● Helping chronically ill patients to live at home ● Defining different questionnaires for each illness ● Patients measuring and responding to questionnaires daily Photo by Jair Lázaro on Unsplash
  • 4.
    Platform Focus ● Handlinghealthcare data demands a high focus on ○ Stability ○ Observability ○ Security Photo by Philipp Katzenberger on Unsplash
  • 5.
    Cloud Native “Cloud nativecomputing is an approach in software development that utilizes cloud computing to "build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds". Technologies such as containers, microservices, serverless functions and immutable infrastructure, deployed via declarative code are common elements of this architectural style” https://en.wikipedia.org/wiki/Cloud_native_computing
  • 6.
    Defense-in-depth using The 4C'sof Cloud Native security www.trendmicro.com
  • 7.
    Cloud / Co-lo/ Corporate Data Center
  • 8.
    Cloud provider security Areaof Concern ● Network access ● Access to Cloud Provider API ● Disk Encryption ● Database access ● Internet access ● Misconfiguration / drifting configuration Photo by Mauro Sbicego on Unsplash
  • 9.
    Cloud provider security ●Infrastructure as code ensures systems consistent ● IaC allows for security scanning of code Short demo $ tfscan Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 10.
    Kubernetes Infrastructure Area ofConcern ● Network access to API Server ● Network access to Nodes ● Kubernetes access to Cloud Provider API ● Access to etcd ● etcd Encryption Photo by Frank Eiffert on Unsplash
  • 11.
    Kubernetes Infrastructure Short demo $docker run -it --rm --network host aquasec/kube-hunter --interface $ curl -k https://172.18.0.2:6443/version Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 12.
  • 13.
    Static Cluster Security Areaof Concern ● RBAC Authorization (Access to the Kubernetes API) ● Pod Security Policies (Deprecated) ○ Run as Root? ○ Allow host paths? ○ Allow privileged? ● Quality of Service (and Cluster resource management) ● Network Policies ● TLS For Kubernetes Ingress Photo by Umberto on Unsplash
  • 14.
    Static Cluster Security Shortdemo $ polaris dashboard $ kubeaudit all -f demo.yaml kubeaudit Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 15.
    Runtime Cluster Security ●Pod Communication ○ JWT validation ○ mTLS Data Layer encryption ○ Network policies ● Monitoring Traffic ○ Tracing specific calls ○ Graphing all traffic between services ● Secrets & Certificates ○ Service Accounts Short demo $ docker-compose up
  • 16.
    Intruder Detection /Intruder Prevention Short demo $ docker-compose up Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 17.
  • 18.
    Container Security Area ofConcern ● Container Vulnerability Scanning ● OS Dependency Security ● Image Signing and Enforcement ● Disallow privileged users ● Use container runtime with stronger isolation Photo by Docker
  • 19.
    Image Scanning andSecurity Short demo $ trivy nginx:latest $ trivy nginx:alpine $ docker run -it --rm nginx:latest whoami $ docker run -it --rm nginxinc/nginx-unprivileged:stable-alpine whoami Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 20.
  • 21.
    ● Access overTLS only ● Limiting port ranges of communication ● 3rd Party Dependency Security ● Static Code Analysis ● Dynamic probing attacks Code Scanning Examples are available at: https://github.com/mogensen/cloud-security-presentation/
  • 22.
  • 23.
    ● Shift lefton security, early focus ● Consider your vulnerabilities for all layers ○ Cloud ○ Cluster ○ Container ○ Code ● Automated scanning and analysis ● Remember that a creative mind finds stuff a machine can’t. Summary and buzzwords
  • 24.
    Frederik Mogensen fmo@trifork.com Examples areavailable at: https://github.com/mogensen/cloud-security-presentation/ Thank you