Cas pratique sur la sécurisation d'un cluster Kubernetes

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines


Résumé

Cet article présente trois exemples de problèmes de sécurité rencontrés sur des clusters Kubernetes, causés par un manque de maîtrise des applications déployées sur un cluster par ses administrateurs ou par les développeurs des applications s’y exécutant. Nous donnons ensuite des pistes afin de mieux maîtriser et sécuriser ces applications.


1. Présentation de la machinerie Kubernetes

Kubernetes est un orchestrateur de conteneurs, qui exécute des applications – typiquement distribuées sous forme d'images Docker – sur un ensemble de machines appelées cluster. Nous présenterons d'abord les objets contenant les données qui définissent entièrement la configuration du cluster, accessibles via des API. Ces objets sont créés et consommés par la machinerie (extensible) de Kubernetes, que nous présenterons ensuite. Pour terminer cette présentation de Kubernetes, nous présenterons différents modes d'installation et leurs impacts sur la sécurité.

1.1 API Server et Custom Resource Definitions

La pierre angulaire de Kubernetes est son API server, qui offre l'accès aux objets décrivant la configuration du cluster. Ces données sont stockées dans une base de données distribuée clef-valeur etcd [1].

Les principaux types d'objets qui seront utilisés dans cet article sont :

  • Les Pods, qui...
Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite
Références

[1] Stockage clef-valeur distribué etcd : https://etcd.io/

[2] Documentation Kubernetes : https://kubernetes.io/docs

[3] Opérateur Prometheus : https://github.com/prometheus-operator/prometheus-operator

[4] Collecte de métriques Prometheus : https://prometheus.io/

[5] Documentation RBAC : https://kubernetes.io/docs/reference/access-authn-authz/rbac/

[6] Cluster de développement et test minikube : https://minikube.sigs.k8s.io/docs/

[7] Définition de politiques de sécurité avec Open Policy Agent : https://www.openpolicyagent.org/

[8] Intégration continue / déploiement continu avec Jenkins : https://www.jenkins.io/

[9] Intégration continue / déploiement continu avec ArgoCD : https://argoproj.github.io/argo-cd/

[10] Webshell GoTTY : https://github.com/yudai/gotty

[11] Dépôt d'images Docker open source Harbor : https://goharbor.io/

[12] Tracing distribué Jaeger : https://www.jaegertracing.io/

[13] Service mesh Istio : https://istio.io/

[14] Console d’administration Kubernetes : https://github.com/kubernetes/dashboard

[15] Overlay network Flannel : https://github.com/coreos/flannel

[16] Exemples de NetworkPolicies : https://github.com/ahmetb/kubernetes-network-policy-recipes

[17] Analyse statique d'images Docker avec Clair : https://github.com/quay/clair

[18] Client en ligne de commandes pour Clair, Klar : https://github.com/optiopay/klar/

[19] Revue de configuration d'un Pod avec kubesec : https://github.com/controlplaneio/kubesec

[20] Analyse de configuration d'un cluster avec kube-bench : https://github.com/aquasecurity/kube-bench

[21] Écosystème « cloud-native » : https://landscape.cncf.io/

[22] Environnement Kubernetes vulnérable kubernetes-goat : https://github.com/madhuakula/kubernetes-goat



Articles qui pourraient vous intéresser...

Sécurisez votre réseau

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Maintenant que notre serveur principal est déployé et que nous y avons appliqué un premier niveau de sécurisation système, occupons-nous de sa sécurisation réseau. Nous allons détailler en quoi les attaques réseau sont primordiales dans notre modèle de menace. Comme nous le verrons, l’accès distant est le risque principal qui guette nos serveurs. Nous allons mettre en œuvre une sécurité en profondeur et les mesures de protection réseau en seront une de ses dimensions importantes.

CVE-2020-3433 : élévation de privilèges sur le client VPN Cisco AnyConnect

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

Cet article explique comment trois vulnérabilités supplémentaires ont été découvertes dans le client VPN Cisco AnyConnect pour Windows. Elles ont été trouvées suite au développement d’un exploit pour la CVE-2020-3153 (une élévation de privilèges, étudiée dans MISC n°111). Après un rappel du fonctionnement de ce logiciel, nous étudierons chacune de ces nouvelles vulnérabilités.

Sécurité réseau dans un cluster Kubernetes

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

En introduisant le concept de micro-services, Kubernetes lance un nouveau défi aux solutions d’isolation et de filtrage réseau : comment gérer les droits d’accès réseau dans une infrastructure en constante mutation et dans laquelle une machine n’a plus un rôle prédéterminé ?

Introduction au dossier : Sécurisez vos serveurs et votre réseau local

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

2020 aura été une année marquante pour nos vies et nos sociétés. Il aura fallu se réinventer, trouver des solutions à des situations exceptionnelles. Dans les entreprises, l'Éducation ou la Santé, la mobilisation des ressources informatiques aura été maximale. Nos infrastructures auront ployé, tangué, parfois presque craqué, mais au final, cela aura tenu.

Passez à nftables, le « nouveau » firewall de Linux

Magazine
Marque
Linux Pratique
Numéro
122
Mois de parution
novembre 2020
Domaines
Résumé

Le firewall est un élément important pour sécuriser un réseau. Il est prouvé que la sécurité par l’obscurantisme ne fonctionne pas. Ce n’est donc pas une bonne idée d’utiliser une boîte noire en priant pour que tout se passe bien. Un bon firewall est donc installé sur un système d’exploitation libre. Linux fait évoluer le sien d’iptables vers nftables. Nous montrons dans cet article comment débuter avec la nouvelle mouture.