update-sql-injection-match-set
Описание
Примечание
Это документация по AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.
Вставляет или удаляет объекты SqlInjectionMatchTuple (фильтры) в SqlInjectionMatchSet. Для каждого SqlInjectionMatchTuple объекта вы указываете следующие значения:
-
Action: Вставить объект в массив или удалить объект из массива. Чтобы изменитьSqlInjectionMatchTuple, вы удаляете существующий объект и добавляете новый. -
FieldToMatch: Часть веб-запросов, которую вы хотите, чтобы AWS WAF проверял, и, если вы хотите, чтобы AWS WAF проверял заголовок или пользовательский параметр запроса, имя заголовка или параметра. -
TextTransformation: Тип преобразования текста, если таковой требуется, для выполнения над веб-запросом перед проверкой запроса на наличие фрагментов вредоносного SQL-кода. Вы можете указать только один тип TextTransformation.
Вы используете SqlInjectionMatchSet объекты для указания, какие запросы CloudFront вы хотите разрешить, заблокировать или подсчитать. Например, если вы получаете запросы, содержащие фрагменты SQL-кода в строке запроса и хотите заблокировать эти запросы, вы можете создать SqlInjectionMatchSet с соответствующими настройками и затем настроить AWS WAF на блокирование запросов.
Чтобы создать и настроить SqlInjectionMatchSet, выполните следующие шаги:
- Отправьте запрос CreateSqlInjectionMatchSet.
- Используйте GetChangeToken для получения маркера изменения, который вы предоставляете в параметре
ChangeTokenзапроса UpdateIPSet. - Отправьте запрос
UpdateSqlInjectionMatchSetдля указания частей веб-запросов, которые вы хотите, чтобы AWS WAF проверял на наличие фрагментов SQL-кода.
Дополнительную информацию о том, как использовать API AWS WAF для разрешения или блокирования HTTP-запросов, см. в руководстве разработчика AWS WAF.
См. также: Документация AWS API
Синтаксис
update-sql-injection-match-set
--sql-injection-match-set-id <value>
--change-token <value>
--updates <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]
Параметры
--sql-injection-match-set-id (строка)
SqlInjectionMatchSet, который вы хотите обновить. SqlInjectionMatchSetId возвращается методами CreateSqlInjectionMatchSet и ListSqlInjectionMatchSets.--change-token (строка)
--updates (список)
Массив объектов SqlInjectionMatchSetUpdate, которые вы хотите вставить или удалить из SqlInjectionMatchSet. Дополнительную информацию см. в соответствующих типах данных:
- SqlInjectionMatchSetUpdate : Содержит
ActionиSqlInjectionMatchTuple - SqlInjectionMatchTuple : Содержит
FieldToMatchиTextTransformation - FieldToMatch : Содержит
DataиType
(структура)
Примечание
Это документация по AWS WAF Classic. Для получения дополнительной информации см. AWS WAF Classic в руководстве разработчика.
Указывает часть веб-запроса, которую вы хотите проверить на наличие фрагментов вредоносного SQL-кода, и указывает, хотите ли вы добавить это указание в SqlInjectionMatchSet или удалить его из SqlInjectionMatchSet.
Action -> (строка)
INSERT для добавления SqlInjectionMatchSetUpdate в SqlInjectionMatchSet. Используйте DELETE, чтобы удалить SqlInjectionMatchSetUpdate из SqlInjectionMatchSet.SqlInjectionMatchTuple -> (структура)
Указывает часть веб-запроса, которую вы хотите, чтобы AWS WAF проверял на наличие фрагментов вредоносного SQL-кода, и, если вы хотите проверить заголовок, имя заголовка.
FieldToMatch -> (структура)
Указывает, где в веб-запросе искать фрагменты вредоносного SQL-кода.
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 проверит все параметры в строке запроса на значение или шаблон regex, который вы укажете вTargetString.
Data -> (строка)
Когда значение Type равно HEADER, введите имя заголовка, который вы хотите, чтобы AWS WAF искал, например, User-Agent или Referer. Название заголовка не чувствительно к регистру.
Когда значение Type равно SINGLE_QUERY_ARG, введите имя параметра, который вы хотите, чтобы AWS WAF искал, например, UserName или SalesRegion. Название параметра не чувствительно к регистру.
Если значение Type имеет любое другое значение, опустите Data.
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, если вы не хотите выполнять никаких преобразований текста.
Сокращённый синтаксис:
Action=string,SqlInjectionMatchTuple={FieldToMatch={Type=string,Data=string},TextTransformation=string} ...
Синтаксис JSON:
[
{
"Action": "INSERT"|"DELETE",
"SqlInjectionMatchTuple": {
"FieldToMatch": {
"Type": "URI"|"QUERY_STRING"|"HEADER"|"METHOD"|"BODY"|"SINGLE_QUERY_ARG"|"ALL_QUERY_ARGS",
"Data": "string"
},
"TextTransformation": "NONE"|"COMPRESS_WHITE_SPACE"|"HTML_ENTITY_DECODE"|"LOWERCASE"|"CMD_LINE"|"URL_DECODE"
}
}
...
]
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет интерпретироваться буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса к API. Если предоставлено значение null или строка input, выводит пример входного JSON, который можно использовать как аргумент для --cli-input-json. Аналогично, если предоставлено значение yaml-input, будет выведен пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный каркас JSON нестабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном каркасе JSON.
Общие параметры
--debug (boolean)
Включить отладовую запись в журнал.
--endpoint-url (string)
Переопределить стандартный URL команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один вызов для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определённый профиль из файла аутентификации.
--region (string)
Регион для использования. Переопределяет настройки конфигурации/окружения.
--version (string)
Показать версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Кредиты не будут загружены, если этот параметр задан.
--ca-bundle (string)
Образ сертификата CA для использования при проверке SSL-сертификатов. Переопределяет настройки конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения к сокету в секундах. Если значение установлено в 0, подключение к сокету будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (string)
Стиль форматирования, используемый для бинарных блоков. По умолчанию формат — 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 (boolean)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Подробнее см. руководство по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для обновления набора соответствий SQL-инъекций
Следующая update-sql-injection-match-set команда удаляет объект SqlInjectionMatchTuple (фильтры) в наборе соответствий SQL-инъекций:
aws waf update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}
Дополнительную информацию см. в разделе Работа с условиями соответствия SQL-инъекций в Руководстве разработчика AWS WAF.
Вывод
ChangeToken -> (string)
ChangeToken для отправки UpdateSqlInjectionMatchSet запроса. Вы также можете использовать это значение для запроса статуса запроса. Дополнительную информацию см. в разделе GetChangeTokenStatus.
© Copyright 2025, Amazon Web Services. Created using Sphinx.