Files
pet-project-server/docs/backlog/harden-monitoring-stack.md
T

1.8 KiB
Raw Blame History

Захардить мониторинг-стек (netdata / dozzle / goaccess)

Приоритет: средний

Мониторинг-контейнеры — самые привилегированные на хосте и при этом торчат в общую web_proxy_network рядом с приложениями:

  • netdata (files/netdata/docker-compose.template.yml) — SYS_ADMIN + SYS_PTRACE + apparmor:unconfined, плюс весь / и docker.sock: фактически root-контейнер. Для метрик обычно хватает SYS_PTRACE; SYS_ADMIN и apparmor:unconfined попробовать убрать (netdata деградирует мягко).
  • dozzle (files/dozzle/docker-compose.template.yml) — RW docker.sock + DOZZLE_AUTH_PROVIDER: forward-proxy (верит заголовку Remote-User от кого угодно). Любой контейнер в web_proxy_network может напрямую сходить на dozzle_app:8080 с поддельным Remote-User и читать логи всех контейнеров (в логах бывают токены/ссылки).
  • docker.sock обоим пустить через tecnativa/docker-socket-proxy (только нужные GET), напрямую не монтировать.
  • перенести netdata/dozzle/goaccess в существующую monitoring_network (playbook-docker.yml), а Caddy подключить к обеим сетям — уводит их из общей сети с приложениями и устраняет lateral movement.

Из sec-ревью (fable, 2026-07-13).

Связано: files/netdata, files/dozzle, files/goaccess, files/caddyproxy, playbook-docker.yml.