Chaindoc logoChaindoc

Лучшие практики безопасности

Chaindoc шифрует документы в покое (AES-256) и в пути (TLS 1.3), проверяет целостность через блокчейн и логирует каждое действие. Здесь расскажем, что работает из коробки и что стоит настроить перед запуском.

Большинство функций безопасности работают сразу. Но есть настройки, которые лучше включить (MFA, ограничения по IP), и привычки, которые стоит выработать команде - ротация ключей, ревью доступов. Этот гид охватывает всё.

Аутентификация

Многофакторная аутентификация

Включите MFA для всех, не только админов. Это самое эффективное, что можно сделать. Chaindoc поддерживает:

  • Authenticator apps (TOTP) — Google Authenticator, Authy, 1Password
  • SMS-коды — работают, но менее безопасны. Лучше использовать приложения.
  • Аппаратные ключи безопасности (FIDO2/WebAuthn) — самый надёжный вариант
  • Биометрия на мобильных устройствах

Политики паролей

Если не используете SSO, включите строгие пароли. Chaindoc позволяет задать минимальную длину (рекомендуем 12+ символов), сложность, сроки истечения и блокировку после неудачных попыток. Можно запретить повтор последних 10 паролей.

Ролевой доступ

Давайте людям только то, что нужно. В Chaindoc есть встроенные роли (Owner, Admin, Manager, Member, Guest, Auditor) и кастомные с правами на каждое действие. Проверяйте назначения каждый квартал и убирайте лишнее. Как настроить — см. документацию по командам.

Шифрование

В покое

Все документы шифруются AES-256 в хранилище. Бэкапы шифруются отдельными ключами. Ключи управляются через выделенный KMS и меняются каждый квартал.

В пути

Каждое соединение использует TLS 1.3. Слабые шифры отключены. HSTS-заголовки не дают браузерам упасть до HTTP. Это касается веб-приложения, API и блокчейн-транзакций.

Безопасность API-ключей

API-ключи — самый частый источник проблем. Утечка секретного ключа даёт полный доступ к аккаунту Chaindoc.

Публичные ключи (`pk_`) созданы для фронтенда и имеют доступ только на чтение, их можно смело встраивать в клиентские бандлы. Подробнее о типах ключей — в гайде по API.

Блокчейн-верификация

Каждый опубликованный документ получает хэш в блокчейне. Это защита от подделок. Даже прямой доступ к базе не позволит изменить документ — хэш в блокчейне станет невалидным.

  • Хэши документов фиксируются при публикации и при каждом изменении статуса (подписи, аннулирование и т.д.)
  • Транзакционные чеки хранятся с документом для удобной проверки
  • Любой может самостоятельно сверить документ с записью в блокчейне
  • Запись перманентна — она останется даже если Chaindoc исчезнет

Для важных документов стоит проверять блокчейн-запись после подписания, чтобы убедиться, что всё совпадает.

Безопасность вебхуков

Если используете вебхуки, проверяйте HMAC-подпись каждого входящего запроса. Без этого кто угодно сможет слать фейковые события на ваш endpoint. Код верификации есть в гайде по вебхукам.

Compliance

Инфраструктура Chaindoc сертифицирована по SOC 2 Type II. В зависимости от индустрии могут понадобиться дополнительные настройки:

  • GDPR — выбор региона хранения (EU, US, Asia), право на удаление, переносимость данных. Политики хранения настраивают автоматическое удаление.
  • HIPAA — аудит-логи и контроль доступа для медицинских документов. Для BAA напишите в поддержку.
  • SOC 2 — контроли безопасности документированы. Ежегодные аудиты сторонних специалистов.
  • eIDAS / ESIGN Act / UETA — compliance подписей встроен для всех трёх типов.
  • ISO 27001 — практики управления информационной безопасностью соответствуют стандарту.

Аудит-логи

Chaindoc логирует всё: входы, доступ к документам, редактирование, события подписей, изменения прав, API-вызовы. Логи хранятся в защищённой системе минимум год (дольше, если требует ваша политика).

Аудит-логи можно экспортировать для внешних проверок. Неудачные попытки входа и подозрительная активность триггерят алерты, если настроен мониторинг.

Мониторинг и реагирование на инциденты

Настройте алерты на неудачные входы, необычную API-активность и эскалацию прав. Chaindoc интегрируется с SIEM-системами, если ваша security-команда их использует.

Имейте план реагирования на инциденты. Знайте, кого звонить, что отключать и как коммуницировать при взломе. Тестируйте план хотя бы раз в год. При security-инцидентах с Chaindoc пишите на security@chaindoc.com.

Чеклист перед запуском

Пробегитесь по этому списку перед продакшеном:

  1. MFA включена для всех аккаунтов
  2. Политики паролей настроены (12+ символов, блокировка после 5 неудач)
  3. Роли назначены по принципу минимальных привилегий
  4. Шифрование AES-256 подтверждено (включено по умолчанию)
  5. TLS 1.3 enforced на всех endpoint
  6. API-ключи хранятся в переменных окружения или менеджере секретов
  7. Тестовые ключи заменены на боевые
  8. Rate limiting настроен для API
  9. Вебхуки с HMAC-верификацией реализованы
  10. Аудит-логи включены и задан срок хранения
  11. Security-мониторинг и алерты настроены
  12. План реагирования на инциденты задокументирован
  13. Бэкапы протестированы (попробуйте восстановить)
  14. Требования compliance задокументированы и выполнены

Что делать дальше