Ciel ! Mon Kubernetes mine des bitcoins...

Open Source Experience
Open Source ExperiencePalais des Congrès - Paris
Ciel ! Mon Kubernetes mine des
Bitcoins
1
~$ whoami
Denis GERMAIN
Senior SRE chez
Blog tech (et +) : blog.zwindler.fr*
@zwindler     denis-germain
#geek #SF #courseAPied
*Les slides de ce talk sont sur le blog
2
Ciel ! Mon Kubernetes mine des
Bitcoins
3
Docker / Kubernetes
: Outil de gestion
d'applications isolées via utilisation de
fonctionnalités du kernel Linux +
magasin d'images immutables
: Orchestrateur de containers,
inspiré par un outil interne de Google,
opensourcé et donné à la Linux
Foundation en 2015.

Abstrait l'infra avec du YAML
4
What could possibly go wrong ?
5
Un outil complexe ? Pas
grave, il y a une GUI !
Tesla ...
The hackers had infiltrated Tesla’s
Kubernetes console which was not
password protected / Source : redlock.io
6
Autre exemple : Kubeflow
Interface pour planifier des tâches de ML
Machine Learning ⇒ utilisation de GPUs
Gains bien plus importants
zdnet - Microsoft découvre un gang de
cryptomining détournant des clusters Kubernetes
7
Pas d'interfaces ouvertes sur Internet !!!
Les clouds providers les désactivent par défaut
Pour la gestion courante : des UIs locales (Lens, k9s , ...)
Pour la métrologie : Grafana + Prometheus, outils tiers
8
Sécuriser la plateforme
9
Architecture simplifiée de Kubernetes
10
Pas d'APIs sur Internet !
2000 Docker engines are insecurely exposed to the Internet unit42
: Docker API + Graboid
[...] but it was possible to connect from….the Internet
4armed : etcd + Digital Ocean
our coworker’s server was also publicly exposing the kubelet ports
Handy + kubelet
11
Contrôle d'accès dans Kubernetes
RBAC (Role-based access control) par défaut
Appliquez le principe de moindre privilège
     
12
Failles dans Kubernetes
Août 2019 : la CNCF a commandé un audit du code de Kubernetes
Quelques grosses CVE "récentes"
2018 / faille dans l'API server
ZDnet : La première grosse faille de sécurité est là (API server)
2019 / faille dans RunC pour sortir du container
Faille dans RunC (Docker, Kubernetes et Mesos concernés)
2020 / faille dans kubernetes controller manager
When it’s not only about a Kubernetes CVE…
13
Sécuriser les workloads
14
Pas de container exécuté en
tant que root !
Kubernetes utilise (pour l'instant) la même
table des ID utilisateurs que l'hôte Linux
Container lancé en tant que root == Binaire
lancé en root sur l'hôte
Kubecon EU 2018: The route to Rootless
Containers
@sylvielorxu
15
JW Player
Un service de supervision (Weave Scope) avait été créé avec des
privilèges et accessible depuis le net
How A Cryptominer Made Its Way in our k8s Clusters
Our deployment was missing the annotation to make the load
balancer internal

The weave-scope container is running with the --privileged flag

Files on the root file system were mounted onto the container

Containers are run as the  root user.
16
Pod Security Policy
Imposer des règles pour sécuriser l'utilisation du cluster
# Required to prevent escalations to root.
allowPrivilegeEscalation: false
runAsUser:
# Require the container to run without root privileges.
rule: 'MustRunAsNonRoot'
DEPRECATED depuis Kubernetes 1.21...
A remplacer par OPA (Open Policy Agent) ou Kyverno
17
Mon cluster lance des GCC ???
Il existe des Intrusion Detection System / runtime scanning
Utilise des programmes BPF dans le kernel pour détecter des
comportements anormaux
Cilium Uncovering a Sophisticated Kubernetes Attack in Real-Time
18
Sécuriser vos images Docker
Limitez le risque et l'impact d'une compromission :
Le moins de dépendances possibles et des composants à jour !
Ne pas ajouter des binaires utiles aux attaquants
oubliez ping , traceroute , gcc , ...
Pas de shell !
19
Conclusion
20
Conclusion
Ne déployez pas Kubernetes si vous n'en avez pas besoin !
Mais si vous en avez l'utilité, allez y !
Il y a beaucoup de choses à sécuriser dans Kube
Formez vos développeurs, pas seulement les Ops !
Sécurisez dès le début
Et après tout se passera bien
21
That's all folks
22
Backup slides
23
Kubernetes threat matrix
Microsoft Security Blog
24
There is a lot to Secure
Source: Kubernetes Security / Duffie Cooley 25
La mode des containers
Il existe de nombreuses implémentations des containers
est très utilisé depuis quelques années
utilise des fonctionnalités du kernel Linux
fourni une interface "simple" et un magasin d'images
Outil qui permet d'empaqueter une application et ses
dépendances. Elle pourra être exécuté sur n'importe quel serveur
26
Kubernetes, un outil puissant et complexe
pour abstraire l'infrastructure
Décrire l'état souhaité de notre application hautement disponible
27
RBAC dans la pratique
Le principe des moindres privilèges est un vrai chantier
à mettre en place dès le début du cycle de développement
plus difficile à appliquer a posteriori (sauf à tout bloquer)
Pour auditer le RBAC :
kubectl auth can-i
kubectl who-can
et plein d'autres
28
Utilisez une authentification tierce
Pas de gestion des (vrais) utilisateurs. Les applications/démons ont
des ServiceAccounts authentifiés par :
Tokens JWT
Certificats (difficilement révocables )
Ajouter une authentification tierce de type OIDC + RBAC
29
sac de nouilles Network Policies chez Monzo
Monzo Bank a mis en place des Network Policies pour la totalité de
ses 1500 microservices :
30
Ajouter des Network Policies
Par défaut, Kubernetes autorise tout container à se connecter à
n'importe quel autre #OpenBar
              
31
Service Mesh !
Mettre en place des
Network Policies peut
être complexe...
... mais on peut faire
encore plus complexe !
32
Service Mesh
Déléguer beaucoup d'aspects réseau+sécu au Service Mesh :
gestion TLS
firewalling / ACL
analyse temps réel des attaques
audit/forensics, DDOS mitigation, ...
33
Votre cluster respecte les bonnes pratiques ?
kube-hunter (scan de vulnérabilité triviales)
kube-bench (benchmark CSI de votre installation)
Exemple d'attaque via Unauthenticated Kubelet
34
Vérifiez vos applications
kubeaudit (audit des app déployées)
kube-scan (risk assessment du type CVSS)
35
Sources
36
Les best practices
Kubernetes.io : 11 ways not to get hacked
CNCF : Kubernetes security best practices
Rancher : More Kubernetes best practices
Stackrox
Jerry Jalava : Kubernetes Security Journey
Workshop Sécuriser son Kubernetes au DevFest Nantes 2019
Duffie Cooley (VMware) : Kubernetes Security
Kubecon EU 2018 - Zalando Continuously Deliver your K8s Infra
37
Les outils pour durcir Kube (1/2)
Scan de vulnérabilité triviales : kube-hunter
Benchmark CSI de votre installation : kube-bench
Audit des app déployées : kubeaudit
"Risk assessment" du type CVSS : kube-scan
OPA / OnePolicyAgent
blog.zwindler.fr - Vos politiques de conformité sur Kubernetes avec
OPA et Gatekeeper
Kyverno
38
Les outils pour durcir Kube (2/2)
Analyse statique : Clair
Analyse statique : Anchore
Analyse statique : Trivy
Analyse runtime : Falco
SELinux, Seccomp, Falco, a technical discussion
Access, Assert, Act. La sécurité à l'échelle avec Falco
CNI + analyse runtime : Cilium
39
Les failles de sécu récentes de K8s (&+)
Faille dans RunC (Docker, Kubernetes et Mesos concernés)
Liste des CVE Kubernetes
ZDnet : La première grosse faille de sécurité est là (API server)
L'exploit pour la faille dans l'API Server
40
Les sociétés hackées dans la presse (1/2)
2018 : Cryptojacking chez Tesla
2019 : Cryptojacking chez jwplayer
Plus d'infos sur le cryptominer XMrig
ZDNET : des hackers utilisent les API de management de Docker
exposées sur le net
zdnet - Microsoft découvre un gang de cryptomining détournant
des clusters Kubernetes
4armed : Server-Side Request Forgery + etcd accessible depuis
Internet chez Digital Ocean
41
Les sociétés hackées dans la presse (2/2)
Un cluster perso d'un employé de Handy laisse son kubelet ouvert
sur Internet
Azure Container Instance (docker managé Azure) permettait
l'accès cross account
42
Kubernetes Security Audit
Audit du code en aout 2019 : article principal
Audit du code en aout 2019 : audit en lui même
43
Autre (1/2)
Outil d'audit des rôles
Une liste d'outils permettant d'auditer le RBAC dans Kubernetes
Une image XMRig (Monero) sur le Dockerhub
Twitter : "There is a lot to Secure in Kubernetes"
DNS Spoofing on Kubernetes Clusters
Docker and Kubernetes Reverse shells
Exploiter un Tomcat Manager non sécurisé
Backdoor dans webmin
44
Autre (2/2)
Meetup Enix Jpetazzo - escalation via hostPath Volume
blog.zwindler.fr - Should we have containers ?
blog.zwindler.fr - Combien de problèmes ces stacks ont générés ?
45
1 de 45

Recomendados

Meetup devops Geneva 20.03.18 por
Meetup devops Geneva 20.03.18Meetup devops Geneva 20.03.18
Meetup devops Geneva 20.03.18Hidora
363 vistas34 diapositivas
Petit-déjeuner OCTO - L'Infra au service de ses projets por
Petit-déjeuner OCTO - L'Infra au service de ses projetsPetit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsOCTO Technology
3.4K vistas51 diapositivas
DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen... por
DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen...DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen...
DevOps à l'échelle: ce que l'on a fait, ce que l'on a appris chez Societe Gen...Adrien Blind
1.5K vistas23 diapositivas
Introduction to Unikernels at first Paris Unikernels meetup por
Introduction to Unikernels at first Paris Unikernels meetupIntroduction to Unikernels at first Paris Unikernels meetup
Introduction to Unikernels at first Paris Unikernels meetupAdrien Blind
898 vistas12 diapositivas
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ? por
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?Adrien Blind
1.6K vistas18 diapositivas
DevSecOps : de la théorie à la pratique por
DevSecOps : de la théorie à la pratiqueDevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratiquebertrandmeens
2.8K vistas28 diapositivas

Más contenido relacionado

La actualidad más candente

Kubernetes est-il soluble dans la sécurité ? Meetup Genève por
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveKubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveNet4All
370 vistas19 diapositivas
CloudExpo Europe 2017 - DevOps entre client et fournisseur por
CloudExpo Europe 2017 - DevOps entre client et fournisseurCloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseurLudovic Piot
235 vistas21 diapositivas
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl... por
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...matteo mazzeri
92 vistas27 diapositivas
Sw 100 fr docker conteneurisation des applications por
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsStephane Woillez
475 vistas23 diapositivas
Opensource et AppSec : amis ou ennemis ? por
Opensource et AppSec : amis ou ennemis ?Opensource et AppSec : amis ou ennemis ?
Opensource et AppSec : amis ou ennemis ?bertrandmeens
441 vistas21 diapositivas
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects por
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projectsMicrosoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projectsFactoVia
134 vistas29 diapositivas

La actualidad más candente(20)

Kubernetes est-il soluble dans la sécurité ? Meetup Genève por Net4All
Kubernetes est-il soluble dans la sécurité ? Meetup GenèveKubernetes est-il soluble dans la sécurité ? Meetup Genève
Kubernetes est-il soluble dans la sécurité ? Meetup Genève
Net4All370 vistas
CloudExpo Europe 2017 - DevOps entre client et fournisseur por Ludovic Piot
CloudExpo Europe 2017 - DevOps entre client et fournisseurCloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseur
Ludovic Piot235 vistas
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl... por matteo mazzeri
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
matteo mazzeri92 vistas
Sw 100 fr docker conteneurisation des applications por Stephane Woillez
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
Stephane Woillez475 vistas
Opensource et AppSec : amis ou ennemis ? por bertrandmeens
Opensource et AppSec : amis ou ennemis ?Opensource et AppSec : amis ou ennemis ?
Opensource et AppSec : amis ou ennemis ?
bertrandmeens441 vistas
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects por FactoVia
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projectsMicrosoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
FactoVia134 vistas
Architecture microservices avec docker por gcatt
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
gcatt12.5K vistas
Dev ops - Contiuous delivery por Patrice Ferlet
Dev ops - Contiuous deliveryDev ops - Contiuous delivery
Dev ops - Contiuous delivery
Patrice Ferlet358 vistas
Oxalide Workshop #4 - Docker, des tours dans le petit bassin por Ludovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot883 vistas
DevOps, quel futur pour les Ops ? por Ludovic Piot
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?
Ludovic Piot671 vistas
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018 por Cedric Girard
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Cedric Girard503 vistas
Docker, une alternative aux machines virtuelles pour déployer ses services .N... por Microsoft
Docker, une alternative aux machines virtuelles pour déployer ses services .N...Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Microsoft1.1K vistas
REX sur l'outilage Continuous Delivery por Damien Goldenberg
REX sur l'outilage Continuous DeliveryREX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous Delivery
Damien Goldenberg1.7K vistas

Similar a Ciel ! Mon Kubernetes mine des bitcoins...

Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm... por
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
978 vistas42 diapositivas
Reverse Engineering d'un ransomware por
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareNinaSAMMUT
66 vistas12 diapositivas
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K... por
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...Mohamed Abdennebi
43 vistas33 diapositivas
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? por
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? ALTER WAY
2.1K vistas79 diapositivas
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? por
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
791 vistas79 diapositivas
Devenez l’Élu et maitrisez la Matrice AWS 🦸 por
Devenez l’Élu et maitrisez la Matrice AWS 🦸Devenez l’Élu et maitrisez la Matrice AWS 🦸
Devenez l’Élu et maitrisez la Matrice AWS 🦸Membré Guillaume
41 vistas66 diapositivas

Similar a Ciel ! Mon Kubernetes mine des bitcoins...(20)

Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm... por MSDEVMTL
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
MSDEVMTL978 vistas
Reverse Engineering d'un ransomware por NinaSAMMUT
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomware
NinaSAMMUT66 vistas
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K... por Mohamed Abdennebi
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Devoxx 2023 - Sécurisez votre software supply chain avec SLSA, Sigstore et K...
Mohamed Abdennebi43 vistas
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? por ALTER WAY
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
ALTER WAY2.1K vistas
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? por ALTER WAY
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
ALTER WAY791 vistas
Devenez l’Élu et maitrisez la Matrice AWS 🦸 por Membré Guillaume
Devenez l’Élu et maitrisez la Matrice AWS 🦸Devenez l’Élu et maitrisez la Matrice AWS 🦸
Devenez l’Élu et maitrisez la Matrice AWS 🦸
Membré Guillaume41 vistas
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann por TelecomValley
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
TelecomValley166 vistas
Docker le buzz est il justifié ? por Romain Chalumeau
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
Romain Chalumeau2.1K vistas
Patterns du continuous delivery avec azure dev ops et kubernetes por CEDRIC DERUE
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetes
CEDRIC DERUE104 vistas
Déploiement, orchestration & sécurisation d’APIs por Nicolas Herbaut
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
Nicolas Herbaut312 vistas
Kubernetes est-il soluble dans la sécurité ? NBS System & Doctolib - Assises ... por NBS System
Kubernetes est-il soluble dans la sécurité ? NBS System & Doctolib - Assises ...Kubernetes est-il soluble dans la sécurité ? NBS System & Doctolib - Assises ...
Kubernetes est-il soluble dans la sécurité ? NBS System & Doctolib - Assises ...
NBS System584 vistas
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018 por Alexis Ducastel
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Fonctionnalites et performances des cni pour Kubernetes - devops d-day 2018
Alexis Ducastel781 vistas
Créer une IA capable de reconnaître des fleurs (ou autres) por Olivier Eeckhoutte
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)
Olivier Eeckhoutte5.3K vistas
Présentation docker et kubernetes por Kiwi Backup
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
Kiwi Backup1.3K vistas
Virt lightning-montreal-linux-meetup-2020-02 por Gonéri Le Bouder
Virt lightning-montreal-linux-meetup-2020-02Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02
Gonéri Le Bouder42 vistas
Docker & son ecosystème por Aymen EL Amri
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
Aymen EL Amri133 vistas
Keynote .NET 2015 : une nouvelle ère por Microsoft
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
Microsoft1.8K vistas
Alphorm.com Formation Kubernetes : Installation et Configuration por Alphorm
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm10.8K vistas

