IBCOURSES / СПРАВОЧНИК ИБ

AWS WAF BLOCK: какое правило остановило запрос

К ответу ↓

Запрос остановлен завершающим действием WAF. Найдите конкретное правило и сопоставьте запись с запросом приложения; HTTP 403 сам по себе источник блокирования не устанавливает.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

AWS WAF BLOCK: какое правило остановило запрос

Запрос остановлен завершающим действием WAF. Найдите конкретное правило и сопоставьте запись с запросом приложения; HTTP 403 сам по себе источник блокирования не устанавливает.

Условия и место поиска

Работа начинается с конкретного защищаемого приложения и времени жалобы. Запишите account, регион, scope и идентификатор web ACL, а также источник получения копии журнала. Зафиксируйте, к какому ресурсу был привязан ACL в рассматриваемый момент: текущая конфигурация могла измениться после события. Включённые метрики и выборка sampled requests не заменяют полный журнал. Назначения журналирования описаны в документации AWS. Здесь рассматривается AWS WAF v2 с formatVersion 1; настройки вашей среды и доставку данных нужно подтвердить отдельно.

Отбор записей

Получите доступную копию за небольшой интервал вокруг запроса и сохраните её неизменённой. Сначала найдите action=BLOCK, затем уточните webaclId, URI, метод и доступный requestId. jq только читает уже экспортированный JSONL; он не обращается к облаку и не меняет правила. Если выгрузка содержит JSON-массив или обёртку транспортного сервиса, сначала установите формат, не применяйте команду вслепую. Сохраняйте целую найденную запись рядом с кратким выводом, чтобы не потерять вложенные правила.

Как прочитать пример

В синтетическом фрагменте DemoRequestPolicy завершило оценку запроса POST /login действием BLOCK. Это собственное правило, поэтому пустой ruleGroupList ожидаемо не содержит внутренней причины группы. Если terminatingRuleId обозначает группу, ищите её terminatingRule внутри ruleGroupList. Пустой массив match details не доказывает, что срабатывание не связано с подозрительным содержимым: подробности не заполняются одинаково для всех типов правил. Не делайте вывод о классификации атаки только по имени правила, выбранному администратором.

Интерпретация результата

Block завершает проверку WAF и препятствует передаче данного запроса защищаемому ресурсу; стандартный ответ может быть заменён настройками пользовательского ответа. Поэтому сравните WAF-решение с наблюдением клиента и журналом обслуживающей инфраструктуры. Несколько ответов 403 могут иметь разных авторов: приложение, прокси, авторизация и WAF. Адрес клиента трактуйте с учётом цепочки доставки и конкретного поля, а не как доказанную личность. Допустимый вывод этой карточки — какое решение WAF принято по найденному запросу.

Следующий шаг

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

Если записи нет

Проверьте правильность ACL и назначения, временную зону, период хранения, права чтения и фильтры отправки. Redaction скрывает выбранные значения, а log filtering может исключать целые записи; это разные причины неполноты. AWS также описывает доставку как best effort. Поэтому отсутствие одной строки не доказывает, что WAF не видел запрос. Сопоставьте независимые журналы обслуживающего ресурса и запишите конкретный пробел: неизвестный ACL, недоступный период или неполная доставка, вместо категоричного вывода «блокирования не было». Ошибка чтения файла, отказ в доступе или ошибка разбора JSON не являются пустой выборкой. Для этого шага нужны права чтения выданной копии; при их отсутствии запросите доступную копию у владельца источника, сохранив сообщение об ошибке.

Поля и область применения

Исходное полеСмысл и ограничения
timestampВремя записи, миллисекунды Unix; привести к общей шкале расследования.
webaclIdКонтекст web ACL; одинаковые названия в разных средах не объединять.
actionЗавершающее действие над данным запросом.
terminatingRuleId / terminatingRuleTypeПравило или группа, завершившие оценку.
ruleGroupList[].terminatingRuleВнутреннее правило группы, если применимо.
httpRequest.requestIdКлюч сопоставления в контексте обслуживающего ресурса.
httpRequest.clientIp / uri / httpMethodНаблюдаемый адрес и метаданные запроса; адрес не устанавливает человека.
terminatingRuleMatchDetailsНе универсальная причина: подробности доступны для определённых SQLi/XSS-условий.
responseCodeSentПоле пользовательского ответа; отсутствие значения не заменяет журнал клиентского ответа.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Пример фрагмента: собственное правило блокировало запрос

Фрагмент журнала. Сокращённый фрагмент по документированной форме AWS WAF v2; значения условные. Неуказанные поля опущены.

{
  "timestamp": 1793782800000,
  "formatVersion": 1,
  "webaclId": "arn:aws:wafv2:eu-central-1:111122223333:regional/webacl/demo-web/11111111-1111-4111-8111-111111111111",
  "action": "BLOCK",
  "terminatingRuleId": "DemoRequestPolicy",
  "terminatingRuleType": "REGULAR",
  "terminatingRuleMatchDetails": [],
  "httpSourceName": "ALB",
  "ruleGroupList": [],
  "httpRequest": {
    "clientIp": "192.0.2.30",
    "httpMethod": "POST",
    "uri": "/login",
    "requestId": "demo-request-001"
  }
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

jq 1.6/1.7, чтение локальной JSONL-копии; укажите своё имя файла. Период и нужный ресурс нужно ограничить отдельно: приведённый фильтр времени не содержит.

jq -c 'select(.action == "BLOCK") | {timestamp, webaclId, action, terminatingRuleId, terminatingRuleType, ruleGroupList, httpRequest}' waf.jsonl

Первоисточники

Срабатывание правила не доказывает успешность атаки или намерение клиента; факт ответа приложения проверяется отдельно.

Связанные материалы

Как пользоваться техническим справочником

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

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

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

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

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

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.