create-byte-match-set
Описание
Примечание
Это документация по AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.
Создаёт набор соответствий по байтам. Затем используйте UpdateByteMatchSet для определения части веб-запроса, которую AWS WAF должен проверять, например, значения заголовка User-Agent или строки запроса. Например, можно создать набор, который соответствует любым запросам с заголовками User-Agent, содержащими строку BadBot. Затем можно настроить AWS WAF для отклонения таких запросов.
Чтобы создать и настроить набор соответствий по байтам, выполните следующие шаги:
- Используйте GetChangeToken для получения маркера изменения, который вы указываете в параметре
ChangeTokenзапросаCreateByteMatchSet. - Отправьте запрос
CreateByteMatchSet. - Используйте
GetChangeTokenдля получения маркера изменения, который вы указываете в параметреChangeTokenзапросаUpdateByteMatchSet. - Отправьте запрос UpdateByteMatchSet для указания части запроса, которую должен проверять AWS WAF (например, заголовок или URI), и значения, которое AWS WAF должен отслеживать.
Дополнительную информацию о том, как использовать API AWS WAF для разрешения или блокирования HTTP-запросов, см. в руководстве разработчика AWS WAF.
См. также: Документация по API AWS
Синтаксис
create-byte-match-set
--name <value>
--change-token <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--name (строка)
Name после создания набора ByteMatchSet.--change-token (строка)
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или со значением input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, он выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверит входные данные команды и вернёт пример выходного JSON для этой команды. Сгенерированный JSON-скелет нестабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (логическое)
Включить отладку.
--endpoint-url (строка)
Переопределить URL по умолчанию команды на указанный URL.
--no-verify-ssl (логическое)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (логическое)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования выходных данных команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использование определённого профиля из файла аутентификации.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отображение версии этого инструмента.
--color (строка)
Включение/выключение цветного вывода.
- on
- off
- auto
--no-sign-request (логическое)
Не подписывать запросы. Кредиты не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл сертификата CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения к сокету в секундах. Если значение установлено в 0, подключение к сокету будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как base64-кодированная строка. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, сопоставляемого с двоичным блоком, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно, независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое)
Отключить пейджер cli для вывода.
--cli-auto-prompt (логическое)
Автоматически запросить параметры входных данных CLI.
--no-cli-auto-prompt (логическое)
Отключить автоматический запрос параметров входных данных CLI.
Вывод
ByteMatchSet -> (структура)
Набор соответствий по байтам, не содержащий объектов ByteMatchTuple.
ByteMatchSetId -> (строка)
Идентификатор набора соответствий по байтам. Используйте ByteMatchSetId для получения информации о наборе ByteMatchSet (см. GetByteMatchSet ), обновления набора ByteMatchSet (см. UpdateByteMatchSet ), вставки объекта ByteMatchSet в набор Rule или удаления одного из набора Rule (см. UpdateRule ), и удаления набора ByteMatchSet из AWS WAF (см. DeleteByteMatchSet ).
ByteMatchSetId возвращается функциями CreateByteMatchSet и ListByteMatchSets.Name -> (строка)
Name после создания набора ByteMatchSet.ByteMatchTuples -> (список)
Указывает байты (как правило, строка, соответствующая символам ASCII), которые вы хотите, чтобы AWS WAF искал в веб-запросах, местоположение в запросах, которое вы хотите, чтобы AWS WAF искал, и другие параметры.
(структура)
Примечание
Это документация по AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.
Байты (обычно строка, соответствующая символам ASCII), которые вы хотите, чтобы AWS WAF искал в веб-запросах, местоположение в запросах, которое вы хотите, чтобы AWS WAF искал, и другие параметры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы AWS WAF искал, например, указанный заголовок или строку запроса. Для получения дополнительной информации см. FieldToMatch.
Type -> (строка)
Часть веб-запроса, которую вы хотите, чтобы AWS WAF искал указанную строку. Части запроса, которые можно искать, включают следующее:
-
HEADER: Указанный заголовок запроса, например, значение заголовкаUser-AgentилиReferer. Если вы выберетеHEADERдля типа, укажите имя заголовка вData. -
METHOD: Метод HTTP, который указывает тип операции, которую запрос просит выполнить исходному серверу. Amazon CloudFront поддерживает следующие методы:DELETE,GET,HEAD,OPTIONS,PATCH,POSTиPUT. -
QUERY_STRING: Строка запроса, которая является частью URL, появляющейся после символа?, если таковой имеется. -
URI: Часть веб-запроса, которая идентифицирует ресурс, например,/images/daily-ad.jpg. -
BODY: Часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы. Тело запроса следует непосредственно за заголовками запроса. Обратите внимание, что только первые8192байтов тела запроса передаются в AWS WAF для проверки. Чтобы разрешать или блокировать запросы на основе длины тела, можно создать набор ограничений размера. Для получения дополнительной информации см. CreateSizeConstraintSet. -
SINGLE_QUERY_ARG: Параметр в строке запроса, который вы будете проверять, например, UserName или SalesRegion. Максимальная длина дляSINGLE_QUERY_ARGсоставляет 30 символов. -
ALL_QUERY_ARGS: АналогичноSINGLE_QUERY_ARG, но вместо проверки одного параметра AWS WAF проверит все параметры в строке запроса на наличие значения или шаблона регулярных выражений, который вы укажете вTargetString.
Data -> (строка)
Когда значение Type равно HEADER, введите имя заголовка, который вы хотите, чтобы AWS WAF искал, например, User-Agent или Referer. Имя заголовка не чувствительно к регистру.
Когда значение Type равно SINGLE_QUERY_ARG, введите имя параметра, который вы хотите, чтобы AWS WAF искал, например, UserName или SalesRegion. Имя параметра не чувствительно к регистру.
Если значение Type имеет любое другое значение, опустите Data.
TargetString -> (бинарные данные)
Значение, которое вы хотите, чтобы AWS WAF искал. AWS WAF ищет указанную строку в части веб-запросов, которую вы указали в FieldToMatch. Максимальная длина значения составляет 50 байтов.
Допустимые значения зависят от значений, которые вы указали для FieldToMatch:
-
HEADER: Значение, которое вы хотите, чтобы AWS WAF искал в заголовке запроса, который вы указали в FieldToMatch, например, значение заголовкаUser-AgentилиReferer. -
METHOD: Метод HTTP, который указывает тип операции, указанной в запросе. CloudFront поддерживает следующие методы:DELETE,GET,HEAD,OPTIONS,PATCH,POSTиPUT. -
QUERY_STRING: Значение, которое вы хотите, чтобы AWS WAF искал в строке запроса, которая является частью URL, появляющейся после символа?. -
URI: Значение, которое вы хотите, чтобы AWS WAF искал в части URL, которая идентифицирует ресурс, например,/images/daily-ad.jpg. -
BODY: Часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы. Тело запроса следует непосредственно за заголовками запроса. Обратите внимание, что только первые8192байтов тела запроса передаются в AWS WAF для проверки. Чтобы разрешать или блокировать запросы на основе длины тела, можно создать набор ограничений размера. Для получения дополнительной информации см. CreateSizeConstraintSet. -
SINGLE_QUERY_ARG: Параметр в строке запроса, который вы будете проверять, например, UserName или SalesRegion. Максимальная длина дляSINGLE_QUERY_ARGсоставляет 30 символов. -
ALL_QUERY_ARGS: АналогичноSINGLE_QUERY_ARG, но вместо проверки одного параметра AWS WAF проверяет все параметры в строке запроса на наличие значения или шаблона регулярных выражений, которые вы укажете вTargetString.
Если TargetString включает буквы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите базовая64-кодированную версию значения. Максимальная длина значения до кодирования в базовую 64 составляет 50 байтов.
Например, предположим, что значение Type равно HEADER, а значение Data равно User-Agent. Если вы хотите найти заголовок User-Agent для значения BadBot, закодируйте BadBot в базовую 64 с помощью кодирования MIME и включите полученное значение QmFkQm90 в значение TargetString.
Значение, которое вы хотите, чтобы AWS WAF искал. SDK автоматически кодирует значение в базовую 64.
TextTransformation -> (строка)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти AWS WAF. Если вы укажете преобразование, AWS WAF выполнит преобразование над FieldToMatch перед проверкой соответствия.
Вы можете указать только один тип TextTransformation.
Когда вы обеспокоены тем, что злоумышленники вводят команду командной строки операционной системы и используют необычные форматы, чтобы скрыть часть или все команды, используйте этот параметр для выполнения следующих преобразований:
- Удалить следующие символы: “ ‘ ^
- Удалить пробелы перед следующими символами: / (
- Заменить следующие символы пробелом: , ;
- Заменить несколько пробелов одним пробелом
- Преобразовать заглавные буквы (A-Z) в строчные (a-z)
Используйте этот параметр, чтобы заменить следующие символы символом пробела (десятичное 32):
- f, подача формы, десятичное 12
- t, табуляция, десятичное 9
- n, новая строка, десятичное 10
- r, возврат каретки, десятичное 13
- v, вертикальная табуляция, десятичное 11
- неразрывный пробел, десятичное 160
COMPRESS_WHITE_SPACE также заменяет несколько пробелов одним пробелом.
HTML_ENTITY_DECODE
Используйте этот параметр, чтобы заменить закодированные символы HTML на незакодированные символы. HTML_ENTITY_DECODE выполняет следующие операции:
- Заменяет
(ampersand)quot;на" - Заменяет
(ampersand)nbsp;на неразрывный пробел, десятичное 160 - Заменяет
(ampersand)lt;на символ “меньше чем” - Заменяет
(ampersand)gt;на> - Заменяет символы, представленные в шестнадцатеричном формате,
(ampersand)#xhhhh;, на соответствующие символы - Заменяет символы, представленные в десятичном формате,
(ampersand)#nnnn;, на соответствующие символы
Используйте этот параметр для преобразования заглавных букв (A-Z) в строчные (a-z).
Используйте этот параметр для декодирования закодированного URL-значения.
Укажите NONE, если вы не хотите выполнять никаких преобразований текста.
PositionalConstraint -> (строка)
В части веб-запроса, которую вы хотите найти (например, в строке запроса, если она есть), укажите, где вы хотите, чтобы AWS WAF искал. Допустимые значения включают следующие:
Указанная часть веб-запроса должна содержать значение TargetString, но местоположение не имеет значения.
Указанная часть веб-запроса должна содержать значение TargetString, и TargetString должна содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, TargetString должно быть словом, что означает следующее:
-
TargetStringточно совпадает со значением указанной части веб-запроса, например, со значением заголовка. -
TargetStringнаходится в начале указанной части веб-запроса и следует за символом, отличным от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;. -
TargetStringнаходится в конце указанной части веб-запроса и предшествует символу, отличного от буквенно-цифрового символа или символа подчеркивания (_), например,;BadBot. -
TargetStringнаходится в середине указанной части веб-запроса и предшествует и следует за символами, отличными от буквенно-цифровых символов или символа подчеркивания (_), например,-BadBot;.
Значение указанной части веб-запроса должно точно совпадать со значением TargetString.
Значение TargetString должно начинаться с указанной части веб-запроса.
Значение TargetString должно заканчиваться в указанной части веб-запроса.
ChangeToken -> (строка)
ChangeToken, которое вы использовали для отправки запроса CreateByteMatchSet. Вы также можете использовать это значение для запроса статуса запроса. Для получения дополнительной информации см. GetChangeTokenStatus.
© Copyright 2025, Amazon Web Services. Created using Sphinx.