Más de Open Source Experience

GAFAM or not GAFAM dans les collectivités por
GAFAM or not GAFAM dans les collectivitésGAFAM or not GAFAM dans les collectivités
GAFAM or not GAFAM dans les collectivitésOpen Source Experience
66 vistas18 diapositivas
Évolutions de la gouvernance des projets libres por
Évolutions de la gouvernance des projets libresÉvolutions de la gouvernance des projets libres
Évolutions de la gouvernance des projets libresOpen Source Experience
53 vistas15 diapositivas
Data in Motion : un enjeu pour la modernisation des systèmes d'information por
Data in Motion : un enjeu pour la modernisation des systèmes d'informationData in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'informationOpen Source Experience
37 vistas15 diapositivas
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps por
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsGérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsOpen Source Experience
72 vistas35 diapositivas
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ... por
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...Open Source Experience
50 vistas50 diapositivas
La montée en puissance de l’infrastructure ouverte por
La montée en puissance de l’infrastructure ouverteLa montée en puissance de l’infrastructure ouverte
La montée en puissance de l’infrastructure ouverteOpen Source Experience
39 vistas56 diapositivas

Más de Open Source Experience(20)

Data in Motion : un enjeu pour la modernisation des systèmes d'information por Open Source Experience
Data in Motion : un enjeu pour la modernisation des systèmes d'informationData in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'information
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps por Open Source Experience
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsGérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ... por Open Source Experience
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
L’Open Science au service des personnes atteintes d’épilepsie por Open Source Experience
L’Open Science au service des personnes atteintes d’épilepsieL’Open Science au service des personnes atteintes d’épilepsie
L’Open Science au service des personnes atteintes d’épilepsie
Impliquer des contributeurs externes dans son projet open source por Open Source Experience
Impliquer des contributeurs externes dans son projet open sourceImpliquer des contributeurs externes dans son projet open source
Impliquer des contributeurs externes dans son projet open source
Analyse de la composition logicielle à l’aide d’outils open source por Open Source Experience
Analyse de la composition logicielle à l’aide d’outils open sourceAnalyse de la composition logicielle à l’aide d’outils open source
Analyse de la composition logicielle à l’aide d’outils open source
E-commerce en 2021 : grandes tendances technologiques dans le développement d... por Open Source Experience
E-commerce en 2021 : grandes tendances technologiques dans le développement d...E-commerce en 2021 : grandes tendances technologiques dans le développement d...
E-commerce en 2021 : grandes tendances technologiques dans le développement d...
Démo : comment sécuriser des milliers de serveurs gratuitement por Open Source Experience
Démo : comment sécuriser des milliers de serveurs gratuitementDémo : comment sécuriser des milliers de serveurs gratuitement
Démo : comment sécuriser des milliers de serveurs gratuitement
GNU/Linux ou Android comme système d'exploitation embarqué ? por Open Source Experience
GNU/Linux ou Android comme système d'exploitation embarqué ?GNU/Linux ou Android comme système d'exploitation embarqué ?
GNU/Linux ou Android comme système d'exploitation embarqué ?
Démystifier les architectures orientées événements avec Apache Kafka por Open Source Experience
Démystifier les architectures orientées événements avec Apache KafkaDémystifier les architectures orientées événements avec Apache Kafka
Démystifier les architectures orientées événements avec Apache Kafka
Choisir le bon business model et la bonne licence pour la survie de son proje... por Open Source Experience
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...

Ciel ! Mon Kubernetes mine des bitcoins...

  • 1. Ciel ! Mon Kubernetes mine des Bitcoins 1
  • 2. ~$ whoami Denis GERMAIN Senior SRE chez Blog tech (et +) : blog.zwindler.fr* @zwindler     denis-germain #geek #SF #courseAPied *Les slides de ce talk sont sur le blog 2
  • 3. Ciel ! Mon Kubernetes mine des Bitcoins 3
  • 4. Docker / Kubernetes : Outil de gestion d'applications isolées via utilisation de fonctionnalités du kernel Linux + magasin d'images immutables : Orchestrateur de containers, inspiré par un outil interne de Google, opensourcé et donné à la Linux Foundation en 2015. Abstrait l'infra avec du YAML 4
  • 5. What could possibly go wrong ? 5
  • 6. Un outil complexe ? Pas grave, il y a une GUI ! Tesla ... The hackers had infiltrated Tesla’s Kubernetes console which was not password protected / Source : redlock.io 6
  • 7. Autre exemple : Kubeflow Interface pour planifier des tâches de ML Machine Learning ⇒ utilisation de GPUs Gains bien plus importants zdnet - Microsoft découvre un gang de cryptomining détournant des clusters Kubernetes 7
  • 8. Pas d'interfaces ouvertes sur Internet !!! Les clouds providers les désactivent par défaut Pour la gestion courante : des UIs locales (Lens, k9s , ...) Pour la métrologie : Grafana + Prometheus, outils tiers 8
  • 11. Pas d'APIs sur Internet ! 2000 Docker engines are insecurely exposed to the Internet unit42 : Docker API + Graboid [...] but it was possible to connect from….the Internet 4armed : etcd + Digital Ocean our coworker’s server was also publicly exposing the kubelet ports Handy + kubelet 11
  • 12. Contrôle d'accès dans Kubernetes RBAC (Role-based access control) par défaut Appliquez le principe de moindre privilège       12
  • 13. Failles dans Kubernetes Août 2019 : la CNCF a commandé un audit du code de Kubernetes Quelques grosses CVE "récentes" 2018 / faille dans l'API server ZDnet : La première grosse faille de sécurité est là (API server) 2019 / faille dans RunC pour sortir du container Faille dans RunC (Docker, Kubernetes et Mesos concernés) 2020 / faille dans kubernetes controller manager When it’s not only about a Kubernetes CVE… 13
  • 15. Pas de container exécuté en tant que root ! Kubernetes utilise (pour l'instant) la même table des ID utilisateurs que l'hôte Linux Container lancé en tant que root == Binaire lancé en root sur l'hôte Kubecon EU 2018: The route to Rootless Containers @sylvielorxu 15
  • 16. JW Player Un service de supervision (Weave Scope) avait été créé avec des privilèges et accessible depuis le net How A Cryptominer Made Its Way in our k8s Clusters Our deployment was missing the annotation to make the load balancer internal The weave-scope container is running with the --privileged flag Files on the root file system were mounted onto the container Containers are run as the  root user. 16
  • 17. Pod Security Policy Imposer des règles pour sécuriser l'utilisation du cluster # Required to prevent escalations to root. allowPrivilegeEscalation: false runAsUser: # Require the container to run without root privileges. rule: 'MustRunAsNonRoot' DEPRECATED depuis Kubernetes 1.21... A remplacer par OPA (Open Policy Agent) ou Kyverno 17
  • 18. Mon cluster lance des GCC ??? Il existe des Intrusion Detection System / runtime scanning Utilise des programmes BPF dans le kernel pour détecter des comportements anormaux Cilium Uncovering a Sophisticated Kubernetes Attack in Real-Time 18
  • 19. Sécuriser vos images Docker Limitez le risque et l'impact d'une compromission : Le moins de dépendances possibles et des composants à jour ! Ne pas ajouter des binaires utiles aux attaquants oubliez ping , traceroute , gcc , ... Pas de shell ! 19
  • 21. Conclusion Ne déployez pas Kubernetes si vous n'en avez pas besoin ! Mais si vous en avez l'utilité, allez y ! Il y a beaucoup de choses à sécuriser dans Kube Formez vos développeurs, pas seulement les Ops ! Sécurisez dès le début Et après tout se passera bien 21
  • 25. There is a lot to Secure Source: Kubernetes Security / Duffie Cooley 25
  • 26. La mode des containers Il existe de nombreuses implémentations des containers est très utilisé depuis quelques années utilise des fonctionnalités du kernel Linux fourni une interface "simple" et un magasin d'images Outil qui permet d'empaqueter une application et ses dépendances. Elle pourra être exécuté sur n'importe quel serveur 26
  • 27. Kubernetes, un outil puissant et complexe pour abstraire l'infrastructure Décrire l'état souhaité de notre application hautement disponible 27
  • 28. RBAC dans la pratique Le principe des moindres privilèges est un vrai chantier à mettre en place dès le début du cycle de développement plus difficile à appliquer a posteriori (sauf à tout bloquer) Pour auditer le RBAC : kubectl auth can-i kubectl who-can et plein d'autres 28
  • 29. Utilisez une authentification tierce Pas de gestion des (vrais) utilisateurs. Les applications/démons ont des ServiceAccounts authentifiés par : Tokens JWT Certificats (difficilement révocables ) Ajouter une authentification tierce de type OIDC + RBAC 29
  • 30. sac de nouilles Network Policies chez Monzo Monzo Bank a mis en place des Network Policies pour la totalité de ses 1500 microservices : 30
  • 31. Ajouter des Network Policies Par défaut, Kubernetes autorise tout container à se connecter à n'importe quel autre #OpenBar                31
  • 32. Service Mesh ! Mettre en place des Network Policies peut être complexe... ... mais on peut faire encore plus complexe ! 32
  • 33. Service Mesh Déléguer beaucoup d'aspects réseau+sécu au Service Mesh : gestion TLS firewalling / ACL analyse temps réel des attaques audit/forensics, DDOS mitigation, ... 33
  • 34. Votre cluster respecte les bonnes pratiques ? kube-hunter (scan de vulnérabilité triviales) kube-bench (benchmark CSI de votre installation) Exemple d'attaque via Unauthenticated Kubelet 34
  • 35. Vérifiez vos applications kubeaudit (audit des app déployées) kube-scan (risk assessment du type CVSS) 35
  • 37. Les best practices Kubernetes.io : 11 ways not to get hacked CNCF : Kubernetes security best practices Rancher : More Kubernetes best practices Stackrox Jerry Jalava : Kubernetes Security Journey Workshop Sécuriser son Kubernetes au DevFest Nantes 2019 Duffie Cooley (VMware) : Kubernetes Security Kubecon EU 2018 - Zalando Continuously Deliver your K8s Infra 37
  • 38. Les outils pour durcir Kube (1/2) Scan de vulnérabilité triviales : kube-hunter Benchmark CSI de votre installation : kube-bench Audit des app déployées : kubeaudit "Risk assessment" du type CVSS : kube-scan OPA / OnePolicyAgent blog.zwindler.fr - Vos politiques de conformité sur Kubernetes avec OPA et Gatekeeper Kyverno 38
  • 39. Les outils pour durcir Kube (2/2) Analyse statique : Clair Analyse statique : Anchore Analyse statique : Trivy Analyse runtime : Falco SELinux, Seccomp, Falco, a technical discussion Access, Assert, Act. La sécurité à l'échelle avec Falco CNI + analyse runtime : Cilium 39
  • 40. Les failles de sécu récentes de K8s (&+) Faille dans RunC (Docker, Kubernetes et Mesos concernés) Liste des CVE Kubernetes ZDnet : La première grosse faille de sécurité est là (API server) L'exploit pour la faille dans l'API Server 40
  • 41. Les sociétés hackées dans la presse (1/2) 2018 : Cryptojacking chez Tesla 2019 : Cryptojacking chez jwplayer Plus d'infos sur le cryptominer XMrig ZDNET : des hackers utilisent les API de management de Docker exposées sur le net zdnet - Microsoft découvre un gang de cryptomining détournant des clusters Kubernetes 4armed : Server-Side Request Forgery + etcd accessible depuis Internet chez Digital Ocean 41
  • 42. Les sociétés hackées dans la presse (2/2) Un cluster perso d'un employé de Handy laisse son kubelet ouvert sur Internet Azure Container Instance (docker managé Azure) permettait l'accès cross account 42
  • 43. Kubernetes Security Audit Audit du code en aout 2019 : article principal Audit du code en aout 2019 : audit en lui même 43
  • 44. Autre (1/2) Outil d'audit des rôles Une liste d'outils permettant d'auditer le RBAC dans Kubernetes Une image XMRig (Monero) sur le Dockerhub Twitter : "There is a lot to Secure in Kubernetes" DNS Spoofing on Kubernetes Clusters Docker and Kubernetes Reverse shells Exploiter un Tomcat Manager non sécurisé Backdoor dans webmin 44
  • 45. Autre (2/2) Meetup Enix Jpetazzo - escalation via hostPath Volume blog.zwindler.fr - Should we have containers ? blog.zwindler.fr - Combien de problèmes ces stacks ont générés ? 45