Архитектура безопасности и контроль доступа
Безопасность является фундаментальным элементом RUSEON Core. Сервер спроектирован для надёжной защиты видеопотоков IP-камер, предотвращения несанкционированного доступа к архиву, гибкого управления правами пользователей и защиты от сетевых атак.
1. Аутентификация и токены JWT
В RUSEON Core используется аутентификация на основе токенов JSON Web Tokens (JWT) без хранения состояния на сервере:
- Алгоритм: HMAC-SHA256 (
HS256) с криптографически стойким ключом длиной от 32 символов. - Срок действия: Настраиваемое время жизни токена (по умолчанию: 24 часа).
- Формат заголовка:
Authorization: Bearer <ТОКЕН>.
Настройка в config.yaml:
yaml
auth:
enabled: true
jwt_secret: "a_very_long_cryptographically_secure_random_string_here_32chars"
token_expiry: "24h"
bcrypt_cost: 122. Ролевая модель доступа (RBAC)
В системе реализовано разделение привилегий по ролям:
| Роль | Права и область доступа |
|---|---|
admin | Полный административный доступ: Добавление/удаление камер, управление пользователями, настройка ретенции и бэкапов |
operator | Операторский доступ: Просмотр live-видео, навигация по архиву, управление PTZ, экспорт отрезков MP4 |
viewer | Только чтение: Просмотр разрешённых live-камер и воспроизведение HLS/WHEP потоков |
3. Настройка CORS (Cross-Origin Resource Sharing)
При встраивании видеопотоков RUSEON во внешние корпоративные порталы ограничьте список доверенных доменов:
yaml
security:
cors_allowed_origins:
- "https://portal.company.com"
- "https://monitoring.internal"
cors_allowed_methods:
- "GET"
- "POST"
- "OPTIONS"
cors_allowed_headers:
- "Authorization"
- "Content-Type"
- "Range"4. Защита от перебора паролей (Rate Limiting)
Эндпоинты входа (/api/v1/auth/login) защищены встроенным ограничителем запросов (Token Bucket):
- Ограничивает число неудачных попыток входа с одного IP-адреса.
- Автоматически блокирует запросы при превышении 5 попыток в минуту.
5. Шифрование TLS и защита транспорта
- Протоколы: Поддерживаются только современные версии TLS 1.3 и TLS 1.2 (устаревшие TLS 1.0 и 1.1 полностью отключены).
- Требование HTTPS для WebRTC: Современные браузеры блокируют установку WebRTC WHEP соединений на незащищённых HTTP-страницах.