~2 minutes
Controllers — Automatisation & Contrôle
Description & Rôle
Les Controllers sont des processus (control loops) qui observent l’état du cluster et effectuent des actions pour atteindre l’état désiré. Chaque controller gère un type d’objet spécifique (ex: Deployment, StatefulSet).
Admission Controllers
Description & Rôle
Les Admission Controllers interceptent les requêtes API avant leur stockage dans etcd. Ils peuvent valider, modifier ou rejeter les requêtes selon des règles définies. Exemples : PodSecurityPolicy, ResourceQuota, NetworkPolicy.
CVEs Connus
CVE-2023-2727 — Contournement de PodSecurityPolicy via labels manipulés. Affecte Kubernetes < 1.27.0. Lien CVE
Analyse STRIDE
| Risque | Description |
|---|---|
| S — Spoofing | Bypass d’admission policy avec requêtes mal formées |
| T — Tampering | Modification de l’admission logic via webhooks compromis |
| R — Repudiation | Pas de logs des décisions d’admission |
| I — Information Disclosure | Webhooks exposant des données sensibles |
| D — Denial of Service | Admission webhooks lents bloquant l’API |
| E — Elevation of Privilege | Contournement intentionnel des contrôles |
Best-Practices Minimales
- Activer
PodSecurityStandards(replacement de PSP deprecated) - Implémenter des Admission Webhooks validant les images (image scanning, registries autorisées)
- Appliquer
ResourceQuotapar namespace - Utiliser
LimitRangerpour imposer des limites CPU/mémoire - Valider les SecurityContext avant admission
- Monitorer les requêtes rejetées par admission
- Utiliser des webhooks mutants pour injecter des sidecar de sécurité
Controller Manager
Description & Rôle
Le Controller Manager exécute les logic des différents controllers. Il observe les ressources Kubernetes et applique les changements déclarés. Exemples : Replication Controller, StatefulSet Controller, Deployment Controller.
CVEs Connus
CVE-2024-1394 — Race condition dans le Controller Manager permettant une escalade de privilèges. Affecte Kubernetes 1.28.x, 1.29.x < 1.29.1. Lien CVE
Analyse STRIDE
| Risque | Description |
|---|---|
| S — Spoofing | Accès non autorisé aux logs du Controller |
| T — Tampering | Race conditions permettant des modifications non désirées |
| R — Repudiation | Pas de logs détaillés des décisions de control |
| I — Information Disclosure | Exposition de secrets via logs de controller |
| D — Denial of Service | Controller crash ou boucles infinies |
| E — Elevation of Privilege | Execution du controller avec privileges excédentaires |
Best-Practices Minimales
- Isoler le Controller Manager sur des nodes dédiés (taints/tolerations)
- Limiter les privilèges du ServiceAccount du Controller Manager
- Appliquer des ressources limites (CPU/mémoire) au Controller Manager
- Activer l’audit sur les actions du Controller Manager
- Utiliser RBAC restrictif pour les bindings du Controller Manager
- Monitorer les logs d’erreur du Controller Manager
- Mettre en place des alertes sur les crashes du Controller Manager