Перейти к содержанию

Изменение запроса перед перепроверкой атаки

Обзор правила

Правило Изменить атаку перед активной проверкой используется для изменения следующих элементов исходного запроса перед перепроверкой атаки:

Изменение любого элемента исходного запроса

Правило Изменить атаку перед активной проверкой позволяет изменить только заголовок (header) и путь (uri) исходного запроса. Другие элементы не могут быть изменены или добавлены в запрос при перепроверке атаки.

Переопределить IP‑адрес защищаемого приложения также невозможно, так как правило позволяет изменять только те элементы запроса, которые были в нем переданы изначально.

Замена исходных данных аутентификации на тестовые

Если в исходном запросе были переданы параметры аутентификации, модуль Активной проверки атак удаляет эти данные и отправляет на адрес приложения исходный запрос без них. Если для доступа к API защищаемого приложения необходимо обязательно передать параметры аутентификации, в ответ на запрос вернется ошибка с кодом 401 или другим и модуль Активной проверки атак не сможет однозначно определить наличие уязвимости в приложении.

Чтобы перепроверять исходные запросы с обязательными параметрами аутентификации, необходимо добавить тестовые значения для этих параметров с помощью правила Изменить атаку перед активной проверкой. Например: ключ API, токен, пароль или другие параметры.

Переиспользование тестовых данных аутентификации

Мы рекомендуем сгенерировать отдельные тестовые данные аутентификации, которые будут использоваться только для перепроверки атак со стороны Валарм.

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

По умолчанию при перепроверке атаки запрос отправляется на исходный адрес и путь приложения. Вы можете заменить исходные адрес и путь на другие значения с помощью правила Изменить атаку перед активной проверкой следующим образом:

  • Если в вашей инфраструктуре балансировщик нагрузки перенаправляет запросы на другие инстансы приложения в зависимости от значения заголовка HOST, заменить значение заголовка HOST на адрес отдельного инстанса приложения. Например: на адрес тестовой среды или стейджинга.

    Особенности замены заголовка HOST

    При замене заголовка HOST на новое значение, запросы будут по‑прежнему отправляться на IP‑адрес приложения из исходного запроса. Запрос будет перенаправлен на адрес, указанный в заголовке HOST, если на балансировщике нагрузки на этот IP‑адрес реализована соответствующая конфигурация.

  • Заменить путь исходного запроса, например: на путь до тестовой среды или стейджинга, на путь до целевого сервера для обхода прокси‑сервера.

Чтобы заменить и значение заголовка HOST и путь исходного запроса, необходимо создать два соответствующих правила Изменить атаку перед активной проверкой.

Создание и применение правила

Чтобы создать и применить правило:

  1. Создайте правило Изменить атаку перед активной проверкой в секции Правила в Консоли управления Валарм. Правило состоит из следующих частей:

    • Условие описывает запрос, который необходимо изменить перед перепроверкой.
    • Правила задает новое значение для параметра из поля Часть запроса, которое будет использовано при перепроверке запроса.

      Для передачи значения необходимо использовать язык шаблонов Liquid: заключить значение в двойные фигурные скобки {{}} и одинарные кавычки ''. Например: {{'example.com'}}.

      Значение должно быть передано в декодированном формате.

      Для замены пути исходного запроса (uri), необходимо передать полное значение нового пути.

    • Часть запроса определяет элемент исходного запроса, для которого необходимо заменить значение перед перепроверкой запроса.

      Возможные значения для поля Часть запроса

      В поле Часть запроса можно выбрать только элементы header (заголовок запроса) и uri (путь запроса).

  2. Дождитесь, пока завершится компиляция правила.

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

Примеры правил

  • При перепроверке атак, отправленных на example.com, передавать значение PHPSESSID=mntdtbgt87j3auaq60iori2i63; security=low в заголовке COOKIE.

    Значение заголовка должно быть передано в формате: {{'PHPSESSID=mntdtbgt87j3auaq60iori2i63; security=low'}}.

    Пример правила для переопределения COOKIE

  • Перепроверять атаки, отправленные на example.com, на тестовом окружении example-test.env.srv.loc. При этом, балансировщик нагрузки на example.com должен иметь настройку для перенаправления запросов на адрес, переданный в HOST.

    Адрес тестового окружения должен быть передан в формате: {{'example-test.env.srv.loc'}}.

    Пример правила для переопределения HOST