INTEGRITY Документация

Часто задаваемые вопросы о проверке владения

Проверка владения представляет собой одноразовую проверку, которая подтверждает, что у вас есть доступ на чтение к целевому бакету, прежде чем Cloudflare начнёт отправлять в него журналы. Этот механизм не позволяет случайно настроить задание Logpush на отправку данных в бакет, который вам не принадлежит.

Как это работает

При создании задания Logpush для получателя типа хранилище Cloudflare требует подтвердить владение этим получателем:

  1. Запросите проверку владения для вашего destination_conf.
  2. Cloudflare записывает JWT в ownership-challenge.txt в вашем бакете.
  3. Считайте токен из бакета и передайте его вместе с запросом на создание задания.
  4. Cloudflare проверяет токен и создаёт задание.

Пошаговые инструкции см. в Управлять Logpush с помощью cURL.

От чего защищает проверка владения

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

Challenge также предотвращает вредоносные сценарии, при которых злоумышленник может:

Структура токена подтверждения

Проверка владения представляет собой токен JSON Web Token (JWT), содержащий утверждения (claims), которые привязывают его к определённому контексту. Токен включает:

Когда вы отправляете токен подтверждения, Cloudflare проверяет, что все утверждения (claims) в нём совпадают с вашим запросом на создание задания. Это не позволяет использовать один и тот же токен повторно для другого аккаунта, зоны или получателя.

Соображения по безопасности

Можно ли использовать скомпрометированный токен?

На практике атака с использованием скомпрометированного токена подтверждения владения крайне маловероятна. Злоумышленнику потребовалось бы:

  1. Доступ к вашему аккаунту Cloudflare (чтобы сопоставить его с идентификатором объекта в токене)
  2. Знание точного имени бакета и путей/префиксов (чтобы они совпадали с отпечатком назначения)
  3. Выполнить действие в течение 7 дней (до истечения срока действия проверочного запроса)

Основным уровнем защиты являются настройки IAM/контроля доступа вашего бакета и безопасность аккаунта Cloudflare, а не токен проверки владения.

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

Для каких получателей требуется проверка владения?

Назначение Требуется проверка владения
AWS S3 Да (или используйте access key/secret key)
Google Cloud Storage Да
Azure Blob Storage Да
Sumo Logic Да
S3-совместимое хранилище Нет
конечные точки HTTP Нет
Datadog Нет
Splunk Нет
New Relic Нет

Для получателей, не требующих проверки владения, Cloudflare использует альтернативные методы аутентификации, такие как API-ключи или токены.