Перейти к основному содержимому
Возможность

Модификация тела ответа

Применяйте маскирование, замену и HTML-инъекцию к телу ответа без изменения кода backend.

TR7 Модификация тела ответа позволяет трансформировать содержимое, возвращаемое вашим backend, до того как оно достигнет клиента — полностью на слое ADC/WAAP. Маскирование конфиденциальных данных, замена на основе строк или регулярных выражений, внедрение HTML-тегов и незначительные исправления ответов — всё это можно применить без изменения кода приложения. Эта возможность особенно ценна для устаревших приложений. Старый сервис может слишком открыто раскрывать конфиденциальные поля, генерировать жёстко закодированные ссылки, не включать обязательные баннеры или возвращать HTML/JSON-контент, требующий корректировки. TR7 применяет эти преобразования как централизованные правила трафика для тела ответа. Режимы mask, replace и htmlTag управляются в рамках одного семейства действий. Поведение правила можно точно настраивать с помощью таких параметров, как символ маскирования, смещение, минимальное количество совпадений, чувствительность к регистру и тип совпадения. Результат: TR7 корректирует ответы вашего backend в соответствии с требованиями безопасности, соответствия нормативам и модернизации в финальной точке выхода — устраняя утечки конфиденциальных данных, проблемы с устаревшими ссылками и потребности в исправлении контента независимо от цикла выпуска приложения.

3
Режима модификации: mask, replace, htmlTag
16 KB
Ограничение тела по умолчанию — может быть увеличено до сотен МБ при необходимости
0
Изменений кода приложения — все преобразования на слое ADC/WAAP

Небольшая утечка данных в теле ответа является операционным риском, если её нельзя устранить без изменения кода.

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

Исправление проблемы в коде приложения зачастую занимает много времени. Сервис может принадлежать другой команде, расписание выпусков может быть запланировано на месяцы вперёд, или исходный код может быть сложно изменить из-за устаревших технологий. Тем не менее команда безопасности и соответствия нормативам требует немедленного устранения утечки.

Вмешательство в тело ответа без должной осторожности само по себе может создать новые риски. Плохо написанное регулярное выражение может повредить целую страницу, HTML-инъекция может оказаться не в том месте, а обработка очень больших ответов может повлиять на производительность. Поэтому правила модификации тела должны применяться с управляемыми параметрами и чётко определённой областью действия.

Правильный подход — управлять операциями mask, replace и HTML tag для тела ответа как централизованными правилами трафика. Правило должно знать, к какому пути, типу контента или условию оно применяется; поведение совпадения и ограничения размера тела должны быть явно определены.

TR7 Модификация тела ответа маскирует, заменяет или внедряет HTML в содержимое ответа без изменения кода backend — устраняя утечки данных и потребности в исправлении устаревшего кода на слое ADC/WAAP.

Наш подход

TR7 обрабатывает модификацию тела ответа через три основных режима: маскирование, замена и внедрение HTML-тегов.

Режим mask скрывает конфиденциальные значения до того, как они будут увидены

Режим mask заменяет часть строки или значения, совпавшего с регулярным выражением, символом маскирования. Настройки смещения и минимального числа совпадений снижают риск ложных срабатываний.

Режим replace заменяет содержимое ответа управляемым способом

Режим replace заменяет определённую строку или совпадение регулярного выражения новым значением. Используется для исправления устаревших ссылок, скрытия внутренних имён хостов или нормализации небольших проблем с ответами.

Режим HTML tag внедряет управляемый контент на страницу

htmlTag может вставлять скрипты, баннеры, мета-теги или аналогичные HTML-фрагменты в ответ — без изменения шаблона приложения.

Условия и ограничения размера обеспечивают безопасное применение

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

Возможности

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

Действие modifyResponse централизует редактирование тела ответа

TR7 превращает изменения содержимого в централизованные правила через действие modifyResponse, которое работает с телом ответа. Правило выполняется во время фазы ответа и обрабатывает тело, поступающее от backend, до его пересылки клиенту. Эта структура позволяет быстро вносить исправления, не завися от кода приложения, шаблонов или процесса выпуска backend — и особенно ценна для устранения критических брешей безопасности в устаревших приложениях.

Режим mask может скрывать конфиденциальные поля посимвольно

Режим mask заменяет захваченное значение выбранным символом маскирования. Символ маскирования определяется как один символ и по умолчанию равен `*`. Настройка смещения позволяет определённому количеству символов в начале или в конце оставаться видимыми. Это защищает конфиденциальные данные в таких полях, как номера карт, идентификационные номера, идентификаторы пациентов или адреса электронной почты, сохраняя при этом частичную видимость.

Режим replace заменяет устаревший или рискованный текст новым значением

Режим replace заменяет определённую строку или совпадение регулярного выражения новым значением. Внутренние имена хостов, старые домены, неправильные ссылки, устаревшие эндпоинты или технические детали в ответе — всё это можно исправить. Операция нормализует вывод backend в финальной точке выхода. Клиент получает правильный и безопасный контент без каких-либо изменений в коде приложения.

Режим htmlTag может добавлять баннеры, скрипты или мета-контент на страницу

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

Сопоставители строк и регулярных выражений охватывают разные шаблоны контента

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

Настройки чувствительности к регистру и исключаемых символов уточняют точность сопоставления

Чувствительность к регистру может быть критична в некоторых типах контента ответа. TR7 может управлять поведением сопоставителя с помощью настройки чувствительности к регистру. Такие опции, как исключаемые символы, позволяют сохранять определённые символы во время маскирования. Это обеспечивает более читаемый вывод маскирования для телефонных номеров, IBAN, номеров карт или значений с пользовательским форматированием.

Смещение маскирования обеспечивает управляемую видимость, например последних четырёх цифр

Полное маскирование не всегда желательно. Для целей аудита или пользовательского опыта последние четыре цифры, первые несколько символов или определённый раздел формата могут быть оставлены видимыми. Смещение маскирования превращает это поведение в параметр правила. Стандарт частичного маскирования применяется без какого-либо кода приложения.

Порог минимального числа совпадений снижает влияние ложных срабатываний

Некоторые шаблоны могут давать единичные случайные совпадения. Настройка минимального числа совпадений означает, что правило применяется только при обнаружении указанного количества совпадений. Это помогает предотвратить повреждение страницы излишне агрессивным маскированием. Шаблоны конфиденциальных данных применяются более безопасным и предсказуемым образом.

Ограничение размера тела поддерживает баланс между производительностью и безопасностью

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

Применимо к сценариям с JSON, HTML и ответами в виде простого текста

Модификация тела может применяться к ответам JSON API, HTML-страницам или выводу в виде простого текста. Поддерживаются маскирование конфиденциальных полей в JSON, внедрение баннеров в HTML и скрытие внутренней информации в простом тексте. Правила могут быть ограничены условиями по типу контента и пути. Эта гибкость позволяет управлять разными типами приложений с помощью одного действия.

Работает совместно с маскированием конфиденциальных данных и предотвращением утечки данных

Модификация тела ответа — один из механизмов обеспечения на стороне ответа стратегии маскирования конфиденциальных данных. При совместном использовании маскирования IP в логах, шифрования cookie и маскирования тела ответа достигается более широкий контроль утечки данных. Даже если backend возвращает больше данных, чем предполагалось, TR7 может вмешаться в финальной точке выхода. Это даёт командам по соответствию нормативам дополнительный мощный уровень безопасности.

Условная модификация тела может быть построена с помощью движка правил трафика

Правило модификации тела не обязано выполняться для каждого ответа. Оно может активироваться хостом, путём, кодом статуса, типом контента, пользователем, исходным IP или другими условиями FX. Это обеспечивает применение модификации только на конфиденциальных эндпоинтах или для определённых групп пользователей. Ненужные затраты производительности и риск непреднамеренной замены — оба снижаются.

Операционная глубина

Модификация тела ответа должна проектироваться совместно с типом сопоставителя, размером тела, областью типа контента, сжатием, поведением при потоковой передаче и видимостью аудита.

01

Тип сопоставителя

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

02

Размер тела

Ограничение тела по умолчанию поддерживается малым и может быть увеличено при необходимости. Обработка больших ответов создаёт накладные расходы на память и задержку. Если ограничение нужно увеличить до сотен МБ, область эндпоинтов должна быть тщательно ограничена.

03

Область типа контента

Правила должны быть ограничены только ответами JSON, HTML или text. Модификация тела не должна применяться к двоичным файлам, архивам или медиа-ответам. Фильтр по типу контента важен для безопасной работы.

04

Поведение при сжатии

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

05

Влияние потоковой передачи

Модификация тела при потоковых ответах требует более тщательной обработки. Границы совпадений и поведение буфера важны для чанкового контента. Область правила должна быть узкой для больших или непрерывных потоков.

06

Видимость аудита

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

Когда применять

Частичное маскирование номеров карт в ответах API

Финансовое приложение может возвращать номера карт в своём ответе. TR7 маскирует всё, кроме последних четырёх цифр, снижая риск раскрытия конфиденциальных данных.

Скрытие идентификационных данных пациентов в медицинском портале

Устаревшее медицинское приложение может возвращать идентификаторы пациентов или идентификационную информацию в своём ответе. TR7 скрывает эти поля с помощью маскирования на основе регулярных выражений до того, как они достигнут пользователя.

Перезапись устаревших доменных ссылок на новый домен

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

Внедрение баннера безопасности или технического обслуживания в HTML-страницы

Когда шаблон приложения нельзя изменить, TR7 может использовать режим htmlTag для добавления баннера или информационного фрагмента на страницу. Это обеспечивает практичное решение для временных уведомлений о техническом обслуживании и соответствии нормативам.

Устранение утечек внутренней информации при выходе ответа

Backend может возвращать внутренние IP-адреса, имена хостов или техническую информацию о версии в своём ответе. TR7 удаляет эту информацию до того, как она достигнет клиента, используя правило replace или mask.

Часто задаваемые вопросы

Можно ли использовать режимы mask, replace и htmlTag вместе в одной конфигурации?
Каждый режим определяется с собственным параметром действия и может быть привязан к отдельным правилам в рамках одного vService. Например, одно правило может маскировать номера карт, пока другое заменяет устаревшие доменные ссылки. Каждое правило должно быть ограничено собственным условием пути и типа контента.
Как работает смещение маскирования и как оставить видимыми последние четыре цифры?
Смещение маскирования определяет начало или конец маскирования по количеству символов. Чтобы оставить видимыми последние четыре символа, значение смещения можно установить в -4. Этот подход применяет стандарт частичной видимости для номеров карт, идентификационных полей или IBAN без какого-либо кода приложения.
Почему важен размер тела и как его настроить?
Обработка тела ответа обходится дороже применения правил заголовков. Ограничение по умолчанию поддерживается малым; при необходимости его можно намеренно увеличить. Если ограничение нужно увеличить до сотен МБ, правила должны выполняться только для соответствующих эндпоинтов и типов контента.
Как снизить риск ложных срабатываний при использовании сопоставителя регулярных выражений?
Можно настроить порог минимального числа совпадений, чтобы правило активировалось только при обнаружении указанного количества совпадений. Правило также должно быть сужено с помощью определённого пути, типа контента или условия кода статуса. Рекомендуется проверка в тестовой среде с узкой областью перед применением критических правил в production.
В чём разница между этой возможностью и перезаписью ответа, упомянутой на странице Content-Aware Rules?
Страница Content-Aware Rules охватывает сторону маршрутизации трафика и WAAP-скоринга при инспекции тела. Модификация тела ответа фокусируется на механизме преобразования — режимах mask, replace и htmlTag — применяемом к телу ответа. При совместном использовании обе операции принятия решений и преобразования управляются на одной платформе.
Влияет ли эта возможность на CSP, HSTS или другие заголовки безопасности?
Модификация тела ответа работает только с телом ответа. Заголовки безопасности, такие как CSP, HSTS и X-Frame-Options, не затрагиваются. Для манипуляций с заголовками следует использовать отдельное семейство правил заголовков. Правила тела и заголовков могут применяться независимо друг от друга.

Трансформируйте содержимое ответа без изменения кода backend

Маскирование конфиденциальных данных, перезапись устаревших ссылок и внедрение баннеров через режимы mask, replace и htmlTag. Давайте разберём живую настройку на ваших собственных сервисах.