Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Immutable Infrastructure

devsecops

Définition

L'Immutable Infrastructure (infrastructure immuable) est un paradigme de gestion des systèmes informatiques dans lequel les composants d'infrastructure (serveurs, conteneurs, images) ne sont jamais modifiés après leur déploiement. Au lieu de patcher ou de configurer un serveur existant, chaque changement produit un nouvel artefact (une nouvelle image de conteneur, une nouvelle AMI) qui remplace entièrement le précédent. Ce paradigme a des implications profondes pour la sécurité DevSecOps. L'Immutable Infrastructure s'oppose à la "Mutable Infrastructure" traditionnelle où les administrateurs système se connectaient aux serveurs pour les configurer, patcher, et maintenir — chacun évoluant potentiellement différemment au fil du temps (Configuration Drift). Cette approche rendait difficile la reproductibilité des environnements, l'audit des configurations, et la détection des modifications non autorisées. Les bénéfices de sécurité de l'Immutable Infrastructure sont substantiels. La détection des compromissions est simplifiée : si un attaquant modifie un composant du système (en installant un rootkit, en ajoutant une backdoor, en modifiant un binaire), cette modification sera détectée lors du prochain cycle de déploiement qui replace l'image compromise par l'image originale connue et vérifiée. Les "living off the land" attacks (utilisation des outils légitimes du système par des attaquants) sont plus difficiles quand les images sont minimales (distroless, scratch) et que les binaires non nécessaires sont absents. La chaîne de confiance de l'Immutable Infrastructure commence par le code source (versionné dans Git), passe par le pipeline CI/CD qui construit l'artefact (image Docker, AMI) avec des tests de sécurité intégrés, signe cryptographiquement l'artefact (Cosign, Notary v2), et déploie uniquement les artefacts vérifiés. Cette chaîne garantit que ce qui s'exécute en production correspond exactement au code source approuvé et testé. Les pratiques complémentaires incluent : les images de conteneurs avec utilisateurs non-root, les systèmes de fichiers en lecture seule (readOnlyRootFilesystem: true dans Kubernetes), les politiques de sécurité des pods (Pod Security Standards) interdisant les conteneurs privilégiés, et le remplacement des mises à jour par des redeployments complets.

Bénéfices de sécurité de l'immuabilité

L'infrastructure immuable améliore la sécurité à plusieurs niveaux : élimination du Configuration Drift (toute dérive est remplacée au prochain déploiement), facilitation de la détection des compromissions (un processus ou fichier inattendu est une anomalie détectable), réduction de la surface d'attaque (images minimales sans outils d'administration inutiles), et auditabilité complète (l'état de tout composant est traçable jusqu'à un commit Git précis via la chaîne de confiance SLSA).

Chaîne de confiance : du code à la production

La chaîne de confiance de l'Immutable Infrastructure : le code est commité dans Git (source of truth), le pipeline CI construit une image Docker déterministe (même hash pour les mêmes inputs — Reproducible Build), les tests de sécurité (SAST, SCA, container scan) valident l'image, Cosign signe cryptographiquement l'image avec la clé privée du pipeline, et les politiques d'admission Kubernetes (via Gatekeeper ou Kyverno) refusent les déploiements d'images non signées ou dont la signature ne correspond pas à la clé de confiance.

readOnlyRootFilesystem et conteneurs immuables

En Kubernetes, readOnlyRootFilesystem: true dans le SecurityContext interdit toute écriture dans le système de fichiers du conteneur, forçant les applications à utiliser des volumes montés pour les données mutables. Cette configuration bloque la plupart des techniques d'attaque post-exploitation qui requièrent l'écriture de fichiers (upload de backdoors, modification de binaires). Combinée à un utilisateur non-root (runAsNonRoot: true, runAsUser: 1000) et à la désactivation de privilege escalation (allowPrivilegeEscalation: false), elle constitue un hardening container fondamental.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis