Docker
TMA-DOCKER-5.11
Ensure that the memory usage for containers is limited
MittelStufe 1Automatisiertdocker
Beschreibung
Without a memory limit a single container can exhaust host memory (denial of service). Flags containers with HostConfig.Memory = 0. The audit inspects every running container (docker ps -q) and prints the offending names; a host with no running containers is compliant.
So wird geprüft
Prüfmethode: Shell-Befehl
shell
ids=$(docker ps -q) || exit 1; [ -z "$ids" ] && { echo compliant; exit 0; }; out=$(docker inspect --format '{{.Name}} {{.HostConfig.Memory}}' $ids) || exit 1; bad=$(printf '%s\n' "$out" | awk '$2=="0"{print $1}'); [ -z "$bad" ] && echo compliant || printf '%s\n' "$bad"- Erwartete Ausgabe
compliant
So wird behoben
Behebungsmethode: Anleitung oder Infrastruktur-Patch
Redeploy with a memory limit (docker run --memory=512m ...; compose: deploy.resources.limits.memory / mem_limit).
Eigenschaften
- Betriebssysteme
- Beliebig
- Tags
- dockerruntime
- Referenz
- CIS Docker Benchmark v1.9.0 - 5.11 Ensure that the memory usage for containers is limited
Diesen Host prüfen
Führen Sie dies auf einem Rechner aus, den Sie prüfen dürfen. Der Scan ist schreibgeschützt.
shell
tmaegis scan --target docker