caddyproxy: admin API закрыт на loopback, метрики вынесены на :2020
- `admin :2019` слушал всю web_proxy_network: любой контейнер мог POST-ом в /config/ переписать маршрутизацию и снять forward_auth. Теперь `admin localhost:2019`. - Метрики для netdata отдаёт отдельный site-блок `http://:2020 { metrics /metrics }`, netdata скрейпит новый порт. - Порт для метрик именно 2020, а не 2019, как предлагала задача: сайт на :2019 перехватывает IPv6-петлю (admin висит только на IPv4), из-за чего `caddy reload` внутри контейнера возвращает 0 и молча ничего не применяет — проверено на caddy:2.11.4.
This commit is contained in:
@@ -17,7 +17,6 @@ _(sec-ревью)_ — три независимых security-ревью на м
|
||||
|
||||
## Высокий
|
||||
|
||||
- [Закрыть admin API Caddy (localhost вместо всей сети)](caddy-admin-api-localhost.md) — `admin :2019` слушает всю docker-сеть; любой контейнер может переписать маршрутизацию и снять forward_auth _(sec-ревью)_
|
||||
- [Убрать группу `docker` у сервисных пользователей](service-users-docker-group.md) — `docker` = root на хосте; ~все app-аккаунты фактически root, изоляция «юзер на сервис» обнуляется _(sec-ревью)_
|
||||
- [Изолировать/запаролить сессионный redis Authelia](authelia-redis-isolation.md) — стор сессий SSO в общей сети без пароля; запись в него = hijack SSO всех сервисов _(sec-ревью)_
|
||||
- [Алерты на проблемные контейнеры](container-alerts.md) — wakapi крутился в restart-loop несколько дней незамеченным; healthcheck в compose + алерты Netdata
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# Закрыть admin API Caddy (localhost вместо всей сети)
|
||||
|
||||
**Приоритет:** высокий
|
||||
|
||||
`files/caddyproxy/Caddyfile.template:8` — `admin :2019`: admin API слушает на всех
|
||||
интерфейсах контейнера, а в `web_proxy_network` сидят все приложения. Любой
|
||||
скомпрометированный контейнер (rssbridge, tududi, calibre, ...) может POST-ом в
|
||||
`http://caddyproxy:2019/config/` переписать маршрутизацию, снять `forward_auth`,
|
||||
перехватить трафик или сертификаты. Порт реально нужен только netdata для метрик
|
||||
(`files/netdata/go.d/prometheus.conf`). Фикс: вернуть `admin localhost:2019`, а
|
||||
метрики отдать отдельным site-блоком `:2019 { metrics }` — netdata продолжит
|
||||
скрейпить, admin API станет недоступен из сети.
|
||||
|
||||
Из sec-ревью (fable, 2026-07-13).
|
||||
|
||||
Связано: files/caddyproxy/Caddyfile.template, files/netdata/go.d/prometheus.conf.
|
||||
Reference in New Issue
Block a user