Avancé
Verrouiller les conteneurs exposés
Le test d'intrusion est revenu : par une faille dans une dépendance, les testeurs ont écrit un fichier dans le conteneur de l'API en marche, et ils relèvent que les deux conteneurs exposés à Internet gardent les capacités par défaut de Docker. Durcis frontend et api : un système de fichiers racine en lecture seule, toutes les capacités retirées, et aucun moyen d'obtenir de nouveaux privilèges. La boutique doit rester en ligne.
nginx sert le site et transmet /api/ à l'API ; l'API produit les factures dans un dossier de travail sous /tmp. Les capacités dont un conteneur a vraiment besoin peuvent être rajoutées une à une, mais seulement après les avoir toutes retirées. Le test lance docker compose up -d --build, vérifie frontend et api, et ouvre http://<serveur>/api/products chaque minute pendant une heure.
Ce que ton serveur doit tenir
- security.writableRootfs = 0
- security.defaultCapabilities = 0
- security.newPrivileges = 0
- Disponibilité ≥ 99 %