Docker & Nginx

Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.

O vetor

Vetor: container como root + capabilities amplas = escape para o host; Nginx mal configurado vaza ou faz proxy indevido. O que testamos: usuário do container, capabilities, TLS/headers do Nginx.

Os passos

Passo 1 (🟢, no host) — containers como root?

docker ps -q | xargs -r docker inspect --format '{{.Name}}: user={{.Config.User}}' | grep 'user=$'

Passo 2 (🟢) — imagem com CVEs:

trivy image SUA_IMAGEM:tag --severity HIGH,CRITICAL | head -30

O que esperar

  • VULNERÁVEL: user= vazio (root), CapAdd amplo, imagem com CVEs críticos, Nginx com TLS 1.0/sem headers.
  • SEGURO: USER não-root, cap_drop: [ALL], no-new-privileges, read_only, imagem escaneada, Nginx TLS 1.2+ com HSTS.

Como corrigir

Correção (P1): Dockerfile com usuário não-root; compose com cap_drop, read_only, security_opt; Nginx endurecido. (DOCUMENTACAO §4.4/4.5.) Limpeza: remover containers de teste.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico