NODEDC_PLATFORM/docs/SECURITY_CHECKLIST.md

3.0 KiB
Raw Blame History

Security Checklist

Network

  • Local dev compose публикует только reverse proxy port.
  • Postgres не опубликован наружу в staging/production.
  • Redis не опубликован наружу в staging/production.
  • MinIO/storage не опубликован наружу в staging/production.
  • Внутренние API не доступны напрямую извне.
  • Authentik получает X-Forwarded-Proto, X-Forwarded-For, Host через Caddy.
  • Caddy reverse proxy сохраняет HTTP/1.1/WebSocket upgrade behavior для upstream.

Authentik

  • Каждое приложение имеет отдельный Authentik Application.
  • Каждое приложение имеет отдельный Provider.
  • Для каждого приложения задана отдельная access policy.
  • Группы app access заведены отдельно от app-local ролей.
  • MFA/enrollment policy вынесены в отдельный этап.
  • Authentik local compose не публикует server/worker/Postgres ports напрямую.

Launcher

  • Authentik service token хранится только server-side.
  • Frontend не получает service token.
  • Admin endpoints требуют nodedc:superadmin или nodedc:launcher:admin.
  • Все admin actions пишутся в audit log.
  • Удаление пользователя реализовано как deactivate/disable, не hard delete.

Plane

  • Перед изменениями сделан backup DB/env/uploads/storage.
  • Существующий Plane user не пересоздается.
  • owner_id, created_by, assignee_id, member_id не меняются без отдельной миграции.
  • Публичный signup отключен.
  • Лишние обходные auth сценарии закрыты или явно оставлены как временные.
  • OIDC login проверяет state/nonce/token.
  • authentik_sub связан с существующим plane_user_id.

Tokens and secrets

  • Secrets не попадают в git.
  • Access/refresh tokens не логируются.
  • Session cookies имеют secure=true в staging/production.
  • В production включены HTTPS и HSTS.

Acceptance scenarios

  • Без логина Launcher отправляет в Authentik.
  • Пользователь без nodedc:taskmanager:access не видит Task Manager в Launcher.
  • Пользователь без nodedc:taskmanager:access получает deny на прямой task.local.nodedc.
  • Пользователь с доступом открывает Task Manager.
  • Старый Plane admin после OIDC видит старые workspace/tasks/comments.
  • Деактивированный пользователь теряет доступ.
  • Admin action появляется в audit log.