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

Защита anti-replay

Если используется Magic Transit и anycast туннелей IPsec мы рекомендуем отключить защиту от повторного воспроизведения (anti-replay). Cloudflare отключает этот параметр по умолчанию. Однако вы можете включить его через API или панель управления Cloudflare для устройств, которые не поддерживают его отключение, включая Cisco Meraki, Velocloud и AWS VPN Gateway.

См. Добавить туннели чтобы узнать, как настроить защиту от повторного воспроизведения. На этой странице объясняются атаки повторного воспроизведения, причины, по которым Cloudflare рекомендует отключать anti-replay в IPsec, и другие важные особенности.

Атаки с повторным воспроизведением

Атаки с повторным воспроизведением происходят, когда злоумышленник перехватывает и записывает пакет ↗, а затем повторно отправляет записанный пакет в целевую сеть с целью, выгодной для злоумышленника.

Пример

Рассмотрим плохо спроектированный привод открывания гаражных ворот для интернета вещей (IoT). Устройство работает по простому протоколу: пакет User Datagram Protocol (UDP) содержит пароль от гаражных ворот и либо open или shut в своём сегменте данных. Ключ гаражных ворот шифрует сегмент данных, и телефон владельца отправляет его, чтобы открыть или закрыть ворота.

Злоумышленник вряд ли сможет открыть или закрыть гаражную дверь, просто подобрав ключ шифрования и пароль. Он не видит зашифрованное содержимое перехваченного пакета, но если гараж находится у него в поле зрения, он может сопоставить и угадать, какие пакеты отвечают за открытие двери. Когда злоумышленник захочет открыть дверь, он отправит записанный open пакет, и поскольку записанный пакет содержал бы пароль и уже был бы зашифрован правильным ключом, эта дверь открылась бы.

Чтобы предотвратить эту атаку повторного воспроизведения, пользователь мог бы добавлять номер пакета к каждой команде, отправляемой на ворота гаража. Первым мог бы быть packet 1, второй packet 2 и так далее, причем гаражные ворота каждый раз принимали бы только пакеты, содержащие следующее число в последовательности. Например, после того как гаражные ворота получат packet 1, он будет принимать только пакет 2, и если злоумышленник попытается повторно отправить packet 1, гаражные ворота игнорируют запрос.

Защита от повторного воспроизведения (anti-replay) в IPsec

Защита от повторного воспроизведения (anti-replay) в IPsec работает по тому же принципу, что и пример защиты в описанном выше сценарии. Отправитель присваивает каждому пакету IPsec порядковый номер. Получатель отслеживает, какие номера уже были получены, и принимает только те пакеты, которые попадают в небольшое окно вокруг наибольшего из увиденных значений: обычно это окно составляет от 64 до 1024 пакетов. IPsec использует окно вместо строгой последовательности, поскольку в интернете пакеты иногда меняют порядок или теряются, а диапазон допустимых порядковых номеров помогает сгладить эти проблемы.

Magic Transit и защита от replay-атак

Стандартная защита anti-replay в IPsec предполагает наличие одного отправителя и одного получателя. Отправитель хранит порядковый номер в памяти и увеличивает его для каждого пакета. Получатель отслеживает, какие порядковые номера уже были обработаны.

Архитектура anycast Cloudflare не соответствует этой модели, поскольку Magic Transit использует anycast любой пакет может быть обработан любым из тысяч серверов в сотнях дата-центров. Именно эта распределённая обработка обеспечивает Magic Transit преимущества в производительности и отказоустойчивости, но при этом означает, что ни один сервер не имеет полной картины состояния номера последовательности.

Если включить защиту от повторного воспроизведения для IPsec-туннелей Magic Transit, Cloudflare направляет пакеты одного туннеля на единственный сервер, который отслеживает порядковый номер. В этом режиме механизм защиты от повторного воспроизведения работает корректно, однако теряется преимущество распределения трафика между глобальными серверами Cloudflare. Кроме того, он действует только в одном направлении, от Cloudflare к сети клиента: Cloudflare не направляет пакеты из сети клиента на единственный сервер и не применяет в этом направлении защиту от повторного воспроизведения.

Дополнительные соображения

Защита от replay-атак в IPsec крайне важна для транспортного режима, то есть для прямых соединений между хостами или даже между отдельными приложениями. В транспортном режиме злоумышленнику относительно легко определить используемый протокол шифрования и понять, какие пакеты можно повторно воспроизвести, если протокол вообще уязвим для таких атак. Magic Transit, однако, работает в туннельном режиме, в котором успешно провести replay-атаку значительно сложнее.

Есть несколько причин, по которым атаки повторного воспроизведения затруднены в туннельном режиме:

Устранение неполадок

Если вы сталкиваетесь с нестабильностью туннеля или потерей пакетов из-за защиты от повторного воспроизведения, см. Устранение неполадок состояния туннеля.