[ aws . waf-regional ]
update-sql-injection-match-set
Описание
Примечание
Это документация по AWS WAF Classic. Дополнительную информацию см. в руководстве разработчика по AWS WAF Classic.
Вставляет или удаляет объекты SqlInjectionMatchTuple (фильтры) в SqlInjectionMatchSet. Для каждого объекта SqlInjectionMatchTuple вы указываете следующие значения:
-
Action: Вставлять объект в массив или удалять его из массива. Чтобы изменить объект, удалите существующий объект и добавьте новый. -
FieldToMatch: Часть веб-запросов, которую 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.
См. также: Документация API AWS
Синтаксис
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: Параметр в строке запроса, который вы будете проверять, например, ИмяПользователя или РегионПродаж. Максимальная длина для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.
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. Если не указано значение или указано значение 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)
Файл с сертификатом корневого центра, используемый при проверке 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 удаляет объект (фильтры) в наборе соответствий SQL-инъекциям. Поскольку значение SqlInjectionMatchTuple содержит встроенные двойные кавычки, необходимо заключить все значение в одинарные кавычки:
- aws waf-regional 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 -> (строка)
ChangeToken для отправки UpdateSqlInjectionMatchSet запроса. Это значение также можно использовать для запроса состояния запроса. Дополнительная информация представлена в разделе GetChangeTokenStatus.
© Copyright 2025, Amazon Web Services. Created using Sphinx.