Commit f2332a6
committed
sec(docker): rodar o nginx sem root (USER nginx)
Svalinn/semgrep missing-user (CWE-250). A imagem rodava como root.
A premissa antiga da frota era que :80 obrigava root e que sair disso
exigiria porta alta + remapear o Traefik. Nao e mais verdade: o container
tem net.ipv4.ip_unprivileged_port_start=0 (default do Docker >= 20.10),
confirmado no proprio surtr, entao o uid 101 binda a :80 direto.
Verificado com a imagem construida deste Dockerfile:
- `ps` dentro do container: master E workers como `nginx`, nenhum root
- GET / e GET /health -> 200
- (imagine-decor) o entrypoint segue escrevendo /etc/nginx/conf.d via sed,
e a tranca `location /rest/ { return 404 }` continua respondendo 404
chown em /var/cache/nginx, /usr/share/nginx/html, /etc/nginx/conf.d e no
/var/run/nginx.pid — o que o nginx precisa escrever.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent a4caa64 commit f2332a6
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
16 | 25 | | |
17 | 26 | | |
18 | 27 | | |
0 commit comments