Безопасность и границы доверия
Ключевые зоны доверия
flowchart LR
publicNet["PublicNetwork"] --> webClients["WebClients"]
publicNet --> tgClients["TelegramClients"]
webClients --> apiLayer["API Services"]
tgClients --> botLayer["telegram_bot_service"]
apiLayer --> internalNet["InternalServiceNetwork"]
botLayer --> internalNet
internalNet --> dataTier["PostgreSQL + Redis + Media Files"]
Механизмы аутентификации
auth_service: Token + Session authentication.
- Большинство сервисов: DRF permissions на
IsAuthenticated/IsAuthenticatedOrReadOnly.
chat_service и admin_service опираются на Session auth и CSRF-политики.
Критичные риски
- Часть bot-интеграционных endpoint в
order_service допускает AllowAny.
- В ряде сервисов используются небезопасные дефолты (
DEBUG=True, ALLOWED_HOSTS=['*']).
- Общая БД и прямые импорты моделей увеличивают blast radius при ошибках авторизации.
Обязательные контролы документации
- Явно фиксировать права доступа по каждому endpoint.
- Поддерживать каталог ошибок 401/403/404/500 с условиями возникновения.
- В runbook фиксировать порядок ротации секретов и проверок env.