Sprint 2: AuthN/AuthZ + CSRF + rate limit + маскировка и зашита секретов #34

Open
opened 2026-10-21 23:24:45 +03:00 by embeddevio · 0 comments
Owner

Owner: backend · Est: 5 SP · P0 · Sprint 2 · Deps: #20, #31 · Refs #15

  • Аутентификация: токен доступа для API (Bearer), сессия + CSRF-токен для UI; хранение хеша токена.
  • Маскировка секретов: PrivateKey/PresharedKey — writeOnly в API, «•••» в UI/логах, шифрование at rest (0600 + отдельный каталог /config/secrets).
  • Ограничения: rate limit на /auth и мутирующие эндпоинты, lockout после N ошибок, разрешённые bind-адреса.

AC:

  • GIVEN нет токена, WHEN любой защищённый эндпоинт, THEN 401; GIVEN неверный CSRF на мутирующий запрос из UI, THEN 403.
  • GIVEN конфиг загружен, WHEN GET /config и UI-страница конфига, THEN ключей нет в ответе и в DOM, а в логах — маска.
  • GIVEN 10 неудачных логинов, WHEN следующая попытка, THEN временная блокировка (lockout) и запись в audit log.

DoD: coverage ≥70%, CI green, ревью владельца роли.

**Owner:** backend · **Est:** 5 SP · **P0** · **Sprint 2** · **Deps:** #20, #31 · Refs #15 - Аутентификация: токен доступа для API (Bearer), сессия + CSRF-токен для UI; хранение хеша токена. - Маскировка секретов: `PrivateKey`/`PresharedKey` — writeOnly в API, «•••» в UI/логах, шифрование at rest (0600 + отдельный каталог `/config/secrets`). - Ограничения: rate limit на /auth и мутирующие эндпоинты, lockout после N ошибок, разрешённые bind-адреса. AC: - GIVEN нет токена, WHEN любой защищённый эндпоинт, THEN 401; GIVEN неверный CSRF на мутирующий запрос из UI, THEN 403. - GIVEN конфиг загружен, WHEN `GET /config` и UI-страница конфига, THEN ключей нет в ответе и в DOM, а в логах — маска. - GIVEN 10 неудачных логинов, WHEN следующая попытка, THEN временная блокировка (lockout) и запись в audit log. DoD: coverage ≥70%, CI green, ревью владельца роли.
embeddevio added this to the Sprint 2 — Control plane: REST API + Web UI milestone 2026-10-21 23:24:45 +03:00
embeddevio added the backendstatus/backlog labels 2026-10-21 23:24:45 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: embeddevio/awg-dash#34