Le 10 décembre 2019, l’équipe Net4All a eu le plaisir d’organiser à Genève (Impact Hub) : un Meetup nommé : Kubernetes est-il soluble dans la sécurité ?
2. 2Net4All – Kubernetes Meetup Genève – 10/12/19
Positionnement sur deux axes majeurs
Services Managés
• Infrastructure Cloud privé et Cloud
public
• Service Infogérance 24/7 à la carte
• Niveau de sécurisationde plateforme
progressif
• Pilotage et gouvernancede projets
Prestation de sécurité : offensives
et défensives
• Expertise sur Cloud public et Kubernetes
• Accompagnement DevSecOps
Création : 2000
Basé à Ecublens
20 personnes
4. Net4All – Kubernetes Meetup Genève – 10/12/19 4
FROM debian:9
…
…
FROM debian:10
…
…
FROM alpine:3.6
…
…
• Quel est le nombre total de noyaux linux qui s’exécutent sur cette infrastructure ?
• 4 , 3 , 2 ou 1 ?
5. • Ce mécanisme permet d'exécuter des applications
de façon isolées sur un mêmesystème hôte
• L'application et les programmes, bibliothèques,
ressources dont elle a besoin forment une image
• Des instances de l'image contenant l'application
sont lancées dans des conteneurs
• La technologie majeure des conteneurs est Docker
Net4All – Kubernetes Meetup Genève – 10/12/19
Application
+ Libs
+ Binaires
5
6. ≠ VM
Net4All – Kubernetes Meetup Genève – 10/12/19 6
VM VM
7. • Pilote le déploiement et la configuration des
conteneurs, le réseau, le stockage …
• Permet un fonctionnement déclaratif
de type Architecture As Code
• Garantit l'état du cluster tel que spécifié, et
automatise les corrections en cas
d'altération
Net4All – Kubernetes Meetup Genève – 10/12/19 7
9. • Compromission via un compte mal sécurisé ou un manque de
restriction réseau : certaines versions de Kubernetes acceptaient des
requêtes anonymes par défaut !
• Compromission viaune vulnérabilité : la CVE-2018-1002105 permet une
élévation de privilège sur le cluster pouvant se propager à l'hôte
• Nov 2019 : des hackers exploitent des services docker non protégés
Net4All – Kubernetes Meetup Genève – 10/12/19 9
Retour d’expérience Client :
• Il faut établir une sécurité périmétrique limitant l'accès aux API
10. • Les images se substituent aux packages :
• De nouvelles blackboxes, au cœur du cluster
• Utiliser une image … c’est déléguer sa sécurité
• Toute image vérolée ou obsolète peut compromettre
votre cluster
Net4All – Kubernetes Meetup Genève – 10/12/19 10
Retour d’expérience Client :
• Build d'images minimales (CI/CD, impact sur l'équipe
devops, best practices)
• Scan de vulnérabilités / Analyse statique
12. • Kubernetes : open by design ?
• Accès possible aux mécanismes les plus sensibles du cluster
(config etcd, API server)
• Importance d’appliquer les Best Practices :
RBAC, namespaces,rootless images
• Network Policies, Pod Security Policies … mais attention aux
impacts
Net4All – Kubernetes Meetup Genève – 10/12/19 12
“People assume Kubernetes has a
lot of security, the mistake,
however, is in assuming those
native controls
are configured by default,
they’re not !”
Kubernetes Security, RedHat
Openshift: 5 mistakes to avoid
May 2019Retour d’expérience Client :
• Evaluer l’impact fort de l'activation de protections (rootless...)
• Se faire accompagner sur le design et l'implémentation
• Investir sur la montée en compétence
13. Net4All – Kubernetes Meetup Genève – 10/12/19 13
• WAF : permet de filtrer l'ensemble des flux en amont du cluster Kubernetes.
• Virtual patching : permet de rapidement compenser des problèmes
qui seraient compliqués à patcher sur le cluster
• Gestion des logs : La volatilité de kubernetes rend le diagnostic et l'analyse
à postériori plus complexe. Pour des raisons de sécurité ou opérationnelles,
la gestion de logs centraliséepermet de rendre l'ensemble plus accessible
14. Net4All – Kubernetes Meetup Genève – 10/12/19 14
Nginx Gloo HAProxy Kong Traefik
Licence Free/Com Free/Com Free Free/Com Free/Com
SSL/TLS Oui Oui Oui Via plugin Oui
URL rewrites Oui Oui Oui Via plugin Oui
WAF Non Oui Partiel Via plugin Non
Authentication proxy Jwt ou
snippet
Oui Partiel Via plugin Partiel
RateLimit Via snippet Oui Oui Via plugin Oui
Bot Detection Via Snippet Non Partiel Via plugin Non
ACL Oui Oui Oui Via plugin Oui
15. Net4All – Kubernetes Meetup Genève – 10/12/19 15
Scan d'infra :
Un scan de sécurité, type Nessus, permet d'être alerté de failles
qui pourraient passer inaperçues sur une infrastructure de taille
moyenne ou importante. Elle permet également d'identifier les
containers qui pourrait s'avérer sensible à une faille.
16. • Patcher Kubernetes : une toute autre dimension
• Cluster : être toujours sur la dernière version !
• Drivers / plugins : drivers réseau, Istio
• Patch aussi dans les images
• OS, Middleware, Application
Net4All – Kubernetes Meetup Genève – 10/12/19 16
Retour d’expérience Client :
• Processus maîtrisés de Maj complète de la plateforme
• Inter-dépendances : une cascade de Maj
• Planifier les downtime
17. Net4All – Kubernetes Meetup Genève – 10/12/19 17
Google (GKE) Azure (AKS) Aws (EKS)
Mise à jour
automatique
Master et nodes
mis à jour de
manière
automatique
Master et nodes
miseà jour en
mêmetemps, sur
demande
Mise à jour on
demand, avec
actions manuelles
RBAC Oui Oui Oui
18. Gérez les 4 domaines de sécurité :
❑ Réduisez l’exposition réseau de votre cluster
❑ Privilégiez des images maitrisées minimales
❑ Appliquez les Best Practices au design du cluster
❑ Intégrez des éléments de sécu actifs dans le cluster
❑ Anticipez le patch management du cluster
Investissez dans la phase de Design & Implémentation
pour réduire vos coûts opérationnels ultérieurs
Net4All – Kubernetes Meetup Genève – 10/12/19 18