Безопасность

Как dbsend защищает ваши данные на каждом этапе.

AES-256-GCM

Шифрование файлов в покое

HTTPS/TLS

Шифрование в транзите

RBAC

Ролевая модель доступа

Audit Log

Полный журнал действий (Про+)

Шифрование данных

При наличии переменной DATA_ENCRYPTION_KEY (32-байтный ключ) каждый файл шифруется перед записью в S3:

iv (16 байт) + authTag (16 байт) + ciphertext

Алгоритм: AES-256-GCM (аутентифицированное шифрование)

При скачивании файл расшифровывается через proxy-endpoint API. S3 presigned URLs не используются при включённом шифровании.

API Ключи

  • Хранятся в БД только в виде bcrypt-хеша — plainKey нельзя восстановить
  • При создании plainKey показывается один раз — сохраните немедленно
  • Ревокация мгновенная: ключ перестаёт работать сразу после DELETE
  • Поддерживается создание нескольких ключей с разными именами для разных окружений

RBAC — модель ролей

РольПрава
ownerПолный доступ. Управление биллингом, удаление workspace
adminУправление базы данныхми, ключами, участниками. Нет биллинга
memberПросмотр и загрузка бэкапов, восстановление
viewerТолько чтение (просмотр дашборда)

Рекомендации

Используйте env-переменные

Никогда не хардкодьте API ключ в коде. Используйте process.env.DBSEND_API_KEY

Ротируйте ключи

Создавайте новые ключи и удаляйте старые при смене состава команды

Один ключ — одно окружение

Отдельные ключи для production, staging и development

Включите шифрование

Установите DATA_ENCRYPTION_KEY в продакшене для шифрования файлов в S3

Настройте алерты

Подключите Telegram-уведомления для мониторинга пропущенных бэкапов