Docker
TMA-DOCKER-5.26
Ensure that the container is restricted from acquiring additional privileges
Descrição
no-new-privileges stops processes in the container gaining privileges through setuid/setgid binaries. Compliant when it is set daemon-wide in daemon.json (container SecurityOpt then stays empty) or every running container has it in SecurityOpt. The audit inspects every running container (docker ps -q) and prints the offending names; a host with no running containers is compliant.
Como é verificado
Método de auditoria: Comando shell
grep -Eq '"no-new-privileges"[[:space:]]*:[[:space:]]*true' /etc/docker/daemon.json 2>/dev/null && { echo compliant; exit 0; }; ids=$(docker ps -q) || exit 1; [ -z "$ids" ] && { echo compliant; exit 0; }; out=$(docker inspect --format '{{.Name}}{{range .HostConfig.SecurityOpt}} {{.}}{{end}}' $ids) || exit 1; bad=$(printf '%s\n' "$out" | awk '!/no-new-privileges(:true|=true)?( |$)/{print $1}'); [ -z "$bad" ] && echo compliant || printf '%s\n' "$bad"- Saída esperada
compliant
Como é corrigido
Método de correção: Orientação ou patch de infraestrutura
Run containers with --security-opt=no-new-privileges (compose: security_opt: ["no-new-privileges:true"]) or set "no-new-privileges": true in /etc/docker/daemon.json.
Propriedades
- Sistemas operacionais
- Qualquer
- Tags
- dockerruntime
- Referência
- CIS Docker Benchmark v1.9.0 - 5.26 Ensure that the container is restricted from acquiring additional privileges
Verificar este host
Execute isto em uma máquina que você tenha permissão para auditar. A varredura é somente leitura.
tmaegis scan --target docker