← Cloudflare Cache / cache / cache-security
Cache Deception Armor
Атаки Web Cache Deception
Атака Web Cache Deception обманом заставляет пользователя перейти по URL-адресу, который выглядит как ссылка на статический ресурс, но на самом деле возвращает динамический персонализированный контент с источника.
Эта атака работает, когда источник обрабатывает запросы к несуществующим путям так же, как запросы к родительскому пути. Например, когда http://www.example.com/newsfeed является динамической страницей, которая возвращает разное содержимое для каждого аутентифицированного пользователя, а источник отдаёт тот же ответ для /newsfeed/foo.jpg. Поскольку путь заканчивается на .jpg, Cloudflare кеширует ответ по умолчанию. Затем злоумышленник переходит по тому же URL и получает закешированную копию персонализированного контента пользователя.
Cache Deception Armor защищает от атак
Пользователей можно защитить от атак Web Cache Deception с помощью создание cache rule. С этим правилом вы можете по-прежнему кешировать статические ресурсы, но правило будет проверять, что расширение URL соответствует возвращённому Content-Type.
В примере с новостной лентой выше, если http://www.example.com/newsfeed является скриптом, который выводит веб-страницу, Content-Type это text/html. С другой стороны, http://www.example.com/newsfeed/foo.jpg должен содержать image/jpeg как Content-Type. Если обнаружено несоответствие, которое могло бы привести к атаке Web Cache Deception, Cloudflare не кеширует ответ.
Исключения
- Если возвращенный
Content-Typeэтоapplication/octet-stream, расширение файла не имеет значения, поскольку оно обычно служит сигналом для браузера сохранить ресурс, а не отобразить его. - Cloudflare позволяет
.jpgбыть отдан какimage/webpили.gifкакvideo/webmи других случаев, которые вряд ли являются атаками. - Учитывайте, что Cache Deception Armor зависит от Origin Cache Control.
Cache-Controlзаголовок от источника, либо Правило кеширования Edge Cache TTL может отменить эту защиту.
Включите Cache Deception Armor
Чтобы включить Cache Deception Armor, сначала создайте cache rule. Следуйте инструкциям ниже:
-
На панели управления Cloudflare перейдите к разделу Cache Rules страницу.
Перейдите в Cache Rules ↗ -
Выберите Создать правило.
-
В разделе Когда входящие запросы соответствуют, задайте выражение правила.
-
В разделе Затем, в Допустимость кеширования разделе выберите Подлежит кешированию.
-
Добавьте Cache Key к правилу и включите настройку Cache Deception Armor.
-
Чтобы сохранить и развернуть правило, выберите Развернуть. Если вы ещё не готовы развернуть правило, выберите Save as Draft.