Files
pet-project-server/docs/backlog/container-hardening-nits.md
av 0b2a3bd19c backlog: удалена задача local-image-build, она реализована
- все три приложения (homepage, transcriber, remembos) собирают образы
  локально ролью app_image, реестр и yc_*-переменные выведены из оборота
- ссылавшиеся задачи обновлены: narrow-secret-scopes и
  no-secrets-in-playbook-output больше не ждут эту работу
2026-07-25 16:26:31 +03:00

1.5 KiB
Raw Permalink Blame History

Мелкий хардненинг контейнеров

Приоритет: низкий

  • no-new-privileges: ни один compose-шаблон не задаёт security_opt: ["no-new-privileges:true"]. Добавить всем — одна строка, режет эскалацию через setuid-бинарники в образах.
  • non-root user:: без него работают caddyproxy, gramps (данные в /root/.gramps), rssbridge, dozzle, homepage и valkey/postgres-сайдкары gramps. Дотянуть там, где образ позволяет (rssbridge, valkey) — продолжение уже принятой в проекте практики.
  • homepage на :latestснято: переход на роль app_image дал каждому деплою уникальный тег из BUILD_ID, плавающего latest больше нет ни у homepage, ни у остальных.
  • Соглашение о портах: зафиксировать в AGENTS.md, что новые ports: — только с 127.0.0.1:. Docker публикует порты мимо UFW, поэтому дисциплина localhost-биндинга — единственный контроль (сейчас соблюдается: apprise, wanderer).

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

Связано: все files//docker-compose.template.yml, vars/homepage.yml, AGENTS.md.