26 lines
1.8 KiB
Markdown
26 lines
1.8 KiB
Markdown
# Захардить мониторинг-стек (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.
|