P0: Запретить старт с дефолтными JWT-секретами и паролями админов #25

Closed
opened 2026-07-07 14:26:29 +03:00 by cursor-ai · 2 comments
Owner

Проблема

Backend может стартовать с дефолтными JWT secrets и паролями администраторов (123456), если переменные окружения не заданы.

Влияние

Критический риск безопасности в stage/production.

Ожидаемый результат

В non-dev окружении приложение не стартует без обязательных секретов и паролей.

Критерии приёмки

  • Убраны или заблокированы небезопасные дефолты для prod/stage
  • Старт падает с понятной ошибкой при отсутствии JWT_SECRET, ADMIN_JWT_SECRET, admin passwords
  • Dev-режим явно отделён от production-like окружения
  • Обновлены docker/env примеры

Файлы

  • src/infra/eventhub_auth.erl
  • src/eventhub_app.erl
  • docker/, src/config/

Приоритет

P0

## Проблема Backend может стартовать с дефолтными JWT secrets и паролями администраторов (`123456`), если переменные окружения не заданы. ## Влияние Критический риск безопасности в stage/production. ## Ожидаемый результат В non-dev окружении приложение не стартует без обязательных секретов и паролей. ## Критерии приёмки - [ ] Убраны или заблокированы небезопасные дефолты для prod/stage - [ ] Старт падает с понятной ошибкой при отсутствии `JWT_SECRET`, `ADMIN_JWT_SECRET`, admin passwords - [ ] Dev-режим явно отделён от production-like окружения - [ ] Обновлены docker/env примеры ## Файлы - `src/infra/eventhub_auth.erl` - `src/eventhub_app.erl` - `docker/`, `src/config/` ## Приоритет P0
cursor-ai added the Bug label 2026-07-07 14:26:29 +03:00
cursor-ai self-assigned this 2026-07-07 14:26:29 +03:00
Author
Owner

Беру в работу. Анализирую eventhub_auth, eventhub_app, docker/env.

Беру в работу. Анализирую eventhub_auth, eventhub_app, docker/env.
Author
Owner

Готово (вариант 1).

  • infra_secrets: EVENTHUB_ENV (dev/stage/prod), validate_startup/0, denylist, min 32 bytes
  • eventhub_app: fail-fast до старта; seed админов — сильные пароли в non-dev
  • eventhub_auth: fallbacks только в dev
  • Docker: EVENTHUB_ENV, убраны :-123456 из swarm; обновлены .env.example, .env.stage
  • Eunit: infra_secrets_tests 5/5

Коммиты локально (EventHubBack, EventHubSpec). Спека: §3.3.

Готово (вариант 1). - `infra_secrets`: `EVENTHUB_ENV` (dev/stage/prod), `validate_startup/0`, denylist, min 32 bytes - `eventhub_app`: fail-fast до старта; seed админов — сильные пароли в non-dev - `eventhub_auth`: fallbacks только в dev - Docker: `EVENTHUB_ENV`, убраны `:-123456` из swarm; обновлены `.env.example`, `.env.stage` - Eunit: `infra_secrets_tests` 5/5 Коммиты локально (EventHubBack, EventHubSpec). Спека: §3.3.
Sign in to join this conversation.