Files
pet-project-server/docs/backlog/container-hardening-nits.md
T

1.5 KiB
Raw 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 (vars/homepage.yml) — плавающий тег + ночной docker image prune может подтянуть другое содержимое без отката. Перевести на иммутабельный <sha>-<timestamp> по образцу transcriber (vars/transcriber.images.yml).
  • Соглашение о портах: зафиксировать в 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.