Formation Docker

Durcir l’exécution : capabilities, lecture seule et limites de ressources

Même si une faille est exploitée, le conteneur ne doit presque rien pouvoir faire : pas de privilèges, système de fichiers en lecture seule, ressources limitées.

Module 5 · Durcir et optimiser

Réservé aux abonnés

Objectif du chapitre

MonTour tourne avec un système de fichiers en lecture seule, sans capabilities Linux et avec des limites de CPU et de mémoire.

Prérequis : Sauvegardes (chapitre 20) : tag dk20 posé.

Jusqu’ici, MonTour tourne correctement. Mais « correctement » ne veut pas dire « prudemment ». Par défaut, un conteneur garde une quinzaine de droits noyau dont il n’a pas besoin, peut écrire partout dans son système de fichiers et peut consommer toute la mémoire du VPS. Dans ce chapitre, vous retirez tout ce qui n’est pas indispensable, couche par couche.

CONTENEUR MONTOUR DURCIUtilisateur non rootuser: "1001:1001"Capabilitiescap_drop: [ALL] + no-new-privilegesSystème de fichiersread_only: true + tmpfs /tmp et cache Next.jsRessources (cgroups v2)memory 512M · cpus 1.0 · pids 200node server.jsreste autorisé : écrire dans /tmp, écouter 3000
SchémaLes quatre couches de durcissement autour du processus MonTour

Comment lire le schéma

  • Chaque couche retire un droit. Un attaquant qui prend la main sur node doit franchir les quatre.
  • Les couches bleues limitent ce que le processus a le droit de faire (identité, droits noyau).
  • Les couches jaunes limitent ce qu’il peut toucher (disque, mémoire, CPU, nombre de processus).
  • La case verte est ce qui reste : exactement ce dont MonTour a besoin, rien de plus.

Retirer les capabilities et bloquer l’élévation de privilèges

La suite de cette leçon est réservée aux abonnés

Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.