La National Security Agency (NSA) et la Cybersecurity and Infrastructure Security Agency (CISA) ont publié un rapport technique sur la cybersécurité, intitulé "Kubernetes Hardening Guidance". Ce rapport détaille les menaces qui pèsent sur les environnements Kubernetes et fournit des conseils de configuration pour minimiser les risques.

Vous trouverez ce rapport de 59 pages sur le site de la NSA.

Pour mettre en œuvre les recommandations de ce rapport, je vous conseille d'utiliser Kubescape, premier outil permettant de tester si Kubernetes est déployé de manière sécurisée, comme défini dans le document "Kubernetes Hardening Guidance" de la NSA et de la CISA.

Installation

curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

ou compilation depuis les sources :

git clone git@github.com:armosec/kubescape.git kubescape && cd "$_"
go mod tidy && go build -o kubescape .

Exécution

kubescape scan framework nsa --exclude-namespaces kube-system,kube-public

Exemple de rapport

Kubescape effectue les tests suivants conformément à ce qui est défini dans le guide" Kubernetes Hardening Guidance" de la NSA et du CISA :

  • Non-root containers
  • Immutable container filesystem
  • Privileged containers
  • hostPID, hostIPC privileges
  • hostNetwork access
  • allowedHostPaths field
  • Protecting pod service account tokens
  • Resource policies
  • Control plane hardening
  • Exposed dashboard
  • Allow privilege escalation
  • Applications credentials in configuration files
  • Cluster-admin binding
  • Exec into container
  • Dangerous capabilities
  • Insecure capabilities
  • Linux hardening