get-web-acl-for-resource
Описание
Извлекает WebACL для указанного ресурса.
Этот вызов использует GetWebACL, чтобы убедиться, что у вашей учетной записи есть разрешение на доступ к полученному веб-ACL. Если вы получаете ошибку, указывающую на то, что вашей учетной записи не разрешено выполнять wafv2:GetWebACL для ресурса, эта ошибка не будет включена в историю событий CloudTrail.
Для Amazon CloudFront не используйте этот вызов. Вместо этого вызовите действие CloudFront GetDistributionConfig. Для получения информации см. GetDistributionConfig в Справочнике по API Amazon CloudFront.
Этот вызов требует разрешений, специфичных для типа защищаемого ресурса. Подробности см. в разделе Разрешения для GetWebACLForResource в Руководстве разработчика WAF.
См. также: Документация по API AWS
Сводка
get-web-acl-for-resource
--resource-arn <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]
Параметры
--resource-arn (string)
Имя ресурса Amazon (ARN) ресурса, веб-ACL которого вы хотите получить.
ARN должен быть в одном из следующих форматов:
- Для Application Load Balancer: ``arn:partition :elasticloadbalancing:region :account-id :loadbalancer/app/load-balancer-name /load-balancer-id ``
- Для API REST API Amazon API Gateway: ``arn:partition :apigateway:region ::/restapis/api-id /stages/stage-name ``
- Для API GraphQL AppSync: ``arn:partition :appsync:region :account-id :apis/GraphQLApiId ``
- Для пула пользователей Amazon Cognito: ``arn:partition :cognito-idp:region :account-id :userpool/user-pool-id ``
- Для службы App Runner: ``arn:partition :apprunner:region :account-id :service/apprunner-service-name /apprunner-service-id ``
- Для экземпляра Amazon Web Services Verified Access: ``arn:partition :ec2:region :account-id :verified-access-instance/instance-id ``
- Для приложения Amplify: ``arn:partition :amplify:region :account-id :apps/app-id ``
--cli-input-json | --cli-input-yaml (string) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если в командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с использованием значения, предоставленного JSON, поскольку строка будет восприниматься буквально. Это нельзя указывать вместе с --cli-input-yaml.
--generate-cli-skeleton (string) Выводит скелет 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)
Регион для использования. Переопределяет настройки config/env.
--version (string)
Отображает версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (string)
Пакет сертификатов CA для использования при проверке SSL-сертификатов. Переопределяет настройки config/env.
--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.
Чтобы получить web ACL, связанный с ресурсом AWS
Следующий get-web-acl-for-resource извлекает JSON для веб-ACL, связанного с указанным ресурсом.
aws wafv2 get-web-acl-for-resource \
--resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a
Вывод:
{
"WebACL":{
"Capacity":3,
"Description":"",
"Rules":[
{
"Priority":1,
"Action":{
"Block":{
}
},
"VisibilityConfig":{
"SampledRequestsEnabled":true,
"CloudWatchMetricsEnabled":true,
"MetricName":"testrule01"
},
"Name":"testrule01",
"Statement":{
"AndStatement":{
"Statements":[
{
"ByteMatchStatement":{
"PositionalConstraint":"EXACTLY",
"TextTransformations":[
{
"Priority":0,
"Type":"NONE"
}
],
"SearchString":"dGVzdHN0cmluZw==",
"FieldToMatch":{
"UriPath":{
}
}
}
},
{
"SizeConstraintStatement":{
"ComparisonOperator":"EQ",
"TextTransformations":[
{
"Priority":0,
"Type":"NONE"
}
],
"FieldToMatch":{
"QueryString":{
}
},
"Size":0
}
}
]
}
}
}
],
"VisibilityConfig":{
"SampledRequestsEnabled":true,
"CloudWatchMetricsEnabled":true,
"MetricName":"test01"
},
"DefaultAction":{
"Allow":{
}
},
"Id":"9a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ",
"ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ",
"Name":"test01"
}
}
Дополнительную информацию см. в разделе Связывание или отмена связывания Web ACL с ресурсом AWS в Руководстве разработчика AWS WAF, AWS Firewall Manager и AWS Shield Advanced.
Вывод
WebACL -> (структура)
Web ACL, связанный с ресурсом. Если связанного ресурса нет, WAF возвращает нулевой Web ACL.
Имя -> (строка)
Id -> (строка)
WebACL . Этот идентификатор возвращается в ответах на команды create и list. Вы используете этот идентификатор для таких действий, как получение, обновление и удаление WebACL .ARN -> (строка)
DefaultAction -> (структура)
Действие, которое необходимо выполнить, если ни один из Rules , содержащихся в WebACL , не совпадает.
Block -> (структура)
Указывает, что WAF должен блокировать запросы по умолчанию.
CustomResponse -> (структура)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (целое число)
Код состояния HTTP, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (строка)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или в настройке действия по умолчанию web ACL BlockAction вы ссылаетесь на текст ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP, которые необходимо использовать в ответе. Можно указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Allow -> (структура)
Указывает, что WAF должен разрешать запросы по умолчанию.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Description -> (строка)
Rules -> (list)
Операторы Rule, используемые для идентификации веб-запросов, которыми вы хотите управлять. Каждое правило включает в себя один оператор верхнего уровня, который WAF использует для идентификации соответствующих веб-запросов, и параметры, определяющие, как WAF обрабатывает их.
(структура)
Отдельное правило, которое можно использовать в WebACL или RuleGroup для идентификации веб-запросов, которыми вы хотите управлять каким-либо образом. Каждое правило включает в себя один оператор верхнего уровня, который WAF использует для идентификации соответствующих веб-запросов, и параметры, определяющие, как WAF обрабатывает их.
Name -> (строка)
Имя правила.
Если вы измените имя Rule после его создания и хотите, чтобы имя метрики правила отражало это изменение, обновите имя метрики в настройках VisibilityConfig правила. WAF не обновляет имя метрики автоматически при обновлении имени правила.
Priority -> (целое число)
Rule в WebACL , WAF оценивает каждый запрос по отношению к Rules в порядке, основанном на значении Priority . WAF обрабатывает правила с более низким приоритетом в первую очередь. Приоритеты не обязательно должны быть последовательными, но они должны быть разными. Statement -> (структура)
Оператор обработки WAF для правила, например ByteMatchStatement или SizeConstraintStatement .
ByteMatchStatement -> (структура)
Оператор правила, определяющий поиск соответствия строк для WAF, который необходимо применить к веб-запросам. Оператор сопоставления байтов предоставляет байты для поиска, местоположение в запросах, в которых вы хотите, чтобы WAF выполнял поиск, и другие параметры. Байты для поиска, как правило, являются строкой, которая соответствует символам ASCII. В консоли WAF и руководстве разработчика это называется оператором сопоставления строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает на тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов web ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. раздел Поля журнала в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем выполняет сопоставление с этой строкой.
Если SearchString включает буквы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения, закодированную в формате base64. Максимальная длина значения до кодирования base64 — 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск User-Agent заголовка для значения BadBot , вы кодируете BadBot с использованием кодировки MIME base64 и включаете полученное значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение base64.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценку содержимого только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Требуется соответствие в ключах, значениях или в обоих. Чтобы требовать соответствие в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Требуется соответствие в ключах, значениях или в обоих. Чтобы требовать соответствие в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту при проверке. WAF разделяет имена заголовков в строке двоеточиями без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журналов см. раздел «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журналов см. раздел «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможные варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF выполнял поиск SearchString . Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должен содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что выполняются оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция по проверке вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия ключам и значениям, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF при синтаксическом анализе не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
SensitivityLevel -> (строка)
Чувствительность, которую вы хотите, чтобы WAF использовал для проверки на атаки путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Для получения информации об идентификации и смягчении ложных срабатываний см. раздел Тестирование и настройка в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак путем внедрения SQL-кода или имеют низкую толерантность к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Заявление правила, которое проверяет атаки межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости в безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих соответствий шаблонам с учетом критериев проверки правила.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одного, которое проверяет ключи, а другого, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет поведение отката. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, либо IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков, соответствующие критериям проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или и в том и в другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, либо IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или и в том и в другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который нужно назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который нужно назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (список)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
SizeConstraintStatement -> (structure)
Утверждение правила, которое сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, вы можете использовать утверждение ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до лимита для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать утверждение ограничения размера, чтобы блокировать запросы с большим размером тела запроса. Для получения дополнительной информации о лимитах проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Part of the request to filter on (Часть запроса для фильтрации), косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure) (FieldToMatch -> (структура))
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure) (SingleHeader -> (структура))
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string) (Name -> (строка))
SingleQueryArgument -> (structure) (SingleQueryArgument -> (структура))
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string) (Name -> (строка))
AllQueryArguments -> (structure) (AllQueryArguments -> (структура))
UriPath -> (structure) (UriPath -> (структура))
/images/daily-ad.jpg.QueryString -> (structure) (QueryString -> (структура))
?, если таковой имеется.Body -> (structure) (Body -> (структура))
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с превышением размера, см. конфигурацию объекта Body.
OversizeHandling -> (string) (OversizeHandling -> (строка))
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с вашими настройками правил и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure) (Method -> (структура))
JsonBody -> (structure) (JsonBody -> (структура))
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с превышением размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure) (MatchPattern -> (структура))
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure) (All -> (структура))
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list) (IncludedPaths -> (список))
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string) (строка)
MatchScope -> (string) (MatchScope -> (строка))
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string) (InvalidFallbackBehavior -> (строка))
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string) (OversizeHandling -> (строка))
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с вашими настройками правил и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure) (Headers -> (структура))
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie как обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для соответствия в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, которые имеют ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, которые имеют ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверить фрагменты URI запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Размер -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило географического соответствия помечает каждый проверяемый им запрос независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило географического соответствия с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы они выполнялись после правила географического соответствия, и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 (International Organization for Standardization). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы укажете его, адрес в географическом соответствии ForwardedIPConfig .
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете перенаправленный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Для получения дополнительных сведений см. оператор правила географического соответствия в руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухзначных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из кодов стран ISO альфа-2 международного стандарта ISO 3166.
Когда вы используете оператор географического соответствия только для меток региона и страны, которые он добавляет к запросам, вам все равно необходимо предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журналов и метрик, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при резервировании:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем предоставьте ARN группы правил в этом операторе.
Вы не можете вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня внутри правила, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, для которых действия установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переопределения.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или настройке действия по умолчанию веб-ACL BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правил, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правил набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от своих правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке, а не использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите его в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные — прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client’s original IP.
- LAST - Inspect the last IP address in the list of IP addresses in the header.
- ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий в компонентах веб-запросов с помощью регулярных выражений. Чтобы использовать это, создайте RegexPatternSet, который определяет выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении набора, на который ссылаются, WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить с помощью WAF.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не укажете этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байт) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных заголовков в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных файлов cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных заголовков в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту возможность можно использовать только с сопоставлением строкByteMatchStatement, для которого PositionalConstraint установлено в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту возможность можно использовать только с сопоставлением строкByteMatchStatement, для которого PositionalConstraint установлено в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
RateBasedStatement -> (структура)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в настоящее время правиле, изменение сбросит счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для ключей агрегирования, которые вы указываете, является отдельным экземпляром агрегирования, причем значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого из них. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает скорость каждого отдельно.
При желании вы можете вложить другое выражение внутри выражения на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному выражению. Вы можете использовать это вложенное выражение сужения области действия в сочетании со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению сужения области действия, без дополнительного агрегирования. Когда вы решите просто управлять всеми запросами, соответствующими выражению сужения области действия, экземпляр агрегирования будет единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого выражения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Дополнительную информацию об опциях см. в разделе Ограничение скорости веб-запросов с помощью правил на основе скорости в Руководстве разработчика WAF .
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждое из двух выражений правил представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Предел запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если выражение на основе скорости включает ScopeDownStatement , это ограничение применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой отдельной пары method, city.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего времени. Например, для настройки 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, насколько далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT— Подсчитывайте и ограничивайте запросы, соответствующие выражению сужения области действия правила на основе скорости. С этим параметром подсчитанные запросы не подвергаются дальнейшему агрегированию. Выражение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С этим параметром необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS— Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим параметром необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы выполнить агрегирование только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования вIPилиFORWARDED_IP. -
FORWARDED_IP— Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок для использования в свойствеForwardedIPConfig. Для агрегирования по комбинации перенаправленного IP-адреса с другими ключами агрегирования используйтеCUSTOM_KEYS. -
IP— Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Для агрегирования по комбинации IP-адреса с другими ключами агрегирования используйтеCUSTOM_KEYS.
ScopeDownStatement -> (structure)
Дополнительное вложенное выражение, которое сужает область действия веб-запросов, которые оцениваются и управляются выражением на основе скорости. Когда вы используете выражение сужения области действия, правило на основе скорости отслеживает и ограничивает скорость только тех запросов, которые соответствуют выражению сужения области действия. Вы можете использовать любое вкладываемое выражение в выражении сужения области действия, и вы можете вкладывать выражения на любом уровне, так же, как и для выражения правила.
ByteMatchStatement -> (structure)
Выражение правила, которое определяет поиск соответствия строки для WAF, чтобы применить его к веб-запросам. Выражение соответствия байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и руководстве для разработчиков это называется выражением соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы указываете для проверки в FieldToMatch. Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкиByteMatchStatementс настройкойPositionalConstraintвEXACTLY. Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе Поля журнала в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков, из заголовков в веб-запросе, а затем сопоставляет эту строку.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения, закодированную в формате base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent значения BadBot , вы кодируете BadBot в base64, используя кодирование MIME base64, и включаете полученное значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать чрезмерно большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки чрезмерного размера с настройками действий правил и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать чрезмерно большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки чрезмерного размера с настройками действий правил и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков, которые необходимо сопоставить с критериями проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с установкой PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с установкой PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверка фрагментов URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (список)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
PositionalConstraint -> (строка)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что истинны оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или предшествует ему символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или следует за ним символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (структура)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр нечувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и нечувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверка тела запроса как обычного текста. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверка тела запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (список)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING— проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. JSON body в WAF Developer Guide .OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверяйте доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве поля для соответствия компоненту при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. раздел Log fields в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, назначаемый веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. раздел Log fields в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, назначаемый веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагментов URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе JSON body в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure) (структура)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer) (Приоритет -> (целое число))
Type -> (string) (Тип -> (строка))
SensitivityLevel -> (string) (Уровень чувствительности -> (строка))
Чувствительность, которую вы хотите, чтобы WAF использовал для проверки атак типа SQL-инъекций.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию о выявлении и смягчении последствий ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF.
LOW, как правило, является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак типа SQL-инъекций или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure) (XssMatchStatement -> (структура))
Инструкция по правилам, которая проверяет атаки межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте как средство для внедрения вредоносных клиентских сценариев в другие законные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции по правилу. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции по правилу.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадение в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одного, который проверяет ключи, и другого, который проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции по правилу. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции по правилу.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции по правилу. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции по правилу.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение - в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение - в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкByteMatchStatement, для которого параметр PositionalConstraint установлен в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях журнала см. Log fields в руководстве WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкByteMatchStatement, для которого параметр PositionalConstraint установлен в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях журнала см. Log fields в руководстве WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в руководстве WAF Developer Guide.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным контентом, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
SizeConstraintStatement -> (структура)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера для блокировки запросов с большим размером тела запроса. Для получения дополнительной информации об ограничениях проверки, см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверьте доступные заголовки обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie передаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверьте доступные файлы cookie обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверьте доступные заголовки обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации утверждения сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации утверждения сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Размер -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет их с веб-запросами на основе кода страны. Правило соответствия географическим данным помечает каждый запрос, который он проверяет, независимо от того, находит ли он совпадение.
- Для управления запросами только по стране можно использовать этот оператор отдельно и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило соответствия географическим данным с действием Count, чтобы оно помечало только запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы запустить их после правила соответствия географическим данным, и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды страны и региона из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если указать его, адрес в соответствии с географическим соответствием ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток - awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете перенаправленный IP-адрес, форматы меток - awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Оператор правила соответствия географическим данным в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ], из кодов стран ISO alpha-2 международного стандарта ISO 3166.
При использовании оператора соответствия географическим данным только для меток региона и страны, которые он добавляет к запросам, вам все равно придется указать код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета совпадающих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журналов и метрики, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в группе правил NO_MATCH . Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Нельзя вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (строка)
ExcludedRules -> (список)
Правила в ссылочной группе правил, действия которых установлены на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(структура)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (строка)
Count .RuleActionOverrides -> (список)
Настройки действий для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, убедитесь в именах правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, убедитесь в именах правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (строка)
Имя правила для переопределения.
Примечание
Пожалуйста, убедитесь в именах правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (структура)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (структура)
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (структура)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (целое число)
Код состояния HTTP, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (строка)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или в настройке действия по умолчанию веб-ACL BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (список)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Allow -> (структура)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Count -> (структура)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Captcha -> (структура)
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
Challenge -> (структура)
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (строка)
IPSetReferenceStatement -> (структура)
Оператор правил, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правил IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, который следует использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Можно указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правил.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значением заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные — прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST — Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST — Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY — Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий регулярных выражений в компонентах веб-запроса. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого заголовка нестандартного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого файла cookie нестандартного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie в запросе больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая хост-служба пересылает максимум 200 файлов cookie и не более 8 КБ содержимого cookie в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверка фрагментов URI запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого фрагмента URI нестандартного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих параметров в используемом в настоящее время правиле, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, например IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie-файлы.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования со значением каждого ключа, вносящим вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст различные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземплярами агрегирования и количеством запросов для нашего примера будут следующие:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземплярами агрегирования и количеством запросов для нашего примера будут следующие:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критериями агрегирования являются IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в комбинированный экземпляр агрегирования. Экземплярами агрегирования и количеством запросов для нашего примера будут следующие:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает скорость отдельно.
При желании вы можете вложить другое выражение внутри выражения на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только запросов, соответствующих вложенному выражению. Вы можете использовать это вложенное выражение сужения области действия вместе со спецификациями ключа агрегирования или просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению сужения области действия, без дополнительного агрегирования. Если вы решите просто управлять всеми запросами, соответствующими выражению сужения области действия, экземпляр агрегирования является единственным для правила.
You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement . You can define a RateBasedStatement inside a web ACL and inside a rule group.
For additional information about the options, see Rate limiting web requests using rate-based rules in the WAF Developer Guide .
If you only aggregate on the individual IP address or forwarded IP address, you can retrieve the list of IP addresses that WAF is currently rate limiting for a rule through the API call GetRateBasedStatementManagedKeys . This option is not available for other aggregation configurations.
WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.
Limit -> (long)
Предел запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если выражение на основе скорости включает в себя ScopeDownStatement , этот лимит применяется только к запросам, соответствующим этому выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит запросов с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это лимит запросов для любой отдельной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в подсчет запросов, оглядываясь назад от текущего времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.-
CONSTANT- Count and limit the requests that match the rate-based rule’s scope-down statement. With this option, the counted requests aren’t further aggregated. The scope-down statement is the only specification used. When the count of all requests that satisfy the scope-down statement goes over the limit, WAF applies the rule action to all requests that satisfy the scope-down statement. With this option, you must configure theScopeDownStatementproperty. -
CUSTOM_KEYS- Aggregate the request counts using one or more web request components as the aggregate keys. With this option, you must specify the aggregate keys in theCustomKeysproperty. To aggregate on only the IP address or only the forwarded IP address, don’t use custom keys. Instead, set the aggregate key type toIPorFORWARDED_IP. -
FORWARDED_IP- Aggregate the request counts on the first IP address in an HTTP header. With this option, you must specify the header to use in theForwardedIPConfigproperty. To aggregate on a combination of the forwarded IP address with other aggregate keys, useCUSTOM_KEYS. -
IP- Aggregate the request counts on the IP address from the web request origin. To aggregate on a combination of the IP address with other aggregate keys, useCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это требуется, если вы указываете переадресованный IP-адрес в параметрах ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если в запросе отсутствует действительный IP-адрес в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
CustomKeys -> (list)
Задает агрегированные ключи для использования в правиле rate-base.
(структура)
Задает один пользовательский агрегированный ключ для правила rate-base.
Note
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила rate-based.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил rate-based для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил rate-based для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (структура)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил rate-based для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (структура)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил rate-based для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (структура)
ForwardedIP -> (структура)
Используйте первый IP-адрес в HTTP-заголовке в качестве агрегированного ключа. Каждый отдельный переадресованный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или переадресованный IP-адрес в настройках пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по переадресованному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего оператора rate-based.
С этим параметром необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила rate-based.
IP -> (структура)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или переадресованный IP-адрес в настройках пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего оператора rate-based.
LabelNamespace -> (структура)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, которое имеет указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен меток в качестве пользовательского ключа, каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом rate-based в веб-ACL.
Для получения информации о пространствах имен и именах меток см. Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (структура)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил rate-based для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (структура)
Используйте отпечаток пальца JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA3 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, назначаемый веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
JA4Fingerprint -> (структура)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой И. Вы предоставляете более одного Statement в AndStatement .
Statements -> (list)
Операторы для объединения с логикой И. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой ИЛИ. Вы предоставляете более одного Statement в OrStatement .
Statements -> (list)
Операторы для объединения с логикой ИЛИ. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вкладывать ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетных записей (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также места в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и места в полезной нагрузке запроса входа данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также места в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и места в полезной нагрузке запроса входа данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, см. раздел примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе JSON Pointer см. документацию JavaScript Object Notation (JSON) Pointer в Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе JSON Pointer см. документацию JavaScript Object Notation (JSON) Pointer в Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применимо только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют аномальное поведение, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в списке правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для списков контроля доступа к веб-ресурсам, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы входа.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функции.
Для получения информации об использовании управляемой группы правил ATP см. WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL-адреса https://example.com/web/login , вы предоставите путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя имеет вид/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя имеет видusername1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя имеет вид/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя имеет видusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля имеет видpassword1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля имеет видpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы входа, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках контроля доступа к веб-ресурсам, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход или попытку создания учетной записи. Чтобы засчитывалось как успех, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход или попытку создания учетной записи. Чтобы засчитывалось как неудача, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход или попытку создания учетной записи. Чтобы засчитывалось как успех, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход или попытку создания учетной записи. Чтобы засчитывалось как неудача, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход или попытку создания учетной записи. Чтобы засчитывалось как успех, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход или попытку создания учетной записи. Чтобы засчитывалось как неудача, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход или попытку создания учетной записи. Чтобы засчитывалось как успех, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход или попытку создания учетной записи. Чтобы засчитывалось как неудача, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в WAF Developer Guide .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы предоставите путь /web/newaccount . Пути страниц создания учетной записи, которые начинаются с предоставленного вами пути, считаются совпадением. Например /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы предоставите путь /web/registration . Пути страниц регистрации, которые начинаются с предоставленного вами пути, считаются совпадением. Например /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Укажите поля номера телефона в массиве именно в том порядке, в котором они упорядочены в полезной нагрузке запроса.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля номера телефона.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Укажите поля адреса в массиве именно в том порядке, в котором они упорядочены в полезной нагрузке запроса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля адреса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сессии клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сессий клиентов и с IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (строка)
Имя заголовка, с которым необходимо сопоставить. Имя должно точно соответствовать, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(строка)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(строка)
BodyContains -> (структура)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(строка)
FailureStrings -> (список)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(строка)
Json -> (структура)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (строка)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(строка)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(строка)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (список)
Настройки действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одну переоценку для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь в правильности имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь в правильности имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переопределения.
Примечание
Убедитесь в правильности имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL BlockAction setting, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор соответствия меткам предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю строку полного имени метки, которая была добавлена в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное имя в своей строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор соответствия метке.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то эта спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс, обеспечивающий полное квалифицированное имя метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентам веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с параметрами действий вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможные варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с параметрами действий вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует сделать, если заголовки запроса больше по количеству или размеру, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует сделать, если файлов cookie в запросе больше по количеству или размеру, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует сделать, если заголовки запроса больше по количеству или размеру, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует сделать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста удаляют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста удаляют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете переадресованный IP-адрес в параметрах агрегированного ключа правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие типы поведения при резервировании:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Указывает совокупные ключи, которые будут использоваться в правиле на основе частоты запросов.
(структура)
Указывает один настраиваемый совокупный ключ для правила на основе частоты запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, опускаются из оценки и обработки правила на основе частоты запросов.Header -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке способствует экземпляру агрегации. Если вы используете один заголовок в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты запросов для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie способствует экземпляру агрегации. Если вы используете один cookie в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты запросов для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение для именованного аргумента запроса способствует экземпляру агрегации. Если вы используете один аргумент запроса в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты запросов для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка способствует экземпляру агрегации. Если вы используете только строку запроса в качестве настраиваемого ключа, то каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты запросов для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве совокупного ключа. Каждый отдельный перенаправленный IP-адрес способствует экземпляру агрегации.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в параметрах настраиваемого ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете выполнять агрегацию только по перенаправленному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего оператора на основе частоты запросов.
С помощью этого параметра необходимо указать заголовок, который будет использоваться в свойстве ForwardedIPConfig правила на основе частоты запросов.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес способствует экземпляру агрегации.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в параметрах настраиваемого ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете выполнять агрегацию только по IP-адресу, указав IP в AggregateKeyType вашего оператора на основе частоты запросов.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, способствует экземпляру агрегации. Если вы используете только одно пространство имен метки в качестве настраиваемого ключа, то каждое имя метки полностью определяет экземпляр агрегации.
При этом используются только метки, добавленные в запрос правилами, которые оцениваются до этого правила на основе частоты запросов в веб-ACL.
Сведения о пространствах имен и именах меток см. в разделе Синтаксис и требования к именованию меток в Руководстве разработчика WAF .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI способствует экземпляру агрегации. Если вы используете только путь URI в качестве настраиваемого ключа, то каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты запросов для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток JA3 в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если информации TSL Client Hello недостаточно для вычисления отпечатка JA3.
Можно указать следующие резервные варианты:
-
MATCH— рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегатного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующее поведение при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложенными.
(structure)
Руководство по обработке для Rule, используемое WAF для определения соответствия веб-запроса правилу.
Например, спецификации см. в разделе примеров CreateWebACL.
ByteMatchStatement -> (structure)
Оператор правила, определяющий поиск соответствия строки для WAF для применения к веб-запросам. Оператор сопоставления байтов предоставляет байты для поиска, расположение в запросах, которые вы хотите, чтобы WAF искал, и другие параметры. Байты для поиска, как правило, представляют собой строку, соответствующую символам ASCII. В консоли WAF и руководстве разработчика это называется оператором сопоставления строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF ищет только в той части веб-запросов, которую вы указываете для проверки в FieldToMatch. Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA3 запроса. Отпечаток JA3 представляет собой 32-значный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatementсPositionalConstraintустановлено вEXACTLY. Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет эту строку.
Если SearchString содержит алфавитные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent значения BadBot , вы кодируете BadBot в base64, используя MIME base64-кодирование, и включаете полученное значение, QmFkQm90 , в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения с использованием синтаксиса JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте эту опцию для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия ключам и значениям, используйте логическое утверждение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверить фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагментов URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF выполнял поиск SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , а SearchString должны содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих условия верны:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция по правилу, которое проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы делать такие вещи, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит зафиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит зафиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки обработки превышения размера MATCH или NO_MATCH с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит зафиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте эту опцию для включения всех путей. Вместо этого используйте настройкуAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое заявление AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит зафиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки обработки превышения размера MATCH или NO_MATCH с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или значениях, или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с использованием критериев проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или значениях, или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Преобразования текста используются в операторах сопоставления правил для преобразования компонента FieldToMatch запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на атаки путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об обнаружении и смягчении ложных срабатываний см. Testing and tuning in the WAF Developer Guide .
LOW, как правило, является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак путем внедрения SQL-кода или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который выполняет проверку на атаки межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства внедрения вредоносных клиентских сценариев в другие легитимные веб-браузеры.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных объектов следующие:
-
CONTINUE— проверка доступного содержимого тела обычным образом в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки негабаритных объектов с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Соответствие всем элементам. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствие только указанным включаемым путям. См. также MatchScope в JsonBody.
Предоставьте включаемые пути, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных объектов следующие:
-
CONTINUE— проверка доступного содержимого тела обычным образом в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки негабаритных объектов с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмерности следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правил. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie всего. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки переразмерности следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмерности следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагментов URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, можно использовать оператор ограничения размера для поиска строк запросов, которые длиннее 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF будет проверять только количество байтов в теле до предела для типа веб-ACL и защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы заблокировать запросы, у которых размер тела запроса больше. Для получения дополнительной информации об ограничениях проверки см. параметры Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения параметра Часть запроса для фильтрации, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка негабаритного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое AND утверждение для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie негабаритного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое AND утверждение для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для расчета. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Log fields Руководства разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для расчета. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Log fields Руководства разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI негабаритного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если он не может полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел JSON body Руководства разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и соответствует веб-запросам на основе кода страны. Правило соответствия географическим данным помечает каждый проверяемый им запрос независимо от того, находит ли оно соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, которым вы хотите соответствовать, в массиве
CountryCodes. - В противном случае настройте правило соответствия географическим данным с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы запустить их после правила соответствия географическим данным, и настройте их на соответствие географическим меткам и обработку запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его указываете, адрес в соответствие географическим данным ForwardedIPConfig .
Если вы используете источник веб-запроса, форматы меток — awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток — awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе «Оператор правила соответствия географическим данным» в Руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из двухбуквенных кодов стран международного стандарта ISO 3166.
Когда вы используете оператор соответствия географическим данным только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило для подсчета только совпадающих запросов, но оно по-прежнему будет генерировать ведение журнала и метрики подсчета для любых совпадений. Вы можете сократить ведение журнала и метрики, которые создает правило, указав страну, которая вряд ли станет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, указанного в источнике веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое нужно присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Нельзя вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, действия которых установлены в Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет настраиваемый ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
HTTP-код состояния, который будет возвращен клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать IP-набор, см. CreateIPSet .
Каждый оператор правила IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в HTTP-заголовке, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит допустимый IP-адрес в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие типы поведения при отказе:
-
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST — проверять первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST — проверять последний IP-адрес в списке IP-адресов в заголовке.
- ANY — проверять все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий в компонентах веб-запроса с использованием регулярных выражений. Для этого создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, а затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует какому-либо из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от своих правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE— Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки негабаритных размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны, которые нужно искать в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется найти соответствие в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одного, который проверяет ключи, и другого, который проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если он не может полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Body JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE— Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки негабаритных размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры области действия и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется совпадение в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры области действия и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется совпадение в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie всего. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки обычно, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе частоты подсчитывает входящие запросы и ограничивает частоту запросов, когда они поступают со слишком высокой скоростью. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает частоту запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить операции ограничения скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для ключей агрегирования, которые вы указываете, является отдельным экземпляром агрегирования, при этом значение из каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP address 10.1.1.1, HTTP method POST
- IP address 10.1.1.1, HTTP method GET
- IP address 127.0.0.0, HTTP method POST
- IP address 10.1.1.1, HTTP method GET
Правило будет создавать разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF считает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP address 10.1.1.1: count 3
- IP address 127.0.0.0: count 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- HTTP method POST: count 2
- HTTP method GET: count 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в комбинированный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP address 10.1.1.1, HTTP method POST: count 1
- IP address 10.1.1.1, HTTP method GET: count 2
- IP address 127.0.0.0, HTTP method POST: count 1
Для любой n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости отдельно.
При желании вы можете вложить другое выражение в выражение на основе частоты, чтобы сузить область действия правила, чтобы оно учитывало только запросы и ограничивало скорость запросов, соответствующих вложенному выражению. Вы можете использовать это вложенное выражение для сужения области действия вместе со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению сужения области действия, без дополнительной агрегации. Когда вы выбираете только управлять всеми запросами, соответствующими выражению сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого выражения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
For additional information about the options, see Rate limiting web requests using rate-based rules in the WAF Developer Guide .
If you only aggregate on the individual IP address or forwarded IP address, you can retrieve the list of IP addresses that WAF is currently rate limiting for a rule through the API call GetRateBasedStatementManagedKeys . This option is not available for other aggregation configurations.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе частоты, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе частоты в двух веб-ACL, каждое из двух выражений правила представляет отдельный экземпляр правила на основе частоты и получает собственное отслеживание и управление WAF. Если вы определяете правило на основе частоты внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе частоты, который получает собственное отслеживание и управление WAF.
Limit -> (long)
Предел запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе частоты. Если выражение на основе частоты включает ScopeDownStatement , этот лимит применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой одной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включить в свои подсчеты запросов, оглядываясь назад с текущего времени. Например, при настройке 120, когда WAF проверяет скорость, он учитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а то, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Параметр, указывающий, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе частоты.-
CONSTANT- Подсчитывайте и ограничивайте запросы, соответствующие выражению сужения области действия правила на основе частоты. При использовании этого параметра подсчитываемые запросы не агрегируются далее. Спецификация сужения области действия — единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С этим параметром необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим параметром необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по переадресованному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать комбинацию переадресованного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать комбинацию IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете переадресованный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при резервировании:
-
MATCH- Рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий выражению правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле с ограничением скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила с ограничением скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила с ограничением скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил с ограничением скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (целое число)
Type -> (строка)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил с ограничением скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (целое число)
Type -> (строка)
QueryArgument -> (структура)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил с ограничением скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (целое число)
Type -> (строка)
QueryString -> (структура)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (список)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил с ограничением скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (целое число)
Type -> (строка)
HTTPMethod -> (структура)
ForwardedIP -> (структура)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегирования.
При указании IP-адреса или перенаправленного IP-адреса в настройках пользовательского ключа необходимо также указать как минимум еще один ключ для использования. Вы можете выполнять агрегирование только по перенаправленному IP-адресу, указав FORWARDED_IP в операторе ограничения скорости AggregateKeyType .
С помощью этого параметра необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила с ограничением скорости.
IP -> (структура)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
При указании IP-адреса или перенаправленного IP-адреса в настройках пользовательского ключа необходимо также указать как минимум еще один ключ для использования. Вы можете выполнять агрегирование только по IP-адресу, указав IP в операторе ограничения скорости AggregateKeyType .
LabelNamespace -> (структура)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полностью квалифицированное имя метки, которое имеет указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен меток в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом с ограничением скорости в веб-ACL.
Для получения информации о пространствах имен и именах меток см. раздел Синтаксис и требования к именованию меток в Руководстве разработчика WAF .
Namespace -> (строка)
UriPath -> (структура)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил с ограничением скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного контента, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (целое число)
Type -> (строка)
JA3Fingerprint -> (структура)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (строка)
Статус соответствия для присвоения веб-запросу, если недостаточно информации TLS Client Hello для вычисления отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного Statement в AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложенными.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой OR. Вы предоставляете более одного Statement в OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложенными.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вкладывать ManagedRuleGroupStatement , например для использования внутри NotStatement или OrStatement . Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группам правил, используемым для интеллектуального смягчения угроз, требуется дополнительная настройка:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезных данных запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезных данных запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группам правил, используемым для интеллектуального смягчения угроз, требуется дополнительная настройка:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезных данных запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезных данных запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF). Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF). Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная настройка для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. WAF Bot Control rule group и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет действий, связанных с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Перечисление правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для списков управления доступом к веб-ресурсам, которые защищают дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы входа в систему.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе «Группа правил предотвращения захвата учетной записи (ATP) WAF Fraud Control» и «Предотвращение захвата учетной записи (ATP) WAF Fraud Control» в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа для вашего приложения. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются соответствующими. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов входа, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодированием формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодированием формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодированием формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодированием формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы входа, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках управления доступом к веб-ресурсам, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиентов, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от клиентских сеансов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно совпадать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может быть в любом месте тела и должна точно совпадать, включая регистр. Каждая строка должна быть уникальной среди успешных и неудачных строк.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди успешных и неудачных строк.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON-ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON-ответа.
Identifier -> (string)
Идентификатор для сопоставления значения в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросах на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это также для предоставления информации о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в Руководстве разработчика WAF .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы предоставите путь /web/newaccount . Пути к страницам создания учетной записи, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой отображается форма регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы предоставите путь /web/registration . Пути к страницам регистрации, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя:username1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя:username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля:password1.
Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля:password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты:email1.
Identifier -> (string)
Имя поля электронной почты.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты:email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы поля номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы поля номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля номера телефона.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы поля номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы поля номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля адреса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно в попытках создания учетной записи клиента, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (строка)
Имя заголовка, с которым нужно сопоставить. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(строка)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(строка)
BodyContains -> (структура)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(строка)
FailureStrings -> (список)
Строки в теле ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(строка)
Json -> (структура)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (строка)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(строка)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(строка)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (список)
Настройки действия, которые будут использоваться вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Обратите внимание на проверку имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(структура)
Настройка действия, используемая вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Обратите внимание на проверку имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Имя -> (строка)
Имя правила для переопределения.
Примечание
Обратите внимание на проверку имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (структура)
Действие переопределения, которое следует использовать вместо настроенного действия правила в группе правил.
Block -> (структура)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (структура)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (целое число)
Код состояния HTTP, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (строка)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии по умолчанию веб-ACL настройке BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (список)
Заголовки HTTP, которые необходимо использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков запрещено.
Информацию об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Allow -> (структура)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Информацию об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Count -> (структура)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Информацию об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Captcha -> (структура)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Информацию об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Challenge -> (структура)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Информацию об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
LabelMatchStatement -> (структура)
Оператор правила для сопоставления с метками, которые были добавлены в веб-запрос правилами, которые уже выполнялись в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью квалифицированную имя метки, которая была добавлена в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс определяет группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не укажете полное имя в своей строке сопоставления меток, WAF выполняет поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления меток.
Scope -> (строка)
Key -> (строка)
Строка для сопоставления. Параметр, который вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это определение должно включать имя и может включать любое количество предыдущих определений пространства имен и префикс до предоставления полного квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то это определение может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (структура)
Инструкция по правилу, используемая для поиска соответствия компонентов веб-запроса с помощью одного регулярного выражения.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как несоответствующий инструкции правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON, соответствующие MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует обнаружения соответствия в ключах и обнаружения соответствия в значениях. Требуется соответствие в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно для проверки ключей и другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как несоответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе body JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как несоответствующий инструкции правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого негабаритного содержимого заголовка в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого негабаритного содержимого cookie в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с использованием критериев проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого негабаритного содержимого фрагмента URI в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide.TextTransformations -> (list)
Преобразования текста удаляют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе частоты, для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста удаляют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой OR. Вы предоставляете более одного оператора Statement в пределах OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
(structure)
Руководство по обработке для Rule, используемое WAF для определения соответствия веб-запроса правилу.
Примеры спецификаций см. в разделе примеров CreateWebACL .
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строки для WAF, который будет применяться к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, расположение в запросах, в котором вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и руководстве разработчика это называется оператором соответствия строки.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: HTTP-метод, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкиByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Для получения информации о полях журналов см. Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет эту строку.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в base64. Максимальная длина значения до кодирования base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent по значению BadBot , вы кодируете BadBot в base64, используя кодирование MIME base64, и включаете полученное значение, QmFkQm90 , в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки превышения размера:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недопустимого JSON. Когда анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Body JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки превышения размера:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется нахождение совпадения в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого cookie-файла, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется нахождение совпадения в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie в запросе больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, содержащего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, содержащего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью разобрать тело JSON. Доступные варианты:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область внутри части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString. Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих утверждения верны:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы выполнять такие действия, как изменение базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для определения подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для определения подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагментов URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если этот параметр не указан, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
The sensitivity that you want WAF to use to inspect for SQL injection attacks.
HIGH detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see Testing and tuning in the WAF Developer Guide .
LOW is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак межсайтового скриптинга (XSS). В атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (список)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF будет анализировать и оценивать контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры соответствия шаблонам к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих случаях. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie большого размера в объекте Cookies. WAF применяет фильтры соответствия шаблонам к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих случаях. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для соответствия при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным параметром PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным параметром PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблонам к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(structure) —> (структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет —> (integer)
Тип —> (string)
SizeConstraintStatement -> (structure) —> (структура)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, вы можете использовать оператор ограничения размера для поиска строк запросов, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверит только количество байтов в теле до предела для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (список)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Рабочей группы разработки Internet (IETF) JavaScript Object Notation (JSON) Pointer (JSON).
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(строка)
MatchScope -> (строка)
Части JSON, которые нужно сопоставить с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется найти совпадение в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка сверх размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файлов cookie сверх размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI сверх размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет веб-запросы на основе кода страны. Правило географического соответствия помечает каждый запрос, который он проверяет, независимо от того, находит ли он совпадение.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило географического соответствия с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы они выполнялись после правила географического соответствия, и настройте их на соответствие географическим меткам и обработку запросов по мере необходимости.
WAF помечает запросы, используя коды страны и региона альфа-2 из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в географическом соответствии ForwardedIPConfig .
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Для получения дополнительной информации см. оператор правила географического соответствия в руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухсимвольных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из кодов ISO альфа-2 стран международного стандарта ISO 3166.
Когда вы используете оператор географического соответствия только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило для подсчета только совпадающих запросов, но оно по-прежнему будет генерировать ведение журнала и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журнала и метрики, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия для присвоения веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Инструкция по правилу, используемая для запуска правил, которые определены в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем укажите ARN группы правил в этой инструкции.
Нельзя вкладывать RuleGroupReferenceStatement , например для использования внутри NotStatement или OrStatement . Нельзя использовать инструкцию ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как инструкцию верхнего уровня в правиле, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, для которых действия установлены в Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любые допустимые настройки действий, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любые допустимые настройки действий, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Параметры действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Информирует WAF о блокировке веб-запроса.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в настройке действия правила или действия web ACL по умолчанию BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Информирует WAF о разрешении веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Информирует WAF о подсчете веб-запроса, а затем продолжении оценки запроса с использованием оставшихся правил в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Информирует WAF о запуске проверки CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Информирует WAF о запуске проверки Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который определяет адреса, которые вы хотите обнаружить, а затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правила IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в HTTP-заголовке, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные — прокси-серверы, через которые прошел запрос.
Варианты этой настройки следующие:
- FIRST — Проверьте первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST — Проверьте последний IP-адрес в списке IP-адресов в заголовке.
- ANY — Проверьте все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверит последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий регулярным выражениям в компонентах веб-запроса. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковая имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка нестандартного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или в обоих случаях. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое AND выражение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie нестандартного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или в обоих случаях. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое AND выражение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI нестандартного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует содержимое преобразованных компонентов.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегации, собирает их в экземпляры агрегации, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегации, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегации, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегации представляет собой отдельный экземпляр агрегации, при этом значение каждого ключа способствует определению экземпляра агрегации.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило будет создавать разные экземпляры агрегации в соответствии с вашими критериями агрегации, например:
- Если критерием агрегации является только IP-адрес, то каждый отдельный адрес является экземпляром агрегации, и WAF подсчитывает запросы отдельно для каждого из них. Экземплярами агрегации и количеством запросов для нашего примера будут следующие:
- IP-адрес 10.1.1.1: счетчик 3
- IP-адрес 127.0.0.0: счетчик 1
- Если критерием агрегации является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегации. Экземплярами агрегации и количеством запросов для нашего примера будут следующие:
- Метод HTTP POST: счетчик 2
- Метод HTTP GET: счетчик 2
- Если критерием агрегации является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут способствовать объединенному экземпляру агрегации. Экземплярами агрегации и количеством запросов для нашего примера будут следующие:
- IP-адрес 10.1.1.1, метод HTTP POST: счетчик 1
- IP-адрес 10.1.1.1, метод HTTP GET: счетчик 2
- IP-адрес 127.0.0.0, метод HTTP POST: счетчик 1
Для любого n-кортежа ключей агрегации каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегации, который WAF подсчитывает и ограничивает по скорости индивидуально.
При желании можно вложить другой оператор в оператор на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному оператору. Этот вложенный оператор сужения области можно использовать в сочетании со спецификациями ключей агрегации или просто подсчитывать и ограничивать скорость всех запросов, которые соответствуют оператору сужения области, без дополнительной агрегации. Когда вы решите просто управлять всеми запросами, которые соответствуют оператору сужения области, экземпляр агрегации будет единственным для правила.
Нельзя вложить RateBasedStatement внутрь другого оператора, например, внутрь NotStatement или OrStatement . Можно определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Дополнительные сведения об опциях см. в разделе Rate limiting web requests using rate-based rules в WAF Developer Guide .
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, скорость которых в данный момент ограничивает WAF для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегации.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждый из двух операторов правил представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Лимит на запросы в течение указанного окна оценки для одного экземпляра агрегации для правила на основе скорости. Если оператор на основе скорости включает в себя ScopeDownStatement, этот лимит применяется только к запросам, которые соответствуют оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это лимит на запросы для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включить в свои подсчеты запросов, заглядывая назад с текущего времени. Например, для настройки 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые настройки: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз при проверке. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правил на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте запросы, которые соответствуют оператору сужения области действия правила на основе скорости. С помощью этой опции подсчитанные запросы не подвергаются дальнейшей агрегации. Оператор сужения области является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих оператору сужения области, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим оператору сужения области. С помощью этой опции необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегации. С помощью этой опции необходимо указать ключи агрегации в свойствеCustomKeys. Чтобы выполнить агрегацию только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегации вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы выполнить агрегацию по комбинации перенаправленного IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы выполнить агрегацию по комбинации IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы укажете перенаправленный IP-адрес в настройках ключа агрегации правила.
HeaderName -> (string)
Имя заголовка HTTP, который необходимо использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Указывает агрегированные ключи, используемые в правиле с ограничением скорости.
(структура)
Указывает один настраиваемый агрегированный ключ для правила с ограничением скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила с ограничением скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегации. Если вы используете один заголовок в качестве настраиваемого ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил с ограничением скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегации. Если вы используете один cookie в качестве настраиваемого ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил с ограничением скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегации. Если вы используете один аргумент запроса в качестве настраиваемого ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил с ограничением скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегации. Если вы используете только строку запроса в качестве настраиваемого ключа, каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил с ограничением скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегации.
При указании IP-адреса или перенаправленного IP-адреса в настройках настраиваемого ключа необходимо также указать как минимум один другой ключ для использования. Вы можете агрегировать только по перенаправленному IP-адресу, указав FORWARDED_IP в операторе ограничения скорости AggregateKeyType .
С этим параметром необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила с ограничением скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегации.
При указании IP-адреса или перенаправленного IP-адреса в настройках настраиваемого ключа необходимо также указать как минимум один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в операторе ограничения скорости AggregateKeyType .
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегации. Если вы используете только одно пространство имен метки в качестве настраиваемого ключа, каждое имя метки полностью определяет экземпляр агрегации.
Здесь используются только метки, добавленные в запрос правилами, которые оцениваются перед этим правилом с ограничением скорости в веб-ACL.
Сведения о пространствах имен и именах меток см. в разделе Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегации. Если вы используете только путь URI в качестве настраиваемого ключа, каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил с ограничением скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве настраиваемого ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного Statement в пределах AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой OR. Вы предоставляете более одного Statement в пределах OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в пределах NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вкладывать ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control account takeover prevention (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control account creation fraud prevention (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группам правил, используемым для смягчения интеллектуальных угроз, требуется дополнительная настройка:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезных данных запроса на создание учетной записи, например, поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезных данных запроса на вход, например, имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группам правил, используемым для смягчения интеллектуальных угроз, требуется дополнительная настройка:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезных данных запроса на создание учетной записи, например, поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезных данных запроса на вход, например, имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, см. раздел примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезных данных, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезных данных, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. WAF Bot Control rule group и WAF Bot Control в WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Список правил Bot Control в WAF Developer Guide .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для списков управления доступом к веб-ресурсам, защищающих дистрибутивы CloudFront, используйте это также для предоставления информации о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе Группа правил предотвращения захвата учетной записи (ATP) WAF Fraud Control и Предотвращение захвата учетной записи (ATP) WAF Fraud Control в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадающими. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя выглядит какusername1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках управления доступом к веб-ресурсам, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиентов, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница вашего веб-сайта, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount, вы предоставите путь /web/newaccount. Пути страниц создания учетной записи, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница вашего веб-сайта, которая представляет форму регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration, вы предоставите путь /web/registration. Пути страниц регистрации, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего электронную почту вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Название поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочивайте поля номера телефона в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Как вы указываете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля номера телефона.
Как вы указываете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочивайте поля адреса в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Как вы указываете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля адреса.
Как вы указываете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. См. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer для получения информации о синтаксисе указателя JSON. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют в ответ на попытки создания учетной записи клиентами, подсчитывая успешные и неудачные попытки с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешной, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Имя заголовка, с которым нужно сопоставить. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON-ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) JSON-ответа.
Identifier -> (string)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string) - Имя
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure) - ActionToUse
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure) - Блок
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (structure) - CustomResponse
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer) - ResponseCode
Код состояния HTTP, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string) - CustomResponseBodyKey
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list) - ResponseHeaders
Заголовки HTTP, которые следует использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string) - Значение
Allow -> (structure) - Разрешить
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure) - Пользовательская обработка запросов
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list) - InsertHeaders
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string) - Значение
Count -> (structure) - Подсчет
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure) - Пользовательская обработка запросов
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list) - InsertHeaders
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string) - Значение
Captcha -> (structure) - Captcha
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure) - Пользовательская обработка запросов
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list) - InsertHeaders
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string) - Значение
Challenge -> (structure) - Challenge
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure) - Пользовательская обработка запросов
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list) - InsertHeaders
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string) - Значение
LabelMatchStatement -> (structure) - LabelMatchStatement
Инструкция правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Инструкция соответствия метки предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или все полное имя метки, которое было добавлено к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное имя в строке соответствия метки, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и инструкция соответствия метки.
Scope -> (string) - Область
Key -> (string) - Ключ
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то эта спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс до предоставления полного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где метка возникла.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure) - RegexMatchStatement
Оператор правила, используемый для поиска соответствия компонентов веб-запроса одному регулярному выражению.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабарита следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки негабарита с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны, которые нужно искать в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Это требует, чтобы совпадение было найдено в ключах или в значениях, или в обоих случаях. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда разбор завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабарита следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки негабарита с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с помощью критериев проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкеByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора соответствия строке, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкеByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора соответствия строке, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
NotStatement -> (structure)
Логическое выражение правила, используемое для отрицания результатов другого выражения правила. Вы предоставляете одно Statement в пределах NotStatement .
Statement -> (structure)
Выражение для отрицания. Можно использовать любое выражение, которое может быть вложено.
ByteMatchStatement -> (structure)
Выражение правила, которое определяет поиск соответствия строк для WAF, применяемый к веб-запросам. Выражение соответствия байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, которая соответствует символам ASCII. В консоли WAF и руководстве разработчика это называется выражением соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает на тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. Эту опцию можно использовать только с совпадением строкиByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Отпечаток пальца JA3 для клиентских запросов можно получить из журналов ACL веб-приложения. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журнала см. Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем выполняет сопоставление с этой строкой.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения, закодированную в base64. Максимальная длина значения до кодирования в base64 — 200 байт.
Например, предположим, что значение Type — HEADER , а значение Data — User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent для значения BadBot , вы кодируете BadBot в base64, используя кодирование MIME base64, и включаете результирующее значение, QmFkQm90 , в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может состоять из 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу после заголовков запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает размер, который WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерного размера с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Рабочей группы Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется, чтобы соответствие было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Если вы не укажете этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому parsing может завершиться успешно даже для недопустимого JSON. Когда parsing завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide.OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает размер, который WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерного размера с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с помощью критериев проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при возврате:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при возврате:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет поведение при возврате. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область внутри части веб-запроса, в которой вы хотите, чтобы WAF выполнял поиск SearchString . Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должен содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что верны оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно в точности соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы делать такие вещи, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и чтобы соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только те заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только те заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie превышающего размер в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (list)
Проверять только те файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только те файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с использованием критериев проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора соответствия строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора соответствия строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверка фрагментов URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI превышающего размер в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Преобразования текста - удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на атаки путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об идентификации и смягчении ложных срабатываний см. в разделе Testing and tuning в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак путем внедрения SQL-кода или которые имеют низкую толерантность к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Инструкция по проверке на атаки типа межсайтового скриптинга (XSS). В атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте, чтобы внедрить вредоносные клиентские сценарии в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов сверхразмерных запросов, см. в конфигурации объекта Body.
OversizeHandling -> (строка)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и web ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов сверхразмерных запросов, см. в конфигурации объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (список)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(строка)
MatchScope -> (строка)
Части JSON, с которыми нужно сопоставить, используя MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (строка)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда анализ проходит успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение зафиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и web ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запросов. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется найти совпадение в ключах, значениях или обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с помощью критериев проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Требуется найти совпадение в ключах, значениях или обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая хост-служба пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, содержащего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, содержащего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверка фрагментов URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку содержимого фрагментов URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Инструкция по правилу, которая сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать инструкцию ограничения размера для поиска строк запросов, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до лимита для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать инструкцию ограничения размера для блокировки запросов, у которых размер тела запроса больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения параметра Часть запроса для фильтрации, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg имеет длину в девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр нечувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может быть длиной до 30 символов и нечувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверьте тело запроса как простой текст. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверять доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих соответствий шаблонам в соответствии с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (список)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и чтобы соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недействительного JSON. Когда разбор успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверять доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND , чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND , чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недействительного JSON. Когда анализ прошел успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой приоритетности, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правил, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило географического соответствия помечает каждый проверяемый им запрос, независимо от того, находит ли оно соответствие.
- Чтобы управлять запросами только по стране, можно использовать этот оператор отдельно и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило географического соответствия с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам для запуска после правила географического соответствия и настройте их для соответствия географическим меткам и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в географическом соответствии ForwardedIPConfig .
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Geographic match rule statement в WAF Developer Guide .
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
При использовании оператора географического соответствия только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило для подсчета только соответствующих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых соответствий. Вы можете уменьшить количество журналов и метрик, создаваемых правилом, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, которое следует использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты резервного поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правил.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, которое настроено внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, а затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правила набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, который сообщается исходником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, которое нужно использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Варианты этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Инструкция правила, используемая для поиска соответствий в компонентах веб-запроса с помощью регулярных выражений. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этой инструкции. Веб-запрос соответствует инструкции правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждая инструкция правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую WAF должен проверить.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете отфильтровать и проверить все заголовки с помощью Headers FieldToMatch setting.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать большие тела запросов, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий инструкции правила.
Вы можете объединить MATCH или NO_MATCH параметры для обработки больших размеров с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать большие тела запросов, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Совпадение со всеми элементами. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Совпадать только с указанными путями включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Body JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий инструкции правила.
Вы можете объединить MATCH или NO_MATCH параметры для обработки больших размеров с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или и том и другом. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или и том и другом. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie всего. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора соответствия строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора соответствия строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе частоты подсчитывает входящие запросы и ограничивает их частоту, когда они поступают со слишком высокой скоростью. Правило классифицирует запросы в соответствии с вашими критериями агрегации, собирает их в экземпляры агрегации, а также подсчитывает и ограничивает частоту запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения частоты правила. Это может приостановить действия правила по ограничению частоты на срок до одной минуты.Вы можете указать отдельные ключи агрегации, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегации, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегации является отдельным экземпляром агрегации, при этом значение каждого ключа способствует определению экземпляра агрегации.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
- IP-адрес 127.0.0.0, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
Правило создаст разные экземпляры агрегации в соответствии с вашими критериями агрегации, например:
- Если критерием агрегации является только IP-адрес, то каждый отдельный адрес является экземпляром агрегации, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегации является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- HTTP-метод POST: количество 2
- HTTP-метод GET: количество 2
- Если критерием агрегации являются IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут способствовать комбинированному экземпляру агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, HTTP-метод POST: количество 1
- IP-адрес 10.1.1.1, HTTP-метод GET: количество 2
- IP-адрес 127.0.0.0, HTTP-метод POST: количество 1
Для любой n-кортежи ключей агрегации каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегации, который WAF подсчитывает и ограничивает по частоте отдельно.
При желании вы можете вложить другое выражение внутри выражения на основе частоты, чтобы сузить область действия правила, чтобы оно только подсчитывало и ограничивало частоту запросов, соответствующих вложенному выражению. Вы можете использовать это вложенное выражение сужения области действия в сочетании со спецификациями ключа агрегации или просто подсчитывать и ограничивать частоту всех запросов, соответствующих выражению сужения области действия, без дополнительной агрегации. Когда вы решите просто управлять всеми запросами, соответствующими выражению сужения области действия, экземпляр агрегации является единственным для правила.
Вы не можете вкладывать RateBasedStatement внутри другого выражения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
For additional information about the options, see Rate limiting web requests using rate-based rules in the WAF Developer Guide .
If you only aggregate on the individual IP address or forwarded IP address, you can retrieve the list of IP addresses that WAF is currently rate limiting for a rule through the API call GetRateBasedStatementManagedKeys . This option is not available for other aggregation configurations.
WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.
Limit -> (long)
Предел запросов во время указанного окна оценки для отдельного экземпляра агрегации для правила на основе частоты. Если выражение на основе частоты включает в себя ScopeDownStatement , этот предел применяется только к запросам, которые соответствуют выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это предел запросов с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это предел запросов для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF следует включить в свои подсчеты запросов, оглядываясь назад с текущего момента времени. Например, для настройки 120, когда WAF проверяет частоту, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет частоту, а определяет, как далеко он оглядывается назад каждый раз, когда проверяет. WAF проверяет частоту примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила на основе частоты.-
CONSTANT- Подсчитывать и ограничивать запросы, соответствующие выражению сужения области действия правила на основе частоты. При использовании этого параметра подсчитанные запросы не подвергаются дальнейшей агрегации. Выражение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С этим параметром необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегации. С этим параметром необходимо указать ключи агрегации в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегации наIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегировать количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок, который будет использоваться, в свойствеForwardedIPConfig. Чтобы агрегировать комбинацию перенаправленного IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS. -
IP- Агрегировать количество запросов по IP-адресу от источника веб-запроса. Чтобы агрегировать комбинацию IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете перенаправленный IP-адрес в настройках ключа агрегации правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если в запросе нет допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий выражению правила.
CustomKeys -> (list)
Указывает совокупные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский совокупный ключ для правила на основе скорости.
Примечание
Web-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.Заголовок -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке способствует экземпляру агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie способствует экземпляру агрегирования. Если вы используете одно cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
QueryArgument -> (структура)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение именованного аргумента запроса способствует экземпляру агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
TextTransformations -> (список)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
QueryString -> (структура)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка способствует экземпляру агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (список)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
HTTPMethod -> (структура)
ForwardedIP -> (структура)
Используйте первый IP-адрес в заголовке HTTP в качестве совокупного ключа. Каждый отдельный переадресованный IP-адрес способствует экземпляру агрегирования.
Когда вы указываете IP или переадресованный IP-адрес в параметрах пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по переадресованному IP-адресу, указав FORWARDED_IP в операторе на основе скорости AggregateKeyType .
С помощью этой опции необходимо указать заголовок, который будет использоваться в правиле на основе скорости ForwardedIPConfig свойство.
IP -> (структура)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес способствует экземпляру агрегирования.
Когда вы указываете IP или переадресованный IP-адрес в параметрах пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в операторе на основе скорости AggregateKeyType .
LabelNamespace -> (структура)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полностью квалифицированное имя метки, имеющее указанное пространство имен метки, способствует экземпляру агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом на основе скорости в веб-ACL.
Информацию о пространствах имен и именах меток см. в разделе Синтаксис меток и требования к именованию в Руководстве разработчика WAF .
Пространство имен -> (строка)
UriPath -> (структура)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI способствует экземпляру агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (список)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
JA3Fingerprint -> (структура)
Используйте отпечаток JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (строка)
Статус соответствия, присваиваемый веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие резервные варианты:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Use the request’s JA4 fingerprint as an aggregate key. If you use a single JA4 fingerprint as your custom key, then each value fully defines an aggregation instance.
FallbackBehavior -> (string)
The match status to assign to the web request if there is insufficient TSL Client Hello information to compute the JA4 fingerprint.
You can specify the following fallback behaviors:
-
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
AndStatement -> (structure)
A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement .
Statements -> (list)
The statements to combine with AND logic. You can use any statements that can be nested.
( … recursive … )
OrStatement -> (structure)
A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement .
Statements -> (list)
The statements to combine with OR logic. You can use any statements that can be nested.
( … recursive … )
NotStatement -> (structure)
A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups .
You cannot nest a ManagedRuleGroupStatement , for example for use inside a NotStatement or OrStatement . You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.
Note
You are charged additional fees when you use the WAF Bot Control managed rule groupAWSManagedRulesBotControlRuleSet , the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet , or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet . For more information, see WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Rules in the referenced rule group whose actions are set to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .(structure)
Specifies a single rule in a rule group whose action you want to override to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Additional information that’s used by a managed rule group. Many managed rule groups don’t require this.
The rule groups used for intelligent threat mitigation require additional configuration:
- Use the
AWSManagedRulesACFPRuleSetconfiguration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the
AWSManagedRulesATPRuleSetconfiguration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the
AWSManagedRulesBotControlRuleSetconfiguration object to configure the protection level that you want the Bot Control rule group to use.
(structure)
Additional information that’s used by a managed rule group. Many managed rule groups don’t require this.
The rule groups used for intelligent threat mitigation require additional configuration:
- Use the
AWSManagedRulesACFPRuleSetconfiguration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the
AWSManagedRulesATPRuleSetconfiguration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the
AWSManagedRulesBotControlRuleSetconfiguration object to configure the protection level that you want the Bot Control rule group to use.
For example specifications, see the examples section of CreateWebACL .
LoginPath -> (string)
Note
Instead of this setting, provide your configuration underAWSManagedRulesATPRuleSet .PayloadType -> (string)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .Identifier -> (string)
The name of the username field.
How you specify this depends on the request inspection payload type.
- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . For example, for the JSON payload
{ "form": { "username": "THE_USERNAME" } }, the username field specification is/form/username. - For form encoded payload types, use the HTML form names. For example, for an HTML form with the input element named
username1, the username field specification isusername1
PasswordField -> (structure)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .Identifier -> (string)
The name of the password field.
How you specify this depends on the request inspection payload type.
- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . For example, for the JSON payload
{ "form": { "password": "THE_PASSWORD" } }, the password field specification is/form/password. - For form encoded payload types, use the HTML form names. For example, for an HTML form with the input element named
password1, the password field specification ispassword1.
AWSManagedRulesBotControlRuleSet -> (structure)
Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see WAF Bot Control rule group and WAF Bot Control in the WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Applies only to the targeted inspection level.
Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules TGT_ML_CoordinatedActivityLow and TGT_ML_CoordinatedActivityMedium , which inspect for anomalous behavior that might indicate distributed, coordinated bot activity.
For more information about this choice, see the listing for these rules in the table at Bot Control rules listing in the WAF Developer Guide .
Default: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это для предоставления информации о запросе на вход в группу правил. Для web ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе Предотвращение захвата учетной записи (ATP) группы правил управления мошенничеством WAF и Предотвращение захвата учетной записи (ATP) управления мошенничеством WAF в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL https://example.com/web/login необходимо указать путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются соответствующими. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только запросы HTTP POST к указанной конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя имеет вид/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя имеет видusername1
Identifier -> (string)
Название поля имени пользователя.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя имеет вид/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя имеет видusername1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля имеет видpassword1.
Identifier -> (string)
Название поля пароля.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля имеет видpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в web ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа в систему клиентом, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешной, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачной, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Название заголовка, с которым необходимо сопоставить. Название должно точно совпадать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) ответа JSON.
Identifier -> (string)
Идентификатор значения, с которым необходимо сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в ответе JSON, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в ответе JSON, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил по предотвращению мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet. Используйте это, чтобы предоставить информацию о запросе на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы создания учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. группу правил по предотвращению мошенничества при создании учетной записи WAF Fraud Control (ACFP) и предотвращение мошенничества при создании учетной записи WAF Fraud Control (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь конечной точки создания учетной записи для вашего приложения. Это страница вашего веб-сайта, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount вы предоставите путь /web/newaccount. Пути страниц создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь конечной точки регистрации учетной записи для вашего приложения. Это страница вашего веб-сайта, на которой отображается форма регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration вы предоставите путь /web/registration. Пути страниц регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
Identifier -> (string)
Имя поля имени пользователя.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Имя поля в полезных данных запроса, содержащего пароль вашего клиента.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
Identifier -> (string)
Имя поля пароля.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
EmailField -> (structure)
Имя поля в полезных данных запроса, содержащего адрес электронной почты вашего клиента.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты выглядит как/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
email1спецификация поля электронной почты выглядит какemail1.
Identifier -> (string)
Имя поля электронной почты.
Способ его указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты выглядит как/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом ввода с именем
email1спецификация поля электронной почты выглядит какemail1.
PhoneNumberFields -> (list)
Имена полей в полезных данных запроса, содержащих основной номер телефона вашего клиента.
Укажите поля номера телефона в массиве именно в том порядке, в котором они указаны в полезных данных запроса.
Способ указания полей номера телефона зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона выглядят как/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона выглядят какprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезных данных запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного поля основного номера телефона.
Способ указания полей номера телефона зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона выглядят как/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона выглядят какprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезных данных запроса, содержащих основной физический адрес вашего клиента.
Укажите поля адреса в массиве именно в том порядке, в котором они указаны в полезных данных запроса.
Способ указания полей адреса зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса выглядят как/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса выглядят какprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезных данных запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного поля основного адреса.
Способ указания полей адреса зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса выглядят как/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса выглядят какprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, подсчитывая количество успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сеансов клиентов и IP-адресов, которые совершили слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байтов (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байтов (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правил, настроенных внутри группы правил. Необходимо указать одну переоценку для каждого правила, действие которого требуется изменить.
Примечание
Внимательно проверяйте имена правил в ваших переоценках. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правила в Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ, которым группа правил управляет вашим веб-трафиком.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Необходимо указать одну переоценку для каждого правила, действие которого требуется изменить.
Примечание
Внимательно проверяйте имена правил в ваших переоценках. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правила в Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ, которым группа правил управляет вашим веб-трафиком.
Name -> (string) - Имя
Имя правила для переопределения.
Примечание
Внимательно проверяйте имена правил в ваших переоценках. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переоценки.ActionToUse -> (structure) - Действие для использования
Действие переоценки для использования вместо настроенного действия правила в группе правил.
Block -> (structure) - Блок
Инструктирует WAF блокировать веб-запрос.
CustomResponse -> (structure) - Пользовательский ответ
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer) - Код ответа
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string) - Ключ тела пользовательского ответа
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке действия по умолчанию веб-ACL BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list) - Заголовки ответа
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string) - Значение
Allow -> (structure) - Разрешить
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure) - Пользовательская обработка запроса
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list) - Вставить заголовки
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string) - Значение
Count -> (structure) - Подсчитать
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса с использованием оставшихся правил в веб-ACL.
CustomRequestHandling -> (structure) - Пользовательская обработка запроса
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list) - Вставить заголовки
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string) - Значение
Captcha -> (structure) - Капча
Инструктирует WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure) - Пользовательская обработка запроса
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list) - Вставить заголовки
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string) - Значение
Challenge -> (structure) - Вызов
Инструктирует WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure) - Пользовательская обработка запроса
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list) - Вставить заголовки
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string) - Имя
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string) - Значение
LabelMatchStatement -> (structure) - Оператор соответствия метке
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор соответствия меткам предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю строку полностью определенного имени метки, которая была добавлена к веб-запросу. Полностью определенные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное имя в строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор соответствия метке.
Scope -> (string) - Область
Key -> (string) - Ключ
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикса, вплоть до предоставления полностью определенного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где метка берет начало.
Метки чувствительны к регистру, и компоненты метки должны разделяться двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure) - Оператор соответствия регулярному выражению
Оператор правила, используемый для поиска соответствия компонентам веб-запроса с помощью одного регулярного выражения.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса в виде обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если указать ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия ключам и значениям, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не укажете этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в WAF Developer Guide .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые нужно сопоставить с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Требуется совпадение либо в ключах, либо в значениях, либо в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое проверяет значения.OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Требуется совпадение либо в ключах, либо в значениях, либо в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое проверяет значения.OversizeHandling -> (string)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкеByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкеByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недействительного JSON. Когда разбор выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupStatement -> (structure)
A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups .
You cannot nest a ManagedRuleGroupStatement , for example for use inside a NotStatement or OrStatement . You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.
Note
You are charged additional fees when you use the WAF Bot Control managed rule groupAWSManagedRulesBotControlRuleSet , the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet , or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet . For more information, see WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Rules in the referenced rule group whose actions are set to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .(structure)
Specifies a single rule in a rule group whose action you want to override to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .Name -> (string)
Count .ScopeDownStatement -> (structure)
An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
ByteMatchStatement -> (structure)
A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.
SearchString -> (blob)
A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch . The maximum length of the value is 200 bytes.
Valid values depend on the component that you specify for inspection in FieldToMatch :
-
Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request. -
UriPath: The value that you want WAF to search for in the URI path, for example,/images/daily-ad.jpg. -
JA3Fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request’s JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client’s TLS configuration. You can use this choice only with a string matchByteMatchStatementwith thePositionalConstraintset toEXACTLY. You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide . -
HeaderOrder: The list of header names to match for. WAF creates a string that contains the ordered list of header names, from the headers in the web request, and then matches against that string.
If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes.
For example, suppose the value of Type is HEADER and the value of Data is User-Agent . If you want to search the User-Agent header for the value BadBot , you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90 , in the value of SearchString .
The value that you want WAF to search for. The SDK automatically base64 encodes the value.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Альтернативно, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки oversize следующие:
-
CONTINUE- Проверять доступное содержимое тела обычно, в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки oversize с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой столкнется.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет поведение отката. Для получения дополнительной информации см. body JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки oversize следующие:
-
CONTINUE- Проверять доступное содержимое тела обычно, в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки oversize с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie в запросе больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например, host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные действия:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные действия:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide.TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил, для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в той части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих условия верны:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или ему следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно в точности соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы, например, изменять вашу базу данных или извлекать данные из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр нечувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает в WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает в WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки oversize следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки oversize с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает в WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON, с которыми нужно сопоставить с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Для этого требуется совпадение в ключах, или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает в WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки oversize следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки oversize с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадение в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie, которые необходимо проверить с помощью критериев проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадение в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE— Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверка фрагментов URI запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING— Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
The sensitivity that you want WAF to use to inspect for SQL injection attacks.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию о выявлении и смягчении ложных срабатываний см. в разделе Testing and tuning в WAF Developer Guide .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак путем внедрения SQL-кода или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который выполняет проверку на атаки межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости на безопасном веб-сайте как средство для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется совпадение в ключах, или в значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie в запросе больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления для присвоения веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления для присвоения веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (structure)
Проверка фрагментов URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверка тела как простого текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. раздел Тело JSON в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правил, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например больше чем (>) или меньше чем (<). Например, можно использовать оператор ограничения размера для поиска строк запросов, длина которых превышает 100 байт.
Если настроить WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможные варианты:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Примечание
WAF-синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ проходит успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. Log fields в WAF Developer Guide .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. Log fields в WAF Developer Guide .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH— Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. JSON body в WAF Developer Guide .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (структура)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет веб-запросы по коду страны. Правило соответствия геолокации помечает каждый запрос, который оно проверяет, независимо от того, находит ли оно совпадение.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор отдельно и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило соответствия геолокации с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам для запуска после правила соответствия геолокации и настройте их для соответствия географическим меткам и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды страны и региона из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в ForwardedIPConfig соответствия геолокации.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Оператор правила соответствия географическому положению в Руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухсимвольных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
Когда вы используете оператор соответствия геолокации только для меток региона и страны, которые он добавляет к запросам, вам все равно нужно предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журнала и метрики, которые создает правило, указав страну, которая вряд ли станет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (структура)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, который сообщается источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, назначаемый веб-запросу, если запрос не содержит действительного IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement, например, для использования внутри NotStatement или OrStatement. Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любые допустимые настройки действия, включая Count.(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любые допустимые настройки действия, включая Count.Name -> (string)
Count.RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(structure)
Настройка действия для использования вместо действия правила, которое настроено внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет настраиваемый ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в настраиваемых ответах, см. в разделе Поддерживаемые коды состояния для настраиваемого ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке по умолчанию веб-ACL BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Информацию об ограничениях по количеству и размеру для настраиваемых настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Информацию об ограничениях по количеству и размеру для настраиваемых настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Информацию об ограничениях по количеству и размеру для настраиваемых настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Информацию об ограничениях по количеству и размеру для настраиваемых настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Информацию об ограничениях по количеству и размеру для настраиваемых настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Настраиваемый заголовок для настраиваемой обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя настраиваемого заголовка.
Для вставки настраиваемого заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция по правилу, используемая для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, а затем используйте ARN этого набора в этой инструкции. Чтобы создать набор IP, см. CreateIPSet.
Каждая инструкция правила IPset ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Position -> (string)
Положение в заголовке, в котором следует искать IP-адрес. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные - прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правил, используемый для поиска в компонентах веб-запроса соответствий регулярным выражениям. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правил набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов регулярных выражений, см. CreateRegexPatternSet.
Каждый оператор правил набора шаблонов регулярных выражений ссылается на набор шаблонов регулярных выражений. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить в WAF.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может иметь длину до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте ограничение CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте ограничение CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте ограничение CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте ограничение CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует нахождения соответствия в ключах и в значениях. Требуется найти соответствие в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с помощью критериев проверки правила. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует нахождения соответствия в ключах и в значениях. Требуется найти соответствие в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает их скорость, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или HTTP-метод. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и HTTP-метод, или HTTP-метод, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и HTTP-метода:
- IP-адрес 10.1.1.1, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
- IP-адрес 127.0.0.0, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: счет 3
- IP-адрес 127.0.0.0: счет 1
- Если критерием агрегирования является HTTP-метод, то каждый отдельный HTTP-метод является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- HTTP-метод POST: счет 2
- HTTP-метод GET: счет 2
- Если критерием агрегирования является IP-адрес и HTTP-метод, то каждый IP-адрес и каждый HTTP-метод будут способствовать комбинированному экземпляру агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, HTTP-метод POST: счет 1
- IP-адрес 10.1.1.1, HTTP-метод GET: счет 2
- IP-адрес 127.0.0.0, HTTP-метод POST: счет 1
Для любой n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости индивидуально.
При желании вы можете вложить другой оператор в оператор на основе скорости, чтобы сузить область действия правила, чтобы оно только подсчитывало и ограничивало скорость запросов, соответствующих вложенному оператору. Вы можете использовать этот вложенный оператор сужения области действия вместе со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, соответствующих оператору сужения области действия, без дополнительного агрегирования. Когда вы решите просто управлять всеми запросами, которые соответствуют оператору сужения области действия, экземпляр агрегирования является сингулярным для правила.
Вы не можете вложить RateBasedStatement внутри другого оператора, например, внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Дополнительную информацию об опциях см. в разделе Rate limiting web requests using rate-based rules в WAF Developer Guide .
Если вы агрегируете только по отдельному IP-адресу или переадресованному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Этот параметр недоступен для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждый из двух операторов правил представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Ограничение на запросы в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если оператор на основе скорости включает ScopeDownStatement , это ограничение применяется только к запросам, которые соответствуют оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по HTTP-методу и имени аргумента запроса «city», то это ограничение на запросы для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включить в свои подсчеты запросов, оглядываясь назад от текущего времени. Например, для настройки 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые настройки: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
Default: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывать и ограничивать скорость запросов, соответствующих оператору сужения области действия правила на основе скорости. С этой опцией подсчитанные запросы больше не агрегируются. Оператор сужения области действия является единственной спецификацией, используемой. Когда количество всех запросов, удовлетворяющих оператору сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим оператору сужения области действия. С этой опцией вы должны настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этой опцией вы должны указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по переадресованному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегировать количество запросов по первому IP-адресу в HTTP-заголовке. С этой опцией вы должны указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации переадресованного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегировать количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете переадресованный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя HTTP-заголовка, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, опускаются из оценки и обработки правила на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке способствует экземпляру агрегации. Если вы используете один заголовок в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(структура)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение cookie способствует экземпляру агрегации. Если вы используете один cookie в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(структура)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса способствует экземпляру агрегации. Если вы используете один аргумент запроса в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(структура)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка способствует экземпляру агрегации. Если вы используете только строку запроса в качестве пользовательского ключа, каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(структура)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный пересланный IP-адрес способствует экземпляру агрегации.
Когда вы указываете IP-адрес или пересланный IP-адрес в настройках пользовательского ключа, вы также должны указать как минимум еще один ключ для использования. Вы можете агрегировать только по пересланному IP-адресу, указав FORWARDED_IP в заявлении вашей ставки AggregateKeyType .
С этим параметром необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес способствует экземпляру агрегации.
Когда вы указываете IP-адрес или пересланный IP-адрес в настройках пользовательского ключа, вы также должны указать как минимум еще один ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в заявлении вашей ставки AggregateKeyType .
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, способствует экземпляру агрегации. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, каждое имя метки полностью определяет экземпляр агрегации.
This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
Для получения информации о пространствах имен и именах меток см. Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI способствует экземпляру агрегации. Если вы используете только путь URI в качестве пользовательского ключа, каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(структура)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации о TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой И. Внутри AndStatement вы предоставляете более одного оператора Statement.
Statements -> (list)
Операторы для объединения с логикой И. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой ИЛИ. Внутри OrStatement вы предоставляете более одного оператора Statement.
Statements -> (list)
Операторы для объединения с логикой ИЛИ. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Внутри NotStatement вы предоставляете один оператор Statement.
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вложить ManagedRuleGroupStatement, например, для использования внутри NotStatement или OrStatement. Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet, управляемой группы правил предотвращения захвата учетной записи (ATP) WAF Fraud Control AWSManagedRulesATPRuleSet или управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP) WAF Fraud Control AWSManagedRulesACFPRuleSet. Для получения дополнительной информации см. WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, действия которых установлены в Count.
Примечание
Вместо этого варианта используйтеRuleActionOverrides. Он принимает любые допустимые настройки действия, включая Count.(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить для Count.
Примечание
Вместо этого варианта используйтеRuleActionOverrides. Он принимает любые допустимые настройки действия, включая Count.Name -> (string)
Count.( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает в себя страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает в себя страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet.PayloadType -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet.UsernameField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet.Identifier -> (string)
Имя поля имени пользователя.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя имеет вид/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя имеет видusername1
PasswordField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet.Identifier -> (string)
Имя поля пароля.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля имеет видpassword1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Сведения об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет действий, связанных с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium, которые проверяют аномальное поведение, которое может указывать на распределенную, скоординированную активность ботов.
Дополнительные сведения об этом выборе см. в списке этих правил в таблице в списке правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это для предоставления информации о запросах на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Для получения информации об использовании управляемой группы правил ATP см. WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL https://example.com/web/login вам нужно предоставить путь /web/login . Пути входа, которые начинаются с указанного вами пути, считаются совпадением. Например /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии для проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезных данных запроса, содержащего пароль вашего клиента.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно в попытки входа клиентов, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен точно совпадать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet. Используйте это, чтобы предоставить информацию о запросах на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) и WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница вашего веб-сайта, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount, вы предоставите путь /web/newaccount. Пути к страницам создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница вашего веб-сайта, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET запросы text/html.Например, для URL https://example.com/web/registration, вы предоставите путь /web/registration. Пути к страницам регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезных данных запроса, содержащего пароль вашего клиента.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезных данных запроса, содержащего электронную почту вашего клиента.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементом input с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезных данных запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так, как они упорядочены в полезных данных запроса.
То, как вы указываете поля номера телефона, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезных данных запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного основного поля номера телефона.
То, как вы указываете поля номера телефона, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезных данных запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так, как они упорядочены в полезных данных запроса.
То, как вы указываете поля адреса, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезных данных запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного основного поля адреса.
То, как вы указываете поля адреса, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для формы HTML с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сеансов клиентов и IP-адресов, которые совершили слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешной, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (строка)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешной, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(строка)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(строка)
BodyContains -> (структура)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешной, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(строка)
FailureStrings -> (список)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(строка)
Json -> (структура)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (строка)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен быть точным совпадением, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешной, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(строка)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(строка)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (список)
Настройки действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, для которого вы хотите изменить действие.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком в группе правил.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, для которого вы хотите изменить действие.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком в группе правил.
Имя -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет настраиваемый ответ для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в настраиваемых ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии по умолчанию веб-ACL настройке BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для настраиваемых параметров запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для настраиваемых параметров запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для настраиваемых параметров запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для настраиваемых параметров запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для настраиваемых параметров запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью квалифицированную имя метки, которая была добавлена к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное имя в строке сопоставления меток, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления меток.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, эта спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс до предоставления полного имени метки. - Если
ScopeуказываетNAMESPACE, эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где берет начало метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентов веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения с использованием синтаксиса JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит контент только до первой ошибки синтаксического анализа, с которой столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого заголовка большого размера в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется совпадение в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого файла cookie большого размера в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется совпадение в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Поля журналов в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Поля журналов в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого фрагмента URI большого размера в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположение данных в полезной нагрузке запроса на создание учетной записи, таких как поля адреса электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать в группе правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположение данных в полезной нагрузке запроса на создание учетной записи, таких как поля адреса электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать в группе правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезных нагрузок с кодировкой форм используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя:username1
PasswordField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезных нагрузок с кодировкой форм используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля:password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе WAF Bot Control rule group и WAF Bot Control в WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, использовать ли машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, координированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Bot Control rules listing в WAF Developer Guide .
Default: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet. Используйте это, чтобы предоставить информацию о запросах на вход в группу правил. Для списков управления доступом в Интернет, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе «Группа правил предотвращения захвата учетной записи (ATP) WAF Fraud Control» и «Предотвращение захвата учетной записи (ATP) WAF Fraud Control» в Руководстве разработчика WAF .
LoginPath -> (string)
Путь конечной точки входа в вашу систему. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login. Пути входа, начинающиеся с указанного вами пути, считаются совпадающими. Например /web/login соответствует путям входа /web/login, /web/login/, /web/loginPage и /web/login/thisPage, но не соответствует пути входа /home/web/login или /website/login.
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ указания этого зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификацией поля имени пользователя являетсяusername1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания этого зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификацией поля имени пользователя являетсяusername1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ указания этого зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификацией поля пароля является/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификацией поля пароля являетсяpassword1.
Identifier -> (string)
Имя поля пароля.
Способ указания этого зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификацией поля пароля является/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификацией поля пароля являетсяpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках управления доступом в Интернет, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы засчитать успех, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы засчитать сбой, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы засчитать успех, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы засчитать сбой, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и сбоя. WAF может проверить первые 65 536 байтов (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы засчитать успех, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы засчитать сбой, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON-ответа на индикаторы успеха и сбоя. WAF может проверить первые 65 536 байтов (64 КБ) JSON-ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы засчитать успех, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы засчитать сбой, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это для предоставления информации о запросе на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) и WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) в Руководстве разработчика WAF .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны указать путь /web/newaccount . Пути страниц создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны указать путь /web/registration . Пути страниц регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
Способ его указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Имя одного поля основного номера телефона.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Имя одного поля основного адреса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы о создании учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в web ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентом, ведя учет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из клиентских сеансов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Параметры действия, которые необходимо использовать вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Имя -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет настраиваемый ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или настройке по умолчанию веб-ACL BlockAction вы ссылаетесь на текст ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер настроек пользовательских запросов и ответов см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер настроек пользовательских запросов и ответов см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер настроек пользовательских запросов и ответов см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA по веб-запросу.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер настроек пользовательских запросов и ответов см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge по веб-запросу.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер настроек пользовательских запросов и ответов см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, добавленными к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или все полное имя метки, добавленной к веб-запросу. Полные метки имеют префикс, необязательные пространства имен и имя метки. Префикс определяет группу правил или контекст веб-ACL правила, добавившего метку. Если вы не предоставите полное имя в строке сопоставления метки, WAF выполняет поиск меток, добавленных в том же контексте, что и оператор сопоставления меток.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора сопоставления:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предшествующих указаний пространства имен и префикс до предоставления полного имени метки. - Если
ScopeуказываетNAMESPACE, то это указание может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где возникла метка.
Метки чувствительны к регистру, и компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия в компонентах веб-запроса с помощью одного регулярного выражения.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда анализ выполняется успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка нестандартного размера в объекте Headers . WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedHeaders , или ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует соответствия ключам и соответствия значениям. Требуется соответствие ключам или значениям, или обоим. Чтобы потребовать соответствия ключам и значениям, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файла cookie нестандартного размера в объекте Cookies . WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedCookies , или ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует соответствия ключам и соответствия значениям. Требуется соответствие ключам или значениям, или обоим. Чтобы потребовать соответствия ключам и значениям, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint значением EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint значением EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI нестандартного размера в объекте UriFragment . WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если он не может полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. раздел JSON-тело в Руководстве разработчика WAF .TextTransformations -> (список)
Преобразования текста удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
Действие -> (структура)
Действие, которое WAF должно предпринять в отношении веб-запроса, когда он соответствует оператору правила. Настройки на уровне веб-ACL могут переопределять настройку действия правила.
Это используется только для правил, операторы которых не ссылаются на группу правил. Операторы правил, которые ссылаются на группу правил, включают RuleGroupReferenceStatement и ManagedRuleGroupStatement .
Необходимо указать либо этот параметр Action, либо параметр OverrideAction правила, но не оба:
- Если оператор правила не ссылается на группу правил, используйте этот параметр действия правила, а не параметр действия переопределения правила.
- Если оператор правила ссылается на группу правил, используйте параметр действия переопределения, а не этот параметр действия.
Блокировать -> (структура)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (структура)
Определяет пользовательский ответ на веб-запрос.
Сведения о настройке веб-запросов и ответов см. в разделе Customizing web requests and responses in WAF в WAF Developer Guide .
ResponseCode -> (целое число)
Код состояния HTTP, который будет возвращен клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Supported status codes for custom response в WAF Developer Guide .
CustomResponseBodyKey -> (строка)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в параметре действия правила или действия по умолчанию веб-ACL BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (список)
Заголовки HTTP, которые следует использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе WAF quotas в WAF Developer Guide .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Имя -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Значение -> (строка)
Разрешить -> (структура)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Customizing web requests and responses в WAF в WAF Developer Guide .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе WAF quotas в WAF Developer Guide .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Имя -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Значение -> (строка)
Подсчет -> (структура)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Customizing web requests and responses в WAF в WAF Developer Guide .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе WAF quotas в WAF Developer Guide .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Имя -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Значение -> (строка)
Captcha -> (структура)
Предписывает WAF запустить проверку CAPTCHA в отношении веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Customizing web requests and responses в WAF в WAF Developer Guide .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе WAF quotas в WAF Developer Guide .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Имя -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Значение -> (строка)
Challenge -> (структура)
Предписывает WAF запустить проверку Challenge в отношении веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Customizing web requests and responses в WAF в WAF Developer Guide .
InsertHeaders -> (список)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе WAF quotas в WAF Developer Guide .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Имя -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Значение -> (строка)
OverrideAction -> (структура)
Действие, которое следует использовать вместо действия, являющегося результатом оценки группы правил. Установите действие переопределения в значение none, чтобы оставить результат группы правил без изменений. Установите его в значение count, чтобы переопределить результат только в значение count.
Вы можете использовать это только для операторов правил, которые ссылаются на группу правил, например RuleGroupReferenceStatement и ManagedRuleGroupStatement .
Примечание
Этот параметр обычно имеет значение none. Он не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это и вместо этого используйте параметр переопределения действия правила с действиемCount в параметрах ссылки на группу правил.Count -> (структура)
Переопределить результат оценки группы правил только в значение count.
Примечание
Этот параметр обычно имеет значение none. Он не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это и вместо этого используйте параметр переопределения действия правила с действиемCount в параметрах ссылки на группу правил.CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Информацию о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Информацию об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
None -> (структура)
RuleLabels -> (список)
Метки для применения к веб-запросам, которые соответствуют оператору соответствия правилу. WAF применяет полностью определенные метки к соответствующим веб-запросам. Полностью определенная метка представляет собой конкатенацию пространства имен метки и метки правила. Группа правил или веб-ACL правила определяет пространство имен метки.
Примечание
Любое правило, которое не является оператором ссылки на группу правил или оператором управляемой группы правил, может добавлять метки к соответствующим веб-запросам.Правила, которые выполняются после этого правила в веб-ACL, могут сопоставляться с этими метками с помощью LabelMatchStatement.
Для каждой метки укажите строку с учетом регистра, содержащую необязательные пространства имен и имя метки, в соответствии со следующими рекомендациями:
- Разделяйте каждый компонент метки двоеточием.
- Каждое пространство имен или имя может содержать до 128 символов.
- Вы можете указать до 5 пространств имен в метке.
- Не используйте следующие зарезервированные слова в спецификации метки:
aws,waf,managed,rulegroup,webacl,regexpatternsetилиipset.
Например, myLabelName или nameSpace1:nameSpace2:myLabelName.
(структура)
Один контейнер меток. Он используется в качестве элемента массива меток в нескольких контекстах, например, в RuleLabels внутри Rule и в Labels внутри SampledHTTPRequest.
Name -> (string)
VisibilityConfig -> (структура)
Определяет и включает метрики Amazon CloudWatch и сбор образцов веб-запросов.
Если вы измените имя Rule после его создания и хотите, чтобы имя метрики правила отражало это изменение, обновите и имя метрики. WAF не обновляет имя метрики автоматически.
SampledRequestsEnabled -> (boolean)
Указывает, следует ли WAF хранить выборку веб-запросов, которые соответствуют правилам. Вы можете просмотреть выборочные запросы через консоль WAF.
Если вы настраиваете защиту данных для веб-ACL, защита применяется к данным выборочных веб-запросов веб-ACL.
Примечание
Выборка запросов не предоставляет параметр редактирования полей, и любое редактирование полей, указанное в вашей конфигурации ведения журнала, не влияет на выборку. Вы можете исключить поля из выборки запросов, только отключив выборку в конфигурации видимости веб-ACL или настроив защиту данных для веб-ACL.CloudWatchMetricsEnabled -> (boolean)
Указывает, отправляет ли связанный ресурс метрики в Amazon CloudWatch. Список доступных метрик см. в разделе Метрики WAF в Руководстве разработчика WAF.
Для веб-ACL метрики предназначены для веб-запросов, к которым применено действие по умолчанию веб-ACL. WAF применяет действие по умолчанию к веб-запросам, которые проходят проверку всех правил в веб-ACL, не будучи разрешенными или заблокированными. Дополнительные сведения см. в разделе Действие по умолчанию веб-ACL в Руководстве разработчика WAF.
MetricName -> (string)
All и Default_Action.CaptchaConfig -> (структура)
Указывает, как WAF следует обрабатывать оценки CAPTCHA. Если вы не укажете это, WAF использует конфигурацию CAPTCHA, определенную для веб-ACL.
ImmunityTimeProperty -> (структура)
Определяет, как долго метка времени CAPTCHA в токене остается действительной после того, как клиент успешно решит головоломку CAPTCHA.
ImmunityTime -> (long)
Количество времени в секундах, в течение которого метка времени CAPTCHA или запроса считается действительной WAF. Настройка по умолчанию — 300.
Для действия Challenge минимальная настройка — 300.
ChallengeConfig -> (структура)
Указывает, как WAF следует обрабатывать оценки Challenge. Если вы не укажете это, WAF использует конфигурацию запроса, определенную для веб-ACL.
ImmunityTimeProperty -> (структура)
Определяет, как долго метка времени запроса в токене остается действительной после того, как клиент успешно ответит на запрос.
ImmunityTime -> (long)
Количество времени в секундах, в течение которого метка времени CAPTCHA или запроса считается действительной WAF. Настройка по умолчанию — 300.
Для действия Challenge минимальная настройка — 300.
VisibilityConfig -> (структура)
Определяет и включает метрики Amazon CloudWatch и сбор образцов веб-запросов.
SampledRequestsEnabled -> (boolean)
Указывает, следует ли WAF хранить выборку веб-запросов, которые соответствуют правилам. Вы можете просмотреть выборочные запросы через консоль WAF.
Если вы настраиваете защиту данных для веб-ACL, защита применяется к данным выборочных веб-запросов веб-ACL.
Примечание
Выборка запросов не предоставляет параметр редактирования полей, и любое редактирование полей, указанное в вашей конфигурации ведения журнала, не влияет на выборку. Вы можете исключить поля из выборки запросов, только отключив выборку в конфигурации видимости веб-ACL или настроив защиту данных для веб-ACL.CloudWatchMetricsEnabled -> (boolean)
Указывает, отправляет ли связанный ресурс метрики в Amazon CloudWatch. Список доступных метрик см. в разделе Метрики WAF в Руководстве разработчика WAF.
Для веб-ACL метрики предназначены для веб-запросов, к которым применено действие по умолчанию веб-ACL. WAF применяет действие по умолчанию к веб-запросам, которые проходят проверку всех правил в веб-ACL, не будучи разрешенными или заблокированными. Дополнительные сведения см. в разделе Действие по умолчанию веб-ACL в Руководстве разработчика WAF.
MetricName -> (string)
All и Default_Action.DataProtectionConfig -> (структура)
Указывает защиту данных для применения к данным веб-запроса для веб-ACL. Это параметр защиты данных на уровне веб-ACL.
Защита данных, которую вы настраиваете для веб-ACL, изменяет данные, доступные для любой другой деятельности по сбору данных, включая ваши назначения ведения журнала WAF, выборку запросов веб-ACL и сбор и управление данными Amazon Security Lake. Другим вариантом защиты данных является конфигурация ведения журнала, которая влияет только на ведение журнала.
DataProtections -> (list)
Массив конфигураций защиты данных для определенных типов полей веб-запроса. Это определено для каждого веб-ACL. WAF применяет указанную защиту ко всем веб-запросам, которые проверяет веб-ACL.
(structure)
Указывает поведение защиты для типа поля. Это часть конфигурации защиты данных для веб-ACL.
Field -> (structure)
Указывает тип поля и необязательные ключи для применения поведения защиты.
FieldType -> (string)
FieldKeys -> (list)
Указывает ключи для защиты для указанного типа поля. Если вы не укажете ни одного ключа, то будут защищены все ключи для типа поля.
(string)
Action -> (string)
Указывает, как защитить поле. WAF может применить односторонний хэш к полю или жестко закодировать замену строки.
- Пример одностороннего хэша:
ade099751dEXAMPLEHASH2ea9f3393f80dd5d3bEXAMPLEHASH966ae0d3cd5a1e - Пример замены:
REDACTED
ExcludeRuleMatchDetails -> (boolean)
Указывает, следует ли также исключать любые сведения о соответствии правилам из защиты данных, которую вы включили для заданного поля. WAF ведет журнал этих сведений для нетерминирующих соответствующих правил и для терминирующего соответствующего правила. Дополнительную информацию см. в разделе «Поля журнала для трафика веб-ACL» в WAF Developer Guide .
По умолчанию: FALSE
ExcludeRateBasedDetails -> (boolean)
Указывает, следует ли также исключать какие-либо сведения о правилах на основе скорости из защиты данных, которую вы включили для заданного поля. Если вы укажете это исключение, RateBasedDetails отобразит значение поля. Дополнительную информацию см. в поле журнала rateBasedRuleList в разделе «Поля журнала для трафика веб-ACL» в WAF Developer Guide .
По умолчанию: FALSE
Capacity -> (long)
Единицы емкости веб-ACL (WCUs), которые в настоящее время используются этим веб-ACL.
WAF использует WCUs для расчета и управления операционными ресурсами, которые используются для запуска ваших правил, групп правил и веб-ACL. WAF рассчитывает емкость по-разному для каждого типа правил, чтобы отразить относительную стоимость каждого правила. Простые правила, выполнение которых обходится дешево, используют меньше WCUs, чем более сложные правила, которые используют больше вычислительной мощности. Емкость группы правил фиксируется при создании, что помогает пользователям планировать использование WCU своего веб-ACL при использовании группы правил. Дополнительные сведения см. в разделе «Единицы емкости (WCU) веб-ACL WAF» в WAF Developer Guide .
PreProcessFirewallManagerRuleGroups -> (list)
Первый набор правил для обработки WAF в веб-ACL. Это определено в политике Firewall Manager WAF и содержит только ссылки на группы правил. Вы не можете изменить их. Все правила и группы правил, которые вы определяете для веб-ACL, имеют приоритет после этих правил.
В политике Firewall Manager WAF администратор Firewall Manager может определить набор групп правил для запуска в первую очередь в веб-ACL и набор групп правил для запуска в последнюю очередь. В каждом наборе администратор определяет приоритет групп правил, чтобы определить их относительный порядок обработки.
(structure)
Группа правил, определенная для политики Firewall Manager WAF.
Name -> (string)
Priority -> (integer)
FirewallManagerStatement -> (structure)
Руководство по обработке для правила Firewall Manager. Это похоже на обычное утверждение Statement , но оно может содержать только ссылку на группу правил.
ManagedRuleGroupStatement -> (structure)
Утверждение, используемое Firewall Manager для запуска правил, определенных в управляемой группе правил. Это управляется Firewall Manager для политики Firewall Manager WAF.
VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, действия которых установлены в значение Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить для Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .ScopeDownStatement -> (structure)
Необязательное вложенное утверждение, которое сужает область веб-запросов, которые оцениваются управляемой группой правил. Запросы оцениваются только группой правил, если они соответствуют утверждению сужения области. Вы можете использовать любое вкладываемое Statement в утверждении сужения области, и вы можете вкладывать утверждения на любом уровне, так же, как и для утверждения правила.
ByteMatchStatement -> (structure)
Утверждение правила, определяющее поиск соответствия строк для WAF, которое будет применяться к веб-запросам. Утверждение сопоставления байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и в руководстве для разработчиков это называется утверждением сопоставления строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы определяете для проверки в FieldToMatch . Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает на тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatementсPositionalConstraint, установленным в значениеEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в base64. Максимальная длина значения перед кодированием в base64 — 200 байт.
Например, предположим, что значение Type — HEADER , а значение Data — User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent значения BadBot , вы кодируете BadBot с помощью MIME base64-кодирования и включаете результирующее значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (строка)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает ограничение для типа ресурса. Когда тело веб-запроса превышает ограничение, базовый хост-сервис пересылает только содержимое, находящееся в пределах ограничения, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body .
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает ограничение для типа ресурса. Когда тело веб-запроса превышает ограничение, базовый хост-сервис пересылает только содержимое, находящееся в пределах ограничения, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки негабаритных размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает ограничение для типа ресурса. Когда тело веб-запроса превышает ограничение, базовый хост-сервис пересылает только содержимое, находящееся в пределах ограничения, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (список)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Рабочей группы по разработке Internet (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(строка)
MatchScope -> (строка)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает ограничение для типа ресурса. Когда тело веб-запроса превышает ограничение, базовый хост-сервис пересылает только содержимое, находящееся в пределах ограничения, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки негабаритных размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или и в том, и в другом. Чтобы требовать соответствия ключей и значений, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных грузов следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или и в том, и в другом. Чтобы требовать соответствия ключей и значений, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных грузов следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных грузов следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если в запросе нет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если в запросе нет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область внутри части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что верны оба следующих утверждения:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы делать такие вещи, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела, как обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела, как обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка превышающего размер в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders или ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, значениях или обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies или ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, значениях или обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, содержащего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, содержащего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ завершен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшего значения приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки атак типа SQL injection.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об идентификации и смягчении ложных срабатываний см. в разделе Testing and tuning в WAF Developer Guide .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак типа SQL injection или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак межсайтового скриптинга (XSS). В атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства внедрения вредоносных клиентских сценариев в другие законные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия как в ключах, так и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда разбор выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое — для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки избыточного размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое — для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки избыточного размера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки избыточного размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недопустимого JSON. Когда анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки с самым низким приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, такой как больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера для блокировки запросов, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. Body и JsonBody параметры для FieldToMatch тип данных.
Если вы выберете URI для значения Часть запроса для фильтрации, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg состоит из девяти символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки переразмера с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Рабочей группы разработки Интернет-протоколов (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или и в том, и в другом. Чтобы потребовать совпадения в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию лимит составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки переразмера следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки переразмера с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка негабаритного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, либо IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует обнаружения совпадения в ключах и обнаружения совпадения в значениях. Требуется обнаружение совпадения в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie негабаритного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, либо IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует обнаружения совпадения в ключах и обнаружения совпадения в значениях. Требуется обнаружение совпадения в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI негабаритного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе JSON body в WAF Developer Guide.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет веб-запросы по коду страны. Правило геосовпадения помечает каждый проверяемый запрос независимо от того, находит ли он совпадение.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило геосовпадения с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил сопоставления меток для запуска после правила геосовпадения и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в геосовпадении ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Geographic match rule statement в WAF Developer Guide.
CountryCodes -> (list)
Массив двухзначных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ], из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
Когда вы используете оператор геосовпадения только для меток региона и страны, которые он добавляет к запросам, вам все равно придется указать код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и показатели подсчета для любых совпадений. Вы можете сократить количество журналов и показателей, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие режимы резервного поведения:
-
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать, что веб-запрос не соответствует оператору правила.
RuleGroupReferenceStatement -> (structure)
Инструкция правила, используемая для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем предоставьте ARN группы правил в этой инструкции.
Вы не можете вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать инструкцию ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на инструкцию верхнего уровня внутри правила, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, для которых действия установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действий, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действий, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий, которые следует использовать вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(structure)
Настройка действия, используемая вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке по умолчанию веб-ACL BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Сведения об ограничениях количества и размера для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях количества и размера для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях количества и размера для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях количества и размера для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях количества и размера для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция правила, используемая для обнаружения веб-запросов, поступающих с конкретных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этой инструкции. Чтобы создать набор IP, см. CreateIPSet.
Каждая инструкция правила набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значением заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий в компонентах веб-запроса с помощью регулярных выражений. Чтобы использовать это, создайте RegexPatternSet, который определяет выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логический оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, размер которого превышает допустимый, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые нужно сопоставить с критериями проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, размер которого превышает допустимый, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые нужно проверить с помощью критериев проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement, где для параметра PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое нужно присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement, где для параметра PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое нужно присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, размер которого превышает допустимый, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. При успешном анализе WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе частоты для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое используется в данный момент, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критериями агрегирования являются IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости отдельно.
При желании вы можете вложить другое утверждение внутрь утверждения на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному утверждению. Вы можете использовать это вложенное утверждение сужения области действия в сочетании со спецификациями вашего ключа агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, соответствующих утверждению сужения области действия, без дополнительного агрегирования. Когда вы выбираете управление только всеми запросами, соответствующими утверждению сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого утверждения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации об опциях см. раздел Ограничение скорости веб-запросов с использованием правил на основе скорости в Руководстве разработчика WAF .
Если вы агрегируете только по отдельному IP-адресу или переадресованному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и обрабатывает веб-запросы отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждое из двух утверждений правила представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление WAF.
Limit -> (long)
Лимит по запросам во время указанного окна оценки для отдельного экземпляра агрегирования для правила на основе скорости. Если утверждение на основе скорости включает ScopeDownStatement , этот лимит применяется только к запросам, соответствующим утверждению.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит по запросам с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это лимит по запросам для любой отдельной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои счетчики запросов, оглядываясь назад с текущего времени. Например, для настройки 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а то, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте скорость запросов, соответствующих утверждению сужения области действия правила на основе скорости. С помощью этого параметра подсчитанные запросы не агрегируются дальше. Утверждение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих утверждению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим утверждению сужения области действия. С этим параметром вы должны настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим параметром необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по переадресованному IP-адресу, не используйте пользовательские ключи. Вместо этого установите для типа ключа агрегирования значениеIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации переадресованного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу от источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
ScopeDownStatement -> (structure)
Необязательное вложенное утверждение, которое сужает область действия веб-запросов, которые оцениваются и управляются утверждением на основе скорости. Когда вы используете утверждение сужения области действия, правило на основе скорости отслеживает и ограничивает скорость только тех запросов, которые соответствуют утверждению сужения области действия. Вы можете использовать любое вложенное Statement в утверждении сужения области действия, и вы можете вкладывать утверждения на любом уровне, так же, как и для утверждения правила.
ByteMatchStatement -> (structure)
Утверждение правила, которое определяет поиск соответствия строки для WAF, который будет применяться к веб-запросам. Утверждение соответствия байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, которая соответствует символам ASCII. В консоли WAF и в руководстве разработчика это называется утверждением соответствия строки.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкиByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения с кодировкой base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent для значения BadBot , вы кодируете BadBot с использованием кодировки MIME base64 и включаете полученное значение, QmFkQm90 , в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. Пакет SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте куки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Cookies, чтобы определить набор куки и части куки, которые WAF проверяет.
Только первые 8 КБ (8192 байта) куки запроса и только первые 200 куки пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого куки большого размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к куки, которые он получает от базовой хост-службы.
MatchPattern -> (структура)
Фильтр для идентификации подмножества куки для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только куки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только куки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части куки для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если куки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого куки запроса, когда они превышают 8 КБ (8192 байта) или всего 200 куки. Базовая хост-служба пересылает максимум 200 куки и не более 8 КБ содержимого куки в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— Проверьте доступные куки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для соответствия при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например, host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая хост-служба пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с настройкой PositionalConstraint на EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields (Поля журнала) в WAF Developer Guide (Руководство разработчика WAF).
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора соответствия строки, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с настройкой PositionalConstraint на EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields (Поля журнала) в WAF Developer Guide (Руководство разработчика WAF).
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора соответствия строки, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблону к куки, которые он получает от базовой хост-службы.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING— Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Text transformations устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Text transformations используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе частоты для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Text transformations устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString. Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должно содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих условия верны:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы, например, изменять вашу базу данных или извлекать данные из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую WAF должен проверить.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большего размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большего размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе сразу.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе сразу.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недопустимого JSON. Когда анализ проходит успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка сверх допустимого размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie сверх допустимого размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE— проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI сверх допустимого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING— проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий утверждению правила.
Если этот параметр не указан, WAF выполняет синтаксический анализ и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на атаки путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию о выявлении и смягчении ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другую защиту от атак путем внедрения SQL-кода или имеют низкую толерантность к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Оператор правила, который выполняет проверку на атаки межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки большого размера с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON, которые нужно сопоставить с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать контент только до первой ошибки анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может пройти даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки большого размера с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту при его проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 - это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкиByteMatchStatement с установленным значением PositionalConstraint EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, присваиваемый веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные режимы работы:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 - это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкиByteMatchStatement с установленным значением PositionalConstraint EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, присваиваемый веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные режимы работы:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF следует делать, если он не может полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
SizeConstraintStatement -> (structure)
Инструкция правила, которая сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать инструкцию ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать инструкцию ограничения размера, чтобы блокировать запросы с размером тела запроса большего размера. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения раздела запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий инструкции правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Для этого требуется найти совпадение в ключах или значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий инструкции правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области видимости и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого контента заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствие в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области видимости и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствие в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint на EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации выражения сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint на EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации выражения сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области видимости и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможные варианты:
-
EVALUATE_AS_STRING— проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий выражению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может успешно выполняться даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если указать одно или несколько применяемых преобразований, WAF выполняет все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило соответствия по географическому положению помечает каждый запрос, который он проверяет, независимо от того, найдено ли соответствие.
- Чтобы управлять запросами только по стране, можно использовать этот оператор сам по себе и указать страны, с которыми нужно сопоставить, в массиве
CountryCodes. - В противном случае настройте правило соответствия по географическому положению с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы запустить их после правила соответствия по географическому положению и настроить их на соответствие географическим меткам и обработку запросов по мере необходимости.
WAF помечает запросы, используя коды стран и регионов альфа-2 из международного стандарта Международной организации по стандартизации (ISO) 3166. WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если это указано, адрес в соответствии по географическому положению ForwardedIPConfig .
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете перенаправленный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Geographic match rule statement в WAF Developer Guide .
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми нужно сопоставить, например [ "US", "CN" ] , из альфа-2 кодов стран международного стандарта ISO 3166.
Когда вы используете оператор соответствия по географическому положению только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить объем ведения журнала и метрик, которые производит правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не содержит действительного IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные режимы:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем предоставьте ARN группы правил в этом операторе.
Вы не можете вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке действия по умолчанию веб-ACL BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит префикс к этому имени x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит префикс к этому имени x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит префикс к этому имени x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит префикс к этому имени x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит префикс к этому имени x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правил, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, а затем используйте ARN этого набора в этом операторе. Чтобы создать IP-набор, см. CreateIPSet.
Каждый оператор правил IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий оператору правила.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные - прокси-серверы, через которые прошел запрос.
Варианты этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий в компонентах веб-запроса с помощью регулярных выражений. Чтобы использовать его, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, а затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов регулярных выражений, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов регулярных выражений ссылается на набор шаблонов регулярных выражений. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении набора, на который выполняется ссылка, WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить с помощью WAF.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия ключам и значениям, используйте логическое оператор AND, чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовков большего размера в объекте Headers. WAF применяет фильтры соответствия шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie большего размера в объекте Cookies. WAF применяет фильтры соответствия шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, отсортированных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора соответствия строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора соответствия строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагментов URI большего размера в объекте UriFragment. WAF применяет фильтры соответствия шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования FieldToMatch компонента запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста удаляют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает их скорость, когда они поступают со слишком высокой скоростью. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия правила по ограничению скорости на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст различные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого из них. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критериями агрегирования являются IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости индивидуально.
При желании вы можете вложить другой оператор внутри оператора на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному оператору. Вы можете использовать этот вложенный оператор сужения области действия в сочетании со спецификациями вашего ключа агрегирования или просто подсчитывать и ограничивать скорость всех запросов, которые соответствуют оператору сужения области действия, без дополнительного агрегирования. Когда вы решите просто управлять всеми запросами, которые соответствуют оператору сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого оператора, например, внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации об опциях см. раздел Rate limiting web requests using rate-based rules в WAF Developer Guide .
Если вы агрегируете только по отдельному IP-адресу или пересланному IP-адресу, вы можете получить список IP-адресов, для которых WAF в настоящее время ограничивает скорость для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одинаковые настройки правила на основе скорости в двух веб-ACL, каждый из двух операторов правил представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Предел запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если оператор на основе скорости включает ScopeDownStatement , этот предел применяется только к запросам, соответствующим оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой одной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего момента времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте скорость запросов, которые соответствуют оператору сужения области действия правила на основе скорости. С помощью этой опции подсчитываемые запросы не агрегируются далее. Оператор сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих оператору сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим оператору сужения области действия. С этой опцией вы должны настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С помощью этой опции вы должны указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по пересланному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования наIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции вы должны указать заголовок, который будет использоваться, в свойствеForwardedIPConfig. Чтобы агрегировать комбинацию пересланного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать комбинацию IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это требуется, если вы указываете пересланный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Указывает совокупные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский совокупный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила на основе скорости.Заголовок -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегации. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегации. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегации. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегации. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве совокупного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегации.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying FORWARDED_IP in your rate-based statement’s AggregateKeyType .
With this option, you must specify the header to use in the rate-based rule’s ForwardedIPConfig property.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегации.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying IP in your rate-based statement’s AggregateKeyType .
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полностью квалифицированное имя метки с указанным пространством имен метки вносит вклад в экземпляр агрегации. Если вы используете только одно пространство имен меток в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегации.
This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегации. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при резервировании:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия веб-запроса, которое следует присвоить, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой И. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой И. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой ИЛИ. Вы предоставляете более одного оператора в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой ИЛИ. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вложить ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только в качестве оператора верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control account takeover prevention (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control account creation fraud prevention (ACFP) AWSManagedRulesACFPRuleSet . Дополнительную информацию см. в разделе Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса создания учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения перехвата учетной записи. Конфигурация включает в себя страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает в себя страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса создания учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения перехвата учетной записи. Конфигурация включает в себя страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
То, как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя:username1
PasswordField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
То, как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля:password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Сведения об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Список правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функции.
Для получения информации об использовании управляемой группы правил ATP см. группу правил защиты от захвата учетной записи WAF Fraud Control (ATP) и защиту от захвата учетной записи WAF Fraud Control (ATP) в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL https://example.com/web/login вы предоставите путь /web/login . Пути входа, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии для проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификацией поля имени пользователя являетсяusername1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификацией поля имени пользователя являетсяusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификацией поля пароля является/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификацией поля пароля являетсяpassword1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификацией поля пароля является/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификацией поля пароля являетсяpassword1.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешный вход или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачный вход или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешный вход или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачный вход или попытку создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешный вход или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачный вход или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить группе правил информацию о запросе на создание учетной записи. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница вашего веб-сайта, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать запросы POST.
Например, для URL-адреса https://example.com/web/newaccount вы предоставите путь /web/newaccount. Пути к страницам создания учетной записи, которые начинаются с предоставленного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница вашего веб-сайта, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна принимать запросы text/htmlGET.Например, для URL-адреса https://example.com/web/registration вы предоставите путь /web/registration. Пути к страницам регистрации, которые начинаются с предоставленного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя -/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя -username1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя -/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя -username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля -/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля -password1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля -/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля -password1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты -/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты -email1.
Identifier -> (string)
Название поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты -/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты -email1.
PhoneNumberFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Укажите порядок полей номера телефона в массиве точно так же, как они указаны в полезной нагрузке запроса.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона -/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона -primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного номера телефона.
Как вы указываете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона -/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона -primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Укажите порядок полей адреса в массиве точно так же, как они указаны в полезной нагрузке запроса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса -/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса -primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного адреса.
Как вы указываете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса -/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса -primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы о создании учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, подсчитывая количество успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Название заголовка для сопоставления. Название должно точно соответствовать, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Параметры действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одну переоценку для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переоценках верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(structure)
Параметр действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одну переоценку для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переоценках верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переоценки.
Примечание
Убедитесь, что имена правил в ваших переоценках верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переоценки.ActionToUse -> (structure)
Действие переоценки для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP, возвращаемый клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии по умолчанию веб-ACL параметр BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Сведения об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены в веб-запрос правилами, которые уже выполнялись в веб-ACL.
Оператор соответствия метки предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью квалифицированную имя метки, которое было добавлено в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс определяет группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное квалифицированное имя в своей строке соответствия метки, WAF выполняет поиск меток, которые были добавлены в том же контексте, что и оператор соответствия метки.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от параметра Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс для предоставления полностью квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то это указание может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен меток из группы правил или веб-ACL, где метка берет начало.
Метки чувствительны к регистру, а компоненты метки должны разделяться двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правил, используемый для поиска соответствия компонентам веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих соответствий шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление по ключам и значениям.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, у которых ключ соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, у которых ключ соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с установленным значением PositionalConstraint EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с установленным значением PositionalConstraint EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверить фрагменты URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (строка)
Что должен делать WAF, если он не может полностью обработать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF обрабатывает и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы укажете переадресованный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите его значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, опускаются из оценки и обработки правил на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегации. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегации. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегации. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегации. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегации.
При указании IP-адреса или перенаправленного IP-адреса в настройках пользовательского ключа необходимо также указать как минимум еще один ключ для использования. Вы можете агрегировать только по перенаправленному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего правила на основе скорости.
С помощью этого параметра необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегации.
При указании IP-адреса или перенаправленного IP-адреса в настройках пользовательского ключа необходимо также указать как минимум еще один ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего правила на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полностью квалифицированное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегации. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегации.
При этом используются только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом на основе скорости в веб-ACL.
Для получения информации о пространствах имен и именах меток см. Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегации. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если информации TSL Client Hello недостаточно для вычисления отпечатка JA3.
Можно указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток пальца JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного оператора в AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
(structure)
Руководство по обработке для Rule , используемое WAF для определения соответствия веб-запроса правилу.
Например, спецификации см. в разделе примеров CreateWebACL .
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строк для WAF, который будет применяться к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска, как правило, представляют собой строку, соответствующую символам ASCII. В консоли WAF и руководстве для разработчиков это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF ищет только в той части веб-запросов, которую вы определяете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. Вы можете использовать этот вариант только с соответствием строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения с кодировкой base64. Максимальная длина значения до кодирования base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent для значения BadBot , вы кодируете BadBot с помощью MIME base64-кодирования и включаете полученное значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе сразу.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе сразу.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования, чтобы определить подмножество заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования, чтобы определить подмножество файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они появляются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот вариант можно только с сопоставлением строкByteMatchStatement , у которого PositionalConstraint установлено значение EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот вариант можно только с сопоставлением строкByteMatchStatement , у которого PositionalConstraint установлено значение EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для неверного JSON. Когда синтаксический анализ выполняется успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с самой низкой приоритетности, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что выполняются оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно в точности соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция правила, которое проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела как обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действия веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (структура)
Соответствовать всем элементам. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Для этого требуется совпадение в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите эту настройку, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела как обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действия веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Для этого требуется, чтобы соответствие было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Для этого требуется, чтобы соответствие было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND, чтобы объединить два правила соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Это можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Это можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки атак методом внедрения SQL.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об определении и смягчении последствий ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак методом внедрения SQL или имеют низкую терпимость к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Инструкция по применению правил, проверяющая наличие атак типа межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте как средство для внедрения вредоносных клиентских скриптов в другие законные веб-браузеры.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действиями веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или значениях, или и в том и в другом. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недопустимого JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действиями веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки oversize следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки oversize следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки oversize следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие резервные параметры:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие резервные параметры:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки с наименьшим приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, которые длиннее 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера для блокировки запросов с большим размером тела запроса. Для получения дополнительной информации об ограничениях проверки см. Body и JsonBody настройки для FieldToMatch типа данных.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
?, если таковая имеется.Body -> (структура)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Рабочей группы по инженерному обеспечению Интернета (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логический оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, которую он обнаружит.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда синтаксический анализ проходит успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и соответствия в значениях. Требуется найти соответствие в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки содержимого файлов cookie превышающего размер в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и соответствия в значениях. Требуется найти соответствие в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например, host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Это можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Это можно использовать только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью разобрать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в разделе Руководство разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Заявление правила, которое помечает веб-запросы по стране и региону и которое сопоставляет веб-запросы на основе кода страны. Правило географического соответствия помечает каждый проверяемый запрос, независимо от того, находит ли оно соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать это утверждение само по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило географического соответствия с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам для запуска после правила географического соответствия и настройте их на соответствие географическим меткам и обработку запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы укажете его, адрес в ForwardedIPConfig географического соответствия.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Geographic match rule statement в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ], из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
Когда вы используете оператор географического соответствия только для меток региона и страны, которые он добавляет к запросам, вы все равно должны предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно все равно будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журнала и метрики, которые производит правило, указав страну, которая вряд ли станет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем предоставьте ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement, например, для использования внутри NotStatement или OrStatement. Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, действия которых установлены в Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любой допустимый параметр действия, включая Count.(structure)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любой допустимый параметр действия, включая Count.Name -> (string)
Count.RuleActionOverrides -> (list)
Настройки действия, используемые вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, проверьте имена правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группы правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, проверьте имена правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группы правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Пожалуйста, проверьте имена правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ на веб-запрос.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запроса и ответа см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запроса и ответа см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запроса и ответа см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запроса и ответа см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запроса и ответа см. Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с конкретных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который определяет адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правила набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- считать веб-запрос не соответствующим оператору правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Варианты этого параметра следующие:
- FIRST — проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST — проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY — проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска в компонентах веб-запроса соответствий регулярным выражениям. Чтобы использовать это, создайте RegexPatternSet, который определяет выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки большого размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих соответствий шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет поиск по ключам и значениям.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логический оператор AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки большого размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных объектов следующие:
-
CONTINUE- обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правил. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных объектов следующие:
-
CONTINUE- обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных объектов следующие:
-
CONTINUE- обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement, где PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement, где PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблонам к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если он не может полностью обработать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недопустимого JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты, для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, причем значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило будет создавать разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости индивидуально.
При желании вы можете вложить другое выражение внутрь выражения на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному выражению. Вы можете использовать это вложенное выражение сужения области действия в сочетании со спецификациями ключей агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, которые соответствуют выражению сужения области действия, без дополнительного агрегирования. Когда вы выбираете только управлять всеми запросами, которые соответствуют выражению сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого выражения, например внутри NotStatement или OrStatement. Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации об опциях см. раздел Ограничение скорости веб-запросов с помощью правил на основе скорости в Руководстве разработчика WAF.
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, с помощью вызова API GetRateBasedStatementManagedKeys. Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же параметры правила на основе скорости в двух веб-ACL, каждое из двух выражений правила представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Лимит по запросам в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если выражение на основе скорости включает ScopeDownStatement, этот лимит применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит по запросам с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени параметра запроса «city», то это лимит по запросам для любой одной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего момента. Например, для настройки 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему моменту времени. Допустимые настройки: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, которая указывает, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывать и ограничивать запросы, которые соответствуют выражению сужения области действия правила на основе скорости. С помощью этой опции подсчитанные запросы не агрегируются далее. Выражение сужения области действия — единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С этой опцией вы должны настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С помощью этой опции вы должны указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования наIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегировать количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции вы должны указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации перенаправленного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегировать количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете перенаправленный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие fallback поведения:
-
MATCH- Считать, что веб-запрос соответствует выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует выражению правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в пользовательских настройках ключа, вы также должны указать как минимум еще один ключ для использования. Вы можете агрегировать только по перенаправленному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего оператора на основе скорости.
С помощью этого параметра необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в пользовательских настройках ключа, вы также должны указать как минимум еще один ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего оператора на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются до этого правила на основе скорости в веб-ACL.
Для получения информации о пространствах имен и именах меток см. Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток пальца JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия для присвоения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой AND. Вы предоставляете более одного Statement в AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой OR. Вы предоставляете более одного Statement в OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Нельзя вложить ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения перехвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Дополнительную информацию см. в разделе Цены WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группам правил, используемым для интеллектуального смягчения угроз, требуется дополнительная конфигурация:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как адрес электронной почты пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения перехвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группам правил, используемым для интеллектуального смягчения угроз, требуется дополнительная конфигурация:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как адрес электронной почты пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения перехвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Примеры спецификаций см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
То, как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer Рабочей группы Internet Engineering Task Force (IETF). Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этого параметра предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
То, как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer Рабочей группы Internet Engineering Task Force (IETF). Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Сведения об использовании управляемой группы правил Bot Control см. в разделе «Группа правил WAF Bot Control» и «WAF Bot Control» в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применимо только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Дополнительную информацию об этом выборе см. в списке этих правил в таблице в разделе «Список правил Bot Control» в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе «Группа правил защиты от мошенничества WAF по предотвращению захвата учетной записи (ATP)» и «Защита от мошенничества WAF по предотвращению захвата учетной записи (ATP)» в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа для вашего приложения. Например, для URL-адреса https://example.com/web/login , вы должны предоставить путь /web/login . Пути входа, начинающиеся с предоставленного вами пути, считаются соответствующими. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON-указателя. Информацию о синтаксисе JSON-указателя см. в документации Рабочей группы по проектированию Интернета (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON-указателя. Информацию о синтаксисе JSON-указателя см. в документации Рабочей группы по проектированию Интернета (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON-указателя. Информацию о синтаксисе JSON-указателя см. в документации Рабочей группы по проектированию Интернета (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON-указателя. Информацию о синтаксисе JSON-указателя см. в документации Рабочей группы по проектированию Интернета (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы входа, используемые группой правил ATP для отслеживания показателей отказов входа.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно совпадать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байтов (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку ответа JSON для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байтов (64 КБ) ответа JSON.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно совпадать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в ответе JSON, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в ответе JSON, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно совпадать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это для предоставления информации о запросе на создание учетной записи группе правил. Для веб-ACL, которые защищают дистрибутивы CloudFront, используйте это, чтобы предоставить информацию о том, как ваш дистрибутив реагирует на запросы создания учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. группу правил предотвращения мошенничества при создании учетной записи WAF Fraud Control (ACFP) и предотвращение мошенничества при создании учетной записи WAF Fraud Control (ACFP) в Руководстве разработчика WAF .
CreationPath -> (string)
Путь конечной точки создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути страниц создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь конечной точки регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути страниц регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя:username1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя:username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля:password1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля:password1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты:email1.
Identifier -> (string)
Название поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты:email1.
PhoneNumberFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы поля номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы поля номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Название одного основного поля номера телефона.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы поля номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы поля номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Название одного основного поля адреса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с закодированной формой используйте имена форм HTML. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на создание учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетных записей.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от клиентских сессий и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (строка)
Имя заголовка, с которым нужно сопоставить. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(строка)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(строка)
BodyContains -> (структура)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(строка)
FailureStrings -> (список)
Строки в теле ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(строка)
Json -> (структура)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (строка)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен быть точным совпадением, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(строка)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(строка)
EnableRegexInPath -> (логическое значение)
RuleActionOverrides -> (список)
Настройки действия, которые необходимо использовать вместо действий правила, настроенных внутри группы правил. Вы указываете одну переоценку для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь в правильности имен правил в ваших переоценках. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком в группе правил.
(structure)
Настройка действия, которое необходимо использовать вместо действия правила, настроенного внутри группы правил. Вы указываете одну переоценку для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь в правильности имен правил в ваших переоценках. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переоценки.Вы можете использовать переоценки для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком в группе правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Убедитесь в правильности имен правил в ваших переоценках. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переоценки.ActionToUse -> (structure)
Действие переоценки, которое необходимо использовать вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
Код состояния HTTP, который необходимо вернуть клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference the response body using this key.ResponseHeaders -> (list)
Заголовки HTTP, которые необходимо использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя остальные правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, добавленными к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор соответствия метки предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или все полное имя метки, добавленной к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, добавившего метку. Если вы не предоставите полное имя в строке соответствия метке, WAF выполнит поиск меток, добавленных в том же контексте, что и оператор соответствия метке.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс вплоть до предоставления полного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, а компоненты метки должны разделяться двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Инструкция по правилу, используемая для поиска соответствия компонентам веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить в WAF.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр нечувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и нечувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как несоответствующий инструкции правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое AND оператор для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как несоответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе о теле JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как несоответствующий инструкции правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками вашего правила и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента заголовков большего размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует обнаружения соответствия в ключах и обнаружения соответствия в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или и том, и другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные заголовки обычно, в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента файлов cookie большего размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует обнаружения соответствия в ключах и обнаружения соответствия в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или и том, и другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные файлы cookie обычно, в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступные заголовки обычно, в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI сверх размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью разобрать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недопустимого JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего значения приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой ИЛИ. Необходимо предоставить более одного оператора в OrStatement.
Statements -> (list)
Операторы для объединения с логикой ИЛИ. Можно использовать любые операторы, которые можно вкладывать.
(structure)
Инструкции по обработке для Rule, используемые WAF для определения соответствия веб-запроса правилу.
Примеры спецификаций см. в разделе примеров CreateWebACL .
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строк для WAF для применения к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, которые вы хотите, чтобы WAF выполнил поиск, и другие настройки. Байты для поиска, как правило, являются строкой, которая соответствует символам ASCII. В консоли WAF и руководстве разработчика это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF выполнил поиск. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch. Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch:
-
Method: Метод HTTP, который вы хотите, чтобы WAF выполнил поиск. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF выполнил поиск в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Этот выбор можно использовать только с соответствием строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Отпечаток JA3 для клиентских запросов можно получить из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Сведения о полях журналов см. в разделе Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит алфавитные символы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения, закодированную в base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type — HEADER, а значение Data — User-Agent. Если вы хотите выполнить поиск в заголовке User-Agent для значения BadBot, вы кодируете BadBot в base64, используя кодировку MIME base64, и включаете результирующее значение QmFkQm90 в значение SearchString.
Значение, которое вы хотите, чтобы WAF выполнил поиск. SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмера следующие:
-
CONTINUE— обычно проверяет доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствует только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставит ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей, а другое — для проверки значений.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не укажете этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. body JSON в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмера следующие:
-
CONTINUE— обычно проверяет доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers . WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с помощью критериев проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации утверждения сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации утверждения сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента фрагмента URI сверхразмера в объекте UriFragment. WAF применяет фильтры соответствия шаблонам к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой сталкивается.
Example JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда анализ проходит успешно, WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе "JSON body" в Руководстве разработчика WAF .TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF выполнял поиск SearchString. Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что истинны оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы делать такие вещи, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Альтернативно, вы можете отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths , но не обе.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All , но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать соответствия ключам и значениям, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие - в значениях. Он требует, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие - в значениях. Он требует, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние соответствия, присваиваемое веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF выполняет синтаксический анализ и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел Тело JSON в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным контентом, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на атаки путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об идентификации и смягчении последствий ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF.
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак путем внедрения SQL-кода или имеют низкую толерантность к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Оператор правила, который выполняет проверку на атаки межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости в безобидном веб-сайте для внедрения вредоносных клиентских скриптов в другие законные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда размер тела веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с превышением размера, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если размер тела превышает объем, который WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда размер тела веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с вашими параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда размер тела веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с превышением размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF следует делать, если размер тела превышает объем, который WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда размер тела веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с вашими параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры для области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовков, размер которого превышает допустимый, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса превышают количество или размер, которые WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры для области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, размер которого превышает допустимый, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса превышают количество или размер, которые WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса превышают количество или размер, которые WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, которые имеют ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные действия:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, которые имеют ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные действия:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера, чтобы искать строки запросов, которые длиннее 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до лимита для типа веб-ACL и защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы с большим размером тела запроса. Для получения дополнительной информации об ограничениях проверки см. параметры Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Part of the request to filter on (Часть запроса для фильтрации), косая черта (/) в URI будет считаться одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверка тела запроса в виде простого текста. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с вашими параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса в формате JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадение в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с вашими параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков, которые необходимо сопоставить с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie, которые необходимо проверить в соответствии с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Он требует нахождения соответствия в ключах или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie как обычно, в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента поля для соответствия при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкеByteMatchStatement, где PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора соответствия строке, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкеByteMatchStatement, где PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора соответствия строке, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе частоты для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой приоритетности, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет их с веб-запросами на основе кода страны. Правило сопоставления по географическому положению помечает каждый проверяемый им запрос, независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, можно использовать этот оператор самостоятельно и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило сопоставления по географическому положению с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил сопоставления меток для запуска после правила сопоставления по географическому положению и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в географическом сопоставлении ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток — awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете переадресованный IP-адрес, форматы меток — awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Для получения дополнительных сведений см. раздел Geographic match rule statement в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например [ "US", "CN" ], из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
При использовании оператора сопоставления по географическому положению только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно все равно будет генерировать журналы и показатели подсчета для любых совпадений. Вы можете уменьшить количество журналов и показателей, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не содержит действительный IP-адрес в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Нельзя вкладывать RuleGroupReferenceStatement, например, для использования внутри NotStatement или OrStatement. Нельзя использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылаемой группе правил, для которых действия установлены в Count.
Примечание
Вместо этого варианта используйтеRuleActionOverrides. Он принимает любую допустимую настройку действия, включая Count.(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count.
Примечание
Вместо этого варианта используйтеRuleActionOverrides. Он принимает любую допустимую настройку действия, включая Count.Name -> (string)
Count.RuleActionOverrides -> (list)
Настройки действия, которые будут использоваться вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления вашим веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения, которое будет использоваться вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP, который будет возвращен клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction, вы ссылаетесь на текст ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса с использованием оставшихся правил в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
IPSetReferenceStatement -> (structure)
Заявление правила, используемое для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом заявлении. Чтобы создать IP-набор, см. CreateIPSet.
Каждое утверждение правила IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении указанного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, который сообщается источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое следует назначить веб-запросу, если запрос не содержит допустимого IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST - Проверьте первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверьте последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверьте все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий регулярным выражениям в компонентах веб-запроса. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую WAF должен проверить.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами вашего правила и действий веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения с использованием синтаксиса JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логический оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами вашего правила и действий веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Соответствие шаблону -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure) - Все -> (структура)
IncludedHeaders -> (list) - Включенные заголовки -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list) - Исключенные заголовки -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string) - MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует нахождения совпадения в ключах и совпадения в значениях. Требуется найти соответствие в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - Обработка больших размеров -> (строка)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure) - Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Соответствие шаблону -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure) - Все -> (структура)
IncludedCookies -> (list) - Включенные файлы cookie -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list) - Исключенные файлы cookie -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string) - MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует нахождения совпадения в ключах и совпадения в значениях. Требуется найти соответствие в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - Обработка больших размеров -> (строка)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure) - HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string) - Обработка больших размеров -> (строка)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure) - JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установкой PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure) - JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установкой PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure) - UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет поведение fallback. Дополнительные сведения см. в разделе JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения скорости правила. Это может приостановить действия правила по ограничению скорости на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, например, IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, например, IP-адрес и метод HTTP или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого из них. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости отдельно.
При желании вы можете вложить другой оператор внутри оператора на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному оператору. Вы можете использовать этот вложенный оператор сужения области действия вместе со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, которые соответствуют оператору сужения области действия, без дополнительного агрегирования. Если вы решите просто управлять всеми запросами, соответствующими оператору сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого оператора, например, внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри web ACL и внутри группы правил.
Дополнительные сведения об опциях см. в разделе «Ограничение скорости веб-запросов с использованием правил на основе скорости» в Руководстве разработчика WAF .
Если вы агрегируете только по отдельному IP-адресу или пересланному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждый из двух операторов правил представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Лимит по запросам в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если оператор на основе скорости включает в себя ScopeDownStatement , этот лимит применяется только к запросам, соответствующим оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение по запросам с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение по запросам для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Промежуток времени в секундах, который WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего времени. Например, при значении 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывать и ограничивать скорость запросов, соответствующих оператору сужения области действия правила на основе скорости. С помощью этой опции подсчитываемые запросы не агрегируются дальше. Оператор сужения области действия — единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих оператору сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим оператору сужения области действия. С этой опцией необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этой опцией необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по пересланному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования наIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегировать количество запросов по первому IP-адресу в заголовке HTTP. С этой опцией необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации пересланного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегировать количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете пересланный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Note
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке способствует экземпляру агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie способствует экземпляру агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса способствует экземпляру агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка способствует экземпляру агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в HTTP-заголовке в качестве агрегированного ключа. Каждый отдельный переадресованный IP-адрес способствует экземпляру агрегирования.
При указании IP-адреса или переадресованного IP-адреса в параметрах пользовательского ключа вы также должны указать как минимум один другой ключ для использования. Вы можете выполнить агрегирование только по переадресованному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего правила на основе скорости.
В этом случае необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес способствует экземпляру агрегирования.
При указании IP-адреса или переадресованного IP-адреса в параметрах пользовательского ключа вы также должны указать как минимум один другой ключ для использования. Вы можете выполнить агрегирование только по IP-адресу, указав IP в AggregateKeyType вашего правила на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, способствует экземпляру агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены к запросу правилами, которые оцениваются до этого правила на основе скорости в веб-ACL.
Информацию о пространствах имен и именах меток см. в разделе Синтаксис и требования к именованию меток в Руководстве разработчика WAF .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI способствует экземпляру агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток пальца JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA3.
Вы можете указать следующее поведение при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве своего пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия, которое нужно присвоить веб-запросу, если информации TSL Client Hello недостаточно для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой AND. Вы предоставляете более одного Statement в AndStatement .
Statements -> (list)
Операторы, которые нужно объединить с логикой AND. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой OR. Вы предоставляете более одного Statement в OrStatement .
Statements -> (list)
Операторы, которые нужно объединить с логикой OR. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Нельзя вкладывать ManagedRuleGroupStatement , например для использования внутри NotStatement или OrStatement . Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня внутри правила, которое вы определяете в ACL веб-сайта.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Дополнительные сведения см. в разделе WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также места в полезных данных запроса на создание учетной записи для данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа вашего приложения и места в полезных данных запроса на вход для данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также места в полезных данных запроса на создание учетной записи для данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа вашего приложения и места в полезных данных запроса на вход для данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, см. раздел примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Сведения об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Дополнительные сведения об этом выборе см. в списке этих правил в таблице в разделе Список правил Bot Control в Руководстве разработчика WAF .
Default: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетных записей (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для списков управления доступом к веб-ресурсам, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функции.
Информацию об использовании управляемой группы правил ATP см. в разделе WAF Fraud Control предотвращение захвата учетных записей (ATP) rule group и WAF Fraud Control предотвращение захвата учетных записей (ATP) в Руководстве разработчика WAF .
LoginPath -> (string)
Путь конечной точки входа для вашего приложения. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login . Пути входа, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания показателей сбоев при входе.
Примечание
Проверка ответа доступна только в списках управления доступом к веб-ресурсам, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успешного и неудачного выполнения.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успешного и неудачного выполнения.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор для сопоставления со значением в JSON. Идентификатор должен точно соответствовать, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet. Используйте это, чтобы предоставить информацию о запросах на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это также для предоставления информации о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control, предотвращение мошенничества при создании учетной записи (ACFP) rule group и WAF Fraud Control, предотвращение мошенничества при создании учетной записи (ACFP) в WAF Developer Guide.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount, вы должны предоставить путь /web/newaccount. Пути страниц создания учетной записи, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая отображает форму регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration, вы должны предоставить путь /web/registration. Пути страниц регистрации, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего электронную почту вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Название поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве именно в том порядке, в котором они упорядочены в полезной нагрузке запроса.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля номера телефона.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве именно в том порядке, в котором они упорядочены в полезной нагрузке запроса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля адреса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форму, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно на попытки создания учетной записи клиентом, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от клиентских сеансов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным соответствием, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным соответствием, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете один override для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку override.Вы можете использовать override для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете один override для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку override.Вы можете использовать override для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку override.ActionToUse -> (structure)
Действие override для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Customizing web requests and responses in WAF в WAF Developer Guide .
ResponseCode -> (integer)
HTTP-код состояния, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Supported status codes for custom response в WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройке BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки, которые необходимо использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел WAF quotas в WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Customizing web requests and responses in WAF в WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел WAF quotas в WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Customizing web requests and responses in WAF в WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел WAF quotas в WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Customizing web requests and responses in WAF в WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел WAF quotas в WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Customizing web requests and responses in WAF в WAF Developer Guide .
InsertHeaders -> (list)
HTTP-заголовки, которые необходимо вставить в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел WAF quotas в WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, добавленными в веб-запрос правилами, которые уже были запущены в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или все полностью квалифицированное имя метки, которое было добавлено в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс определяет группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не укажете полностью квалифицированное имя в строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления метки.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то эта спецификация должна включать имя и может включать любое количество предшествующих спецификаций пространства имен и префикс до предоставления полностью квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда происходит метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентов веб-запроса одному регулярному выражению.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недействительного JSON. Когда разбор завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правил. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie в запросе больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если в запросе нет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если в запросе нет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить, как обрабатывать любое содержимое фрагмента URI с избыточным размером в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, которую он обнаруживает.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет поведение по умолчанию. Дополнительную информацию см. в разделе "Тело JSON" в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшей приоритетности, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в пределах NotStatement.
Statement -> (structure)
Оператор для отрицания. Можно использовать любой оператор, который может быть вложен.
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строк для WAF для применения к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, расположение в запросах, которые вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, которая соответствует символам ASCII. В консоли WAF и руководстве для разработчиков это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF ищет только в той части веб-запросов, которую вы указываете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch:
-
Method: HTTP-метод, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот вариант только с соответствием строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе "Поля журнала" в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения с кодировкой base64. Максимальная длина значения до кодирования base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER, а значение Data равно User-Agent. Если вы хотите искать в заголовке User-Agent значение BadBot, вы кодируете BadBot в base64 с использованием MIME base64-кодирования и включаете результирующее значение, QmFkQm90, в значение SearchString.
Значение, которое вы хотите, чтобы WAF искал. Пакет SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует утверждению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов по критериям проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (список)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Он требует найти совпадение в ключах или значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует утверждению правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлено ограничение в 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует утверждению правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки чрезмерных размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое файла cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки чрезмерных размеров следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки чрезмерных размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое фрагмента URI чрезмерного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.ПреобразованияТекста -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости, чтобы преобразовывать компоненты запроса перед использованием их в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что выполняются оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL, WAF выполняет сопоставление по ключам и значениям.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или и в том и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить область и фильтры сопоставления шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка большого размера в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Для этого требуется совпадение в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Вы должны настроить область и фильтры сопоставления шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файлов cookie большого размера в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Для этого требуется совпадение в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если у запроса нет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если у запроса нет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверка фрагментов URI запроса. Вы должны настроить область и фильтры сопоставления шаблонов в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Если синтаксический анализ выполнен успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента FieldToMatch запроса перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на предмет атак путем внедрения SQL-кода.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об идентификации и смягчении последствий ложных срабатываний см. в разделе Testing and tuning в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другую защиту от атак путем внедрения SQL-кода или которые имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Инструкция правила, которое проверяет атаки межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости в безобидном веб-сайте как средство для внедрения вредоносных клиентских сценариев в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Сведения о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Доступны следующие варианты обработки превышения размера:
-
CONTINUE— Проверять доступное содержимое тела обычно в соответствии с критериями проверки правила. -
MATCH— Считать, что веб-запрос соответствует инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считать, что веб-запрос не соответствует инструкции правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и web ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Сведения о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения с помощью синтаксиса указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется найти соответствие в ключах или в значениях, или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одного, которое проверяет ключи, и другого, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING— Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH— Считать, что веб-запрос соответствует инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считать, что веб-запрос не соответствует инструкции правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в web ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте ограничение CloudFront.
Доступны следующие варианты обработки превышения размера:
-
CONTINUE— Проверять доступное содержимое тела обычно в соответствии с критериями проверки правила. -
MATCH— Считать, что веб-запрос соответствует инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считать, что веб-запрос не соответствует инструкции правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действий правила и web ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка нестандартного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует обнаружения соответствия в ключах и в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie нестандартного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с использованием критериев проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует обнаружения соответствия в ключах и в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie как обычно, в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверка строки, содержащей список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что должен делать WAF, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, для которого имеется достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI нестандартного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с настройки с наименьшим приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет —> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, вы можете использовать оператор ограничения размера для поиска строк запросов, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для типа веб-ACL и защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера для блокировки запросов, размер тела которых больше. Дополнительную информацию об ограничениях проверки см. в настройках Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Part of the request to filter on (Часть запроса для фильтрации), косая черта (/) в URI считается одним символом. Например, URI /logo.jpg состоит из девяти символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке больших тел запросов см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке больших тел запросов см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадение в ключах и в значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING— проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое заголовка превышающего размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, подлежащих проверке в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое файлов cookie превышающее размер в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, подлежащих проверке в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только со строковым совпадениемByteMatchStatement с PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только со строковым совпадениемByteMatchStatement с PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое фрагмента URI превышающее размер в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью разобрать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, используемые злоумышленниками в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования FieldToMatch компонента запроса перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, используемые злоумышленниками в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило географического сопоставления помечает каждый проверяемый запрос независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило географического сопоставления с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил сопоставления меток для запуска после правила географического сопоставления и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя коды стран и регионов альфа-2 из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в географическом сопоставлении ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Geographic match rule statement в WAF Developer Guide .
CountryCodes -> (list)
Массив двухсимвольных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из альфа-2 кодов стран международного стандарта ISO 3166.
Когда вы используете оператор географического сопоставления только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и показатели подсчета для любых соответствий. Вы можете уменьшить ведение журнала и показатели, которые создает правило, указав страну, которая вряд ли станет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты резервного поведения:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как оператор верхнего уровня внутри правила, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, для которых действия установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые параметры действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые параметры действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Параметры действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Параметр действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Постарайтесь проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, который будет возвращен клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или параметре BlockAction действия web ACL по умолчанию, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP, которые будут использоваться в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит перед этим именем префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит перед этим именем префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит перед этим именем префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Указывает WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит перед этим именем префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Указывает WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP, которые необходимо вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он ставит перед этим именем префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция по правилу, используемая для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который определяет адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этой инструкции. Чтобы создать IP-набор, см. CreateIPSet.
Каждая инструкция по правилу IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. Когда вы обновляете указанный набор, WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (строка)
IPSetForwardedIPConfig -> (структура)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (строка)
Имя HTTP-заголовка для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (строка)
Состояние соответствия, которое нужно присвоить веб-запросу, если в запросе нет действительного IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывайте веб-запрос как соответствующий инструкции по правилу. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий инструкции по правилу.
Position -> (строка)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Варианты этого параметра следующие:
- FIRST - Проверьте первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверьте последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверьте все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (структура)
Оператор правила, используемый для поиска в компонентах веб-запроса соответствий регулярным выражениям. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet .
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете отфильтровать и проверить все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки размера с вашими настройками правила и действия веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих соответствий шаблонам в соответствии с критериями проверки правила.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполняет поиск соответствий по ключам и значениям.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки размера с вашими настройками правила и действия веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie в запросе больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только со строковым соответствиемByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только со строковым соответствиемByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает запросы, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в настоящее время правиле, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования, при этом значение из каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого из них. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости по отдельности.
При желании вы можете вложить другое выражение внутрь выражения на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только запросов, соответствующих вложенному выражению. Вы можете использовать это вложенное выражение сужения области действия вместе со спецификациями ключей агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению сужения области действия, без дополнительной агрегации. Когда вы решите просто управлять всеми запросами, соответствующими выражению сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого выражения, например, внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
For additional information about the options, see Rate limiting web requests using rate-based rules in the WAF Developer Guide .
Если вы агрегируете только по отдельному IP-адресу или переадресованному IP-адресу, вы можете получить список IP-адресов, скорость которых WAF в настоящее время ограничивает для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух веб-ACL, каждое из двух выражений правила представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление WAF.
Limit -> (long)
Лимит по запросам в течение указанного окна оценки для отдельного экземпляра агрегации для правила на основе скорости. Если выражение на основе скорости включает ScopeDownStatement , этот лимит применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит по запросам с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса "city", то это лимит по запросам для любой отдельной пары метод-город.
EvaluationWindowSec -> (long)
Промежуток времени в секундах, который WAF должен включить в свои подсчеты запросов, оглядываясь назад с текущего момента времени. Например, при значении 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему моменту времени. Допустимыми настройками являются 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а насколько далеко он смотрит назад каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Web запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте запросы, соответствующие выражению сужения области действия правила на основе скорости. С помощью этой опции подсчитанные запросы не подвергаются дальнейшей агрегации. Выражение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С помощью этой опции необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С помощью этой опции необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по переадресованному IP-адресу, не используйте пользовательские ключи. Вместо этого установите для типа ключа агрегирования значениеIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации переадресованного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не с использованием IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете переадресованный IP-адрес в настройках ключа агрегации правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Обрабатывайте веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывайте веб-запрос как не соответствующий выражению правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.Заголовок -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке способствует появлению экземпляра агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
ПреобразованияТекста -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie способствует появлению экземпляра агрегирования. Если вы используете одно cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
ПреобразованияТекста -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
QueryArgument -> (структура)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение именованного аргумента запроса способствует появлению экземпляра агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (строка)
ПреобразованияТекста -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
QueryString -> (структура)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка способствует появлению экземпляра агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
ПреобразованияТекста -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
HTTPMethod -> (структура)
ForwardedIP -> (структура)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный переадресованный IP-адрес способствует появлению экземпляра агрегирования.
При указании IP-адреса или переадресованного IP-адреса в параметрах пользовательского ключа необходимо также указать хотя бы один другой ключ для использования. Можно выполнить агрегирование только по переадресованному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего оператора на основе скорости.
С этим параметром необходимо указать заголовок, который будет использоваться в правиле на основе скорости, в свойстве ForwardedIPConfig.
IP -> (структура)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес способствует появлению экземпляра агрегирования.
При указании IP-адреса или переадресованного IP-адреса в параметрах пользовательского ключа необходимо также указать хотя бы один другой ключ для использования. Можно выполнить агрегирование только по IP-адресу, указав IP в AggregateKeyType вашего оператора на основе скорости.
LabelNamespace -> (структура)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, способствует появлению экземпляра агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, оцениваемыми до этого правила на основе скорости в веб-ACL.
Сведения о пространствах имен и именах меток см. в разделе Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (строка)
UriPath -> (структура)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI способствует появлению экземпляра агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
ПреобразованияТекста -> (список)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с параметра наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (целое число)
Тип -> (строка)
JA3Fingerprint -> (структура)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (строка)
Статус соответствия для назначения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве своего пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой AND. Вы предоставляете более одного Statement в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой OR. Вы предоставляете более одного Statement в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в рамках NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вложить ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил по предотвращению мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил по предотвращению захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход таких данных, как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил по предотвращению мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил по предотвращению захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход таких данных, как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Список правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet. Используйте это, чтобы предоставить информацию о запросах на вход в группу правил. Для списков управления доступом к сети, которые защищают дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы входа.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Чтобы получить информацию об использовании управляемой группы правил ATP, см. WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в WAF Developer Guide .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL-адреса https://example.com/web/login вам нужно предоставить путь /web/login. Пути входа, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login, /web/login/, /web/loginPage и /web/login/thisPage, но не соответствует пути входа /home/web/login или /website/login.
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных формой, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя выглядит какusername1
Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных формой, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных формой, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных формой, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля выглядит какpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы входа, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках управления доступом к сети, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить группе правил информацию о запросах на создание учетной записи. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. группу правил предотвращения мошенничества при создании учетной записи (ACFP) WAF Fraud Control и предотвращение мошенничества при создании учетной записи (ACFP) WAF Fraud Control в Руководстве разработчика WAF .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount, вы предоставите путь /web/newaccount . Пути к страницам создания учетных записей, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая отображает форму регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration, вы предоставите путь /web/registration . Пути к страницам регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя:/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя:username1
Identifier -> (string)
Название поля имени пользователя.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя:/form/username. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя:username1
PasswordField -> (structure)
Название поля в полезных данных запроса, содержащего пароль вашего клиента.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля:/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля:password1.
Identifier -> (string)
Название поля пароля.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля:/form/password. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля:password1.
EmailField -> (structure)
Название поля в полезных данных запроса, содержащего адрес электронной почты вашего клиента.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты:/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты:email1.
Identifier -> (string)
Название поля электронной почты.
Способ указания зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты:/form/email. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1спецификация поля электронной почты:email1.
PhoneNumberFields -> (list)
Названия полей в полезных данных запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве в точном порядке, в котором они упорядочены в полезных данных запроса.
Способ указания полей номера телефона зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезных данных запроса, которое содержит часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля номера телефона.
Способ указания полей номера телефона зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона:/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона:primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезных данных запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве в точном порядке, в котором они упорядочены в полезных данных запроса.
Способ указания полей адреса зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезных данных запроса, которое содержит часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного основного поля адреса.
Способ указания полей адреса зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. Сведения о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса:/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса:primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в web ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно в попытки создания учетной записи клиента, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сессии клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сессий клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным соответствием, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешной, строка может быть в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным соответствием, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Параметры действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(структура)
Параметр действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Имя -> (строка)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (структура)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (структура)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (структура)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (целое число)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF .
CustomResponseBodyKey -> (строка)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (список)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Allow -> (структура)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Count -> (структура)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса с использованием оставшихся правил в веб-ACL.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Captcha -> (структура)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
Challenge -> (структура)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (структура)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (список)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
LabelMatchStatement -> (структура)
Инструкция правила для сопоставления с метками, добавленными в веб-запрос правилами, которые уже были запущены в веб-ACL.
Инструкция сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью квалифицированную имя метки, которая была добавлена в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, добавившего метку. Если вы не предоставите полное квалифицированное имя в своей строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и инструкция сопоставления меток.
Scope -> (строка)
Key -> (строка)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс вплоть до предоставления полностью квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то это указание может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен меток из группы правил или веб-ACL, откуда исходит метка.
Метки чувствительны к регистру, и компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (структура)
Оператор правила, используемый для поиска соответствия компонентам веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерного размера с настройками вашего правила и действия веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадение в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерного размера с настройками вашего правила и действия веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Вы должны настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в Руководство разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в Руководство разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого фрагментов URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководство разработчика WAF.TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupStatement -> (structure)
A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups .
You cannot nest a ManagedRuleGroupStatement , for example for use inside a NotStatement or OrStatement . You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.
Note
You are charged additional fees when you use the WAF Bot Control managed rule groupAWSManagedRulesBotControlRuleSet , the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet , or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet . For more information, see WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Rules in the referenced rule group whose actions are set to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .(structure)
Specifies a single rule in a rule group whose action you want to override to Count .
Note
Instead of this option, useRuleActionOverrides . It accepts any valid action setting, including Count .Name -> (string)
Count .ScopeDownStatement -> (structure)
An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
ByteMatchStatement -> (structure)
A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.
SearchString -> (blob)
A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch . The maximum length of the value is 200 bytes.
Valid values depend on the component that you specify for inspection in FieldToMatch :
-
Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request. -
UriPath: The value that you want WAF to search for in the URI path, for example,/images/daily-ad.jpg. -
JA3Fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request’s JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client’s TLS configuration. You can use this choice only with a string matchByteMatchStatementwith thePositionalConstraintset toEXACTLY. You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide . -
HeaderOrder: The list of header names to match for. WAF creates a string that contains the ordered list of header names, from the headers in the web request, and then matches against that string.
If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes.
For example, suppose the value of Type is HEADER and the value of Data is User-Agent . If you want to search the User-Agent header for the value BadBot , you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90 , in the value of SearchString .
The value that you want WAF to search for. The SDK automatically base64 encodes the value.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может быть длиной до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Необходимо указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (строка)
Части JSON для сопоставления с использованием MatchPattern. Если указать ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Возможные варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить область видимости и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого заголовка с превышением размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса многочисленнее или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверка файлов cookie запроса. Необходимо настроить область видимости и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого файлов cookie с превышением размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с использованием критериев проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса многочисленнее или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса многочисленнее или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint установлено в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в разделе WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint установлено в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в разделе WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить область видимости и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого фрагмента URI с превышением размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в разделе WAF Developer Guide.TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с настройки самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
PositionalConstraint -> (string)
Область в той части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString. Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, и SearchString должен содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что верны оба следующих утверждения:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция по правилу, которое ищет вредоносный код SQL. Злоумышленники внедряют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковая имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если он не может полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел "Тело JSON" в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос не соответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders или ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie большого размера в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies или ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie всего. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков всего. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста - > (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Приоритет -> (integer)
Тип -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки на атаки типа SQL-инъекций.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об определении и смягчении ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF .
LOW, как правило, лучший выбор для ресурсов, которые уже имеют другие средства защиты от атак типа SQL-инъекций или имеют низкую толерантность к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Оператор правила, который выполняет проверку на атаки межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости на безобидном веб-сайте для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов нестандартного размера, см. конфигурацию объекта Body .
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки нестандартного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки нестандартного размера с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов нестандартного размера, см. конфигурацию объекта JsonBody .
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Необходимо указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (список)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Рабочей группы Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Необходимо указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки нестандартного размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки нестандартного размера с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка нестандартного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Требуется соответствие в ключах или значениях, или в обоих. Чтобы требовать соответствие в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и соответствия шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie нестандартного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Требуется соответствие в ключах или значениях, или в обоих. Чтобы требовать соответствие в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для соответствия компоненту при его проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с установленным PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкиByteMatchStatement с установленным PositionalConstraint в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI нестандартного размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Преобразования текста —> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например «больше чем» (>) или «меньше чем» (<). Например, вы можете использовать оператор ограничения размера для поиска строк запросов, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до лимита для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы заблокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg состоит из девяти символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может иметь длину до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать соответствия ключам и значениям, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки обычным образом в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(string)
MatchScope -> (string)
Части файлов cookie, которые необходимо проверить с помощью критериев проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie обычным образом в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки обычным образом в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при возврате к значениям по умолчанию:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при возврате к значениям по умолчанию:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (structure)
Проверить фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Если этот параметр не указан, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при возврате к значениям по умолчанию. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило гео-соответствия помечает каждый проверяемый запрос независимо от того, находит ли оно совпадение.
- Для управления запросами только по стране вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило гео-соответствия с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам для запуска после правила гео-соответствия и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя коды стран и регионов alpha-2 из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в исходнике веб-запроса, либо, если вы его укажете, адрес в гео-соответствии ForwardedIPConfig .
Если вы используете исходник веб-запроса, форматы меток — awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток — awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Оператор правила географического соответствия в Руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухсимвольных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из кодов ISO стран alpha-2 международного стандарта ISO 3166.
Когда вы используете оператор гео-соответствия только для меток региона и страны, которые он добавляет к запросам, вам все равно придется предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета совпадающих запросов, но оно по-прежнему будет генерировать журналы и показатели подсчета для любых совпадений. Вы можете уменьшить объем ведения журнала и показатели, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, о котором сообщает исходник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH— обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— обрабатывать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Инструкция по правилу, используемая для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем укажите ARN группы правил в этой инструкции.
Нельзя вкладывать RuleGroupReferenceStatement , например для использования внутри NotStatement или OrStatement . Нельзя использовать инструкцию ссылки на группу правил внутри другой группы правил. Можно ссылаться на группу правил только как на инструкцию верхнего уровня в правиле, которое вы определяете в ACL веб-сайта.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Параметры действия, используемые вместо действий правила, которые настроены внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Параметр действия, используемый вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или параметре действия по умолчанию веб-ACL BlockAction вы ссылаетесь на текст ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя остальные правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что маркер запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что маркер запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция правила, используемая для обнаружения веб-запросов, поступающих с конкретных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, а затем используйте ARN этого набора в этой инструкции. Чтобы создать набор IP, см. CreateIPSet.
Каждая инструкция правила IPset ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении указанного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, который следует использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значением заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные — прокси-серверы, через которые прошел запрос.
Параметры для этой настройки следующие:
- FIRST — Проверьте первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST — Проверьте последний IP-адрес в списке IP-адресов в заголовке.
- ANY — Проверьте все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска в компонентах веб-запроса соответствий регулярным выражениям. Чтобы использовать это, создайте RegexPatternSet, который определяет выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении указанного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить в WAF.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке больших тел запросов см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке больших тел запросов см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON, с которыми необходимо сопоставить с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логический оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING— проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычная проверка доступного содержимого тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки больших размеров MATCH или NO_MATCH с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка нестандартного размера в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые нужно сопоставить с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie нестандартного размера в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки нестандартных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement , а для параметра PositionalConstraint установлено значение EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement , а для параметра PositionalConstraint установлено значение EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области видимости и шаблону в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI нестандартного размера в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают слишком быстро. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих параметров в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия ограничения скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования, причем значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого из них. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: счетчик 3
- IP-адрес 127.0.0.0: счетчик 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: счетчик 2
- Метод HTTP GET: счетчик 2
- Если критериями агрегирования являются IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут участвовать в объединенном экземпляре агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: счетчик 1
- IP-адрес 10.1.1.1, метод HTTP GET: счетчик 2
- IP-адрес 127.0.0.0, метод HTTP POST: счетчик 1
Для любой n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости индивидуально.
При желании вы можете вложить другой оператор внутрь оператора на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному оператору. Вы можете использовать этот вложенный оператор сужения области действия в сочетании со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, которые соответствуют оператору сужения области действия, без дополнительного агрегирования. Когда вы выбираете только управление всеми запросами, соответствующими оператору сужения области действия, экземпляр агрегирования является единственным для правила.
Нельзя вкладывать RateBasedStatement внутри другого оператора, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации об опциях см. Rate limiting web requests using rate-based rules in the WAF Developer Guide .
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, для которых WAF в данный момент ограничивает скорость правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же параметры правила на основе скорости в двух веб-ACL, каждый из двух операторов правила представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Лимит запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если оператор на основе скорости включает в себя ScopeDownStatement , этот лимит применяется только к запросам, которые соответствуют оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой одной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включить в свои подсчеты запросов, оглядываясь назад от текущего времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а как далеко он оглядывается назад каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Параметр, указывающий, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правил на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте запросы, которые соответствуют оператору сужения области действия правила на основе скорости. С помощью этой опции подсчитываемые запросы не агрегируются далее. Оператор сужения области действия — единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих оператору сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим оператору сужения области действия. С помощью этой опции необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С помощью этой опции необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите для типа ключа агрегирования значениеIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы выполнить агрегирование по комбинации перенаправленного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу с источника веб-запроса. Чтобы выполнить агрегирование по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это требуется, если вы укажете перенаправленный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Задает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Задает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в HTTP-заголовке в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в параметрах пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по перенаправленному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего правила на основе скорости.
С этим параметром необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или перенаправленный IP-адрес в параметрах пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего правила на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются до этого правила на основе скорости в веб-ACL.
Сведения о пространствах имен и именах меток см. в разделе Синтаксис и требования к именованию меток в Руководстве разработчика WAF .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток пальца JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA4 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой И. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой И. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой ИЛИ. Вы предоставляете более одного оператора в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой ИЛИ. Вы можете использовать любые операторы, которые можно вкладывать.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
( … recursive … )
( … recursive … )LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены в веб-запрос правилами, которые уже выполнялись в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью определенную строку имени метки, которая была добавлена в веб-запрос. Полностью определенные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полностью определенное имя в своей строке сопоставления меток, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления меток.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Параметр, который вы предоставляете для этого, зависит от параметра Scope оператора сопоставления:
- Если
ScopeуказываетLABEL, то это спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс вплоть до предоставления полностью определенного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда происходит метка.
Метки чувствительны к регистру, и компоненты метки должны разделяться двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правил, используемый для поиска соответствия компонентов веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверка тела запроса в виде обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным способом в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки большого размера с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса в виде JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. С информацией об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным способом в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки большого размера с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки обычным образом в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie обычным образом в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки обычным образом в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment , чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupConfigs -> (list)
Additional information that’s used by a managed rule group. Many managed rule groups don’t require this.
The rule groups used for intelligent threat mitigation require additional configuration:
- Use the
AWSManagedRulesACFPRuleSetconfiguration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the
AWSManagedRulesATPRuleSetconfiguration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the
AWSManagedRulesBotControlRuleSetconfiguration object to configure the protection level that you want the Bot Control rule group to use.
(structure)
Additional information that’s used by a managed rule group. Many managed rule groups don’t require this.
The rule groups used for intelligent threat mitigation require additional configuration:
- Use the
AWSManagedRulesACFPRuleSetconfiguration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the
AWSManagedRulesATPRuleSetconfiguration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the
AWSManagedRulesBotControlRuleSetconfiguration object to configure the protection level that you want the Bot Control rule group to use.
For example specifications, see the examples section of CreateWebACL .
LoginPath -> (string)
Note
Instead of this setting, provide your configuration underAWSManagedRulesATPRuleSet .PayloadType -> (string)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .Identifier -> (string)
The name of the username field.
How you specify this depends on the request inspection payload type.
- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . For example, for the JSON payload
{ "form": { "username": "THE_USERNAME" } }, the username field specification is/form/username. - For form encoded payload types, use the HTML form names. For example, for an HTML form with the input element named
username1, the username field specification isusername1
PasswordField -> (structure)
Note
Instead of this setting, provide your configuration under the request inspection configuration forAWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet .Identifier -> (string)
The name of the password field.
How you specify this depends on the request inspection payload type.
- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . For example, for the JSON payload
{ "form": { "password": "THE_PASSWORD" } }, the password field specification is/form/password. - For form encoded payload types, use the HTML form names. For example, for an HTML form with the input element named
password1, the password field specification ispassword1.
AWSManagedRulesBotControlRuleSet -> (structure)
Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see WAF Bot Control rule group and WAF Bot Control in the WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Applies only to the targeted inspection level.
Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules TGT_ML_CoordinatedActivityLow and TGT_ML_CoordinatedActivityMedium , which inspect for anomalous behavior that might indicate distributed, coordinated bot activity.
For more information about this choice, see the listing for these rules in the table at Bot Control rules listing in the WAF Developer Guide .
Default: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе входа в систему для группы правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы входа в систему.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Для получения информации об использовании управляемой группы правил ATP см. группу правил защиты от мошенничества WAF Fraud Control (ATP) и защиту от захвата учетной записи WAF Fraud Control (ATP) в Руководстве разработчика WAF .
LoginPath -> (string)
Путь конечной точки входа в систему для вашего приложения. Например, для URL https://example.com/web/login , вы предоставите путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов входа в систему, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
То, как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON-указателя. Для получения информации о синтаксисе JSON-указателя см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы входа в систему, используемые группой правил ATP для отслеживания показателей сбоев входа в систему.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно в попытки входа клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от клиентских сеансов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным соответствием, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди успешных и неудачных строк.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди успешных и неудачных строк.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным соответствием, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в WAF Developer Guide .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы предоставите путь /web/newaccount . Пути к страницам создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая отображает форму регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы предоставите путь /web/registration . Пути к страницам регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Название поля имени пользователя.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Название поля в полезных данных запроса, содержащего пароль вашего клиента.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Название поля пароля.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Название поля в полезных данных запроса, содержащего адрес электронной почты вашего клиента.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Название поля электронной почты.
Как указать это, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Названия полей в полезных данных запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве в точном порядке, в котором они расположены в полезных данных запроса.
Как указать поля номера телефона, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
(structure)
Название поля в полезных данных запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Название одного основного поля номера телефона.
Как указать поля номера телефона, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезных данных запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве в точном порядке, в котором они расположены в полезных данных запроса.
Как указать поля адреса, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
(structure)
Название поля в полезных данных запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Название одного основного поля адреса.
Как указать поля адреса, зависит от типа полезных данных для проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе JSON pointer. Сведения о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетных записей, используемые группой правил ACFP для отслеживания показателей успешности создания учетных записей.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетных записей клиентами, ведя учет успешных и неудачных попыток с каждого IP-адреса и клиентской сессии. Используя эту информацию, группа правил маркирует и смягчает запросы от клиентских сессий и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Имя -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии по умолчанию веб-ACL BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
LabelMatchStatement -> (structure)
Инструкция правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Инструкция соответствия меткам предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю квалифицированную имя метки, которая была добавлена в веб-запрос. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс определяет группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное квалифицированное имя в строке соответствия меткам, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и инструкция соответствия меткам.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope инструкции соответствия:
- Если
ScopeуказываетLABEL, то это уточнение должно включать имя и может включать любое количество предыдущих уточнений пространства имен и префикс до предоставления полного квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то это уточнение может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, и компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентам веб-запроса с помощью одного регулярного выражения.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки превышения размера MATCH или NO_MATCH с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, размер которых превышает допустимый, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не укажете этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры обработки превышения размера MATCH или NO_MATCH с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, соответствующие критериям проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих случаях. Чтобы потребовать совпадения в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файла cookie большого размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie, соответствующие критериям проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих случаях. Чтобы потребовать совпадения в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки большого размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement, для которого PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement, для которого PositionalConstraint установлено значение EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо назначить веб-запросу, если у запроса нет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupConfigs -> (list)
Дополнительная информация, которая используется управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетных записей. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезных данных запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетных записей. Конфигурация включает страницу входа в ваше приложение и местоположения в полезных данных запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать в группе правил управления ботами.
(structure)
Дополнительная информация, которая используется управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетных записей. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезных данных запроса на создание учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетных записей. Конфигурация включает страницу входа в ваше приложение и местоположения в полезных данных запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать в группе правил управления ботами.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит следующим образом:/form/username. - Для типов полезных данных с кодировкой формы используйте имена форм HTML. Например, для формы HTML с элементом input с именем
username1спецификация поля имени пользователя выглядит следующим образом:username1
PasswordField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит следующим образом:/form/password. - Для типов полезных данных с кодировкой формы используйте имена форм HTML. Например, для формы HTML с элементом input с именем
password1спецификация поля пароля выглядит следующим образом:password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе WAF Bot Control rule group и WAF Bot Control в WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Bot Control rules listing в WAF Developer Guide .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетных записей (ATP), AWSManagedRulesATPRuleSet. Используйте это, чтобы предоставить информацию о запросах на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в Руководстве разработчика WAF.
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL https://example.com/web/login вы предоставите путь /web/login. Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login, /web/login/, /web/loginPage и /web/login/thisPage, но не соответствует пути входа /home/web/login или /website/login.
Группа правил проверяет только HTTP POST запросы к указанной конечной точке входа.
RequestInspection -> (structure)
Критерии для проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON Pointer. Информацию о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON Pointer. Информацию о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON Pointer. Информацию о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе JSON Pointer. Информацию о синтаксисе JSON Pointer см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON-ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON-ответа.
Identifier -> (string)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) rule group и WAF Fraud Control предотвращение мошенничества при создании учетной записи (ACFP) в WAF Developer Guide .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница вашего веб-сайта, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути страниц создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница вашего веб-сайта, которая представляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути страниц регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификацией поля имени пользователя являетсяusername1
Identifier -> (string)
Название поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификацией поля имени пользователя являетсяusername1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификацией поля пароля является/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификацией поля пароля являетсяpassword1.
Identifier -> (string)
Название поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификацией поля пароля является/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификацией поля пароля являетсяpassword1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего электронную почту вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификацией поля электронной почты является/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификацией поля электронной почты являетсяemail1.
Identifier -> (string)
Название поля электронной почты.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификацией поля электронной почты является/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификацией поля электронной почты являетсяemail1.
PhoneNumberFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Как указать поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторами полей номера телефона являются/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторами полей номера телефона являютсяprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного номера телефона.
Как указать поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторами полей номера телефона являются/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторами полей номера телефона являютсяprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Как указать поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторами полей адреса являются/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторами полей адреса являютсяprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного адреса.
Как указать поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторами полей адреса являются/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторами полей адреса являютсяprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на создание учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентом, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и клиентской сессии. Используя эту информацию, группа правил помечает и смягчает запросы из клиентских сессий и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешной, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одну переопределяющую настройку для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил до Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ, которым группа правил управляет вашим веб-трафиком.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одну переопределяющую настройку для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил до Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ, которым группа правил управляет вашим веб-трафиком.
Имя -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (structure)
Переопределяющее действие для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии по умолчанию веб-ACL в настройке BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
RuleGroupReferenceStatement -> (structure)
Заявление, используемое Firewall Manager для запуска правил, определенных в группе правил. Это управляется Firewall Manager для политики Firewall Manager WAF.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Параметры действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группы правил.
(structure)
Параметр действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группы правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
HTTP-код состояния, который нужно вернуть клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или параметре BlockAction действия по умолчанию веб-ACL, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков запрещено.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
OverrideAction -> (structure)
Действие, которое следует использовать вместо действия, которое получается в результате оценки группы правил. Установите переопределяющее действие в none, чтобы оставить результат группы правил без изменений. Установите значение count, чтобы переопределить результат только для подсчета.
Вы можете использовать это только для операторов правил, которые ссылаются на группу правил, например RuleGroupReferenceStatement и ManagedRuleGroupStatement .
Примечание
Этот параметр обычно устанавливается в none. Он не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это, а вместо этого используйте параметр переопределения действия правила с действиемCount в параметрах оператора ссылки на группу правил.Count -> (структура)
Переопределите результат оценки группы правил только для подсчета.
Примечание
Этот параметр обычно устанавливается в none. Он не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это, а вместо этого используйте параметр переопределения действия правила с действиемCount в параметрах оператора ссылки на группу правил.CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (список)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
None -> (структура)
VisibilityConfig -> (структура)
Определяет и включает метрики Amazon CloudWatch и сбор образцов веб-запросов.
SampledRequestsEnabled -> (boolean)
Указывает, должен ли WAF хранить выборку веб-запросов, соответствующих правилам. Вы можете просматривать выборочные запросы через консоль WAF.
Если вы настраиваете защиту данных для веб-ACL, защита применяется к данным выборочных веб-запросов веб-ACL.
Примечание
Выборка запросов не предоставляет опцию редактирования полей, и любое редактирование полей, которое вы указываете в конфигурации ведения журнала, не влияет на выборку. Вы можете исключить поля из выборки запросов, отключив выборку в конфигурации видимости веб-ACL или настроив защиту данных для веб-ACL.CloudWatchMetricsEnabled -> (boolean)
Указывает, отправляет ли связанный ресурс метрики в Amazon CloudWatch. Список доступных метрик см. в разделе Метрики WAF в Руководстве разработчика WAF.
Для веб-ACL метрики предназначены для веб-запросов, к которым применено действие по умолчанию веб-ACL. WAF применяет действие по умолчанию к веб-запросам, которые проходят проверку всех правил в веб-ACL, не будучи разрешены или заблокированы. Дополнительную информацию см. в разделе Действие по умолчанию веб-ACL в Руководстве разработчика WAF.
MetricName -> (string)
All и Default_Action .PostProcessFirewallManagerRuleGroups -> (список)
Последний набор правил, которые WAF должен обработать в веб-ACL. Это определено в политике Firewall Manager WAF и содержит только ссылки на группы правил. Вы не можете изменить их. Любые правила и группы правил, которые вы определяете для веб-ACL, имеют приоритет перед ними.
В политике Firewall Manager WAF администратор Firewall Manager может определить набор групп правил для запуска первыми в веб-ACL и набор групп правил для запуска последними. В каждом наборе администратор определяет приоритет групп правил, чтобы определить их относительный порядок обработки.
(структура)
Группа правил, определенная для политики Firewall Manager WAF.
Name -> (string)
Priority -> (integer)
FirewallManagerStatement -> (структура)
Руководство по обработке для правила Firewall Manager. Это как обычный оператор Rule, но он может содержать только ссылку на группу правил.
ManagedRuleGroupStatement -> (структура)
Оператор, используемый Firewall Manager для запуска правил, определенных в управляемой группе правил. Это управляется Firewall Manager для политики Firewall Manager WAF.
VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (список)
Правила в ссылающейся группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(структура)
Указывает одно правило в группе правил, действие которого вы хотите переопределить для Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .ScopeDownStatement -> (структура)
Необязательный вложенный оператор, который сужает область веб-запросов, оцениваемых управляемой группой правил. Запросы оцениваются только группой правил, если они соответствуют оператору уменьшения области. Вы можете использовать любой вкладываемый оператор в операторе уменьшения области, и вы можете вкладывать операторы на любом уровне, как и для оператора правила.
ByteMatchStatement -> (структура)
Оператор правила, который определяет поиск соответствия строк для WAF для применения к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, которые вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и в руководстве разработчика это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только со строковым соответствиемByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. Раздел Поля журналов в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков из заголовков в веб-запросе, а затем выполняет сопоставление с этой строкой.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в base64. Максимальная длина значения до его кодирования base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent со значением BadBot , вы кодируете BadBot с помощью кодирования MIME base64 и включаете полученное значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. Пакет SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Необходимо указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Рабочей группы Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и соответствие найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области видимости и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления поля при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (структура)
Inspect fragments of the request URI. You must configure scope and pattern matching filters in the UriFragment object, to define the fragment of a URI that WAF inspects.
Only the first 8 KB (8192 bytes) of a request’s URI fragments and only the first 200 URI fragments are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the UriFragment object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. -
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
If you don’t provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.
Example JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Note
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости, для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра с наименьшим приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область внутри части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , и SearchString должны содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих условия верны:
-
SearchStringis at the beginning of the specified part of the web request or is preceded by a character other than an alphanumeric character or underscore (_). Examples include the value of a header and;BadBot. -
SearchStringis at the end of the specified part of the web request or is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;and-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
The value of SearchString must appear at the beginning of the specified part of the web request.
The value of SearchString must appear at the end of the specified part of the web request.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы выполнять такие действия, как изменение базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody .
Необходимо указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . С информацией об этом синтаксисе можно ознакомиться в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND , чтобы объединить два правила сопоставления: одно для проверки ключей и другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— Проверить тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно одну настройку: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в каком они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления для назначения веб-запросу, если в запросе нет отпечатка JA3.
Можно указать следующие резервные режимы поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус сопоставления для назначения веб-запросу, если в запросе нет отпечатка JA4.
Можно указать следующие резервные режимы поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным контентом, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки атак типа SQL injection.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об идентификации и смягчении ложных срабатываний см. в разделе Testing and tuning в WAF Developer Guide .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак SQL injection или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак типа межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковая имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует нахождения соответствия в ключах и соответствия в значениях. Для этого требуется найти соответствие в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND , чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки переразмеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные файлы cookie как обычно, в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— проверять доступные заголовки как обычно, в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш-код, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия для присвоения веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш-код, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия для присвоения веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области действия и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI сверхразмерного содержимого в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле запроса до предела для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки, см. Body и JsonBody параметры для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадение в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован и составляет 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, либо IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого файла cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, либо IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот параметр только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который следует присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки основным хост-сервисом. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от основного хост-сервиса.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Заявление правила, которое помечает веб-запросы по стране и региону и соответствует веб-запросам на основе кода страны. Правило сопоставления по геолокации помечает каждый проверяемый запрос, независимо от того, находит ли оно соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать это утверждение само по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило сопоставления по геолокации с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил сопоставления меток для запуска после правила сопоставления по геолокации и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы укажете его, адрес в сопоставлении геолокации ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете перенаправленный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе «Заявление правила сопоставления по географическому положению» в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ], из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
Когда вы используете заявление сопоставления по геолокации только для меток региона и страны, которые оно добавляет к запросам, вам все равно необходимо предоставить код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно все равно будет генерировать журналы и показатели подсчета для любых совпадений. Вы можете уменьшить ведение журналов и показатели, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем укажите ARN группы правил в этом операторе.
Вы не можете вкладывать RuleGroupReferenceStatement, например, для использования внутри NotStatement или OrStatement. Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, действия которых установлены в Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любой допустимый параметр действия, включая Count.(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любой допустимый параметр действия, включая Count.Name -> (string)
Count.RuleActionOverrides -> (list)
Настройки действий, которые необходимо использовать вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия, используемая вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать полученные показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения, которое будет использоваться вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP, который нужно вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP, которые нужно использовать в ответе. Вы можете указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP, которые нужно вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP, которые нужно вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP, которые нужно вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP, которые нужно вставить в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
IPSetReferenceStatement -> (structure)
Заявление о правиле, используемое для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом заявлении. Чтобы создать набор IP, см. CreateIPSet.
Каждое заявление о правиле набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению о правиле. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению о правиле.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры этого параметра следующие:
- FIRST - Проверять первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверять последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверять соответствие всем IP-адресам в заголовке. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий веб-компонентов запроса с регулярными выражениями. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов регулярных выражений, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов регулярных выражений ссылается на набор шаблонов регулярных выражений. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении набора, на который есть ссылка, WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую WAF должен проверить.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в разделе конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в разделе конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации рабочей группы Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL, WAF будет сопоставляться с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логический оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадение в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадение в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки размера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с соответствием строкиByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с соответствием строкиByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает запросы, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или HTTP-метод. Вы также можете указать комбинации ключей агрегирования, например, IP-адрес и HTTP-метод или HTTP-метод, аргумент запроса и cookie-файл.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и HTTP-метода:
- IP-адрес 10.1.1.1, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
- IP-адрес 127.0.0.0, HTTP-метод POST
- IP-адрес 10.1.1.1, HTTP-метод GET
Правило будет создавать разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: счетчик 3
- IP-адрес 127.0.0.0: счетчик 1
- Если критерием агрегирования является HTTP-метод, то каждый отдельный HTTP-метод является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- HTTP-метод POST: счетчик 2
- HTTP-метод GET: счетчик 2
- Если критериями агрегирования являются IP-адрес и HTTP-метод, то каждый IP-адрес и каждый HTTP-метод будут вносить вклад в комбинированный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, HTTP-метод POST: счетчик 1
- IP-адрес 10.1.1.1, HTTP-метод GET: счетчик 2
- IP-адрес 127.0.0.0, HTTP-метод POST: счетчик 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости отдельно.
При необходимости вы можете вложить другое утверждение внутри оператора на основе скорости, чтобы сузить область действия правила, чтобы оно учитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному утверждению. Вы можете использовать это вложенное утверждение сужения области действия в сочетании со спецификациями ключа агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, соответствующих утверждению сужения области действия, без дополнительного агрегирования. Когда вы выбираете только управление всеми запросами, которые соответствуют утверждению сужения области действия, экземпляр агрегирования является единственным для правила.
Нельзя вкладывать RateBasedStatement внутри другого утверждения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации о параметрах см. раздел Ограничение скорости веб-запросов с помощью правил на основе скорости в Руководстве разработчика WAF .
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, скорость которых WAF в настоящее время ограничивает для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Этот параметр недоступен для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставляете одни и те же настройки правила на основе скорости в двух веб-ACL, каждое из двух утверждений правил представляет собой отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление WAF.
Limit -> (long)
Ограничение на запросы в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если оператор на основе скорости включает в себя ScopeDownStatement , это ограничение применяется только к запросам, соответствующим оператору.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по HTTP-методу и имени аргумента запроса «city», то это ограничение на запросы для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад от текущего времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а определяет, как далеко назад он смотрит при каждой проверке. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо из компонентов, указанных в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывать и ограничивать скорость запросов, соответствующих утверждению сужения области действия правила на основе скорости. С этим параметром подсчитанные запросы не агрегируются дальше. Утверждение сужения области действия — это единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих утверждению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим утверждению сужения области действия. С этим параметром необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим параметром необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования в значениеIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегировать количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации перенаправленного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегировать количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
ScopeDownStatement -> (structure)
Дополнительный вложенный оператор, который сужает область веб-запросов, которые оцениваются и управляются оператором на основе скорости. При использовании оператора сужения области действия правило на основе скорости отслеживает и ограничивает скорость только запросов, соответствующих оператору сужения области действия. Вы можете использовать любое вложенное утверждение в утверждении сужения области действия, и вы можете вкладывать утверждения на любом уровне, так же, как и для утверждения правила.
ByteMatchStatement -> (structure)
Утверждение правила, которое определяет поиск соответствия строк для WAF, который будет применяться к веб-запросам. Утверждение соответствия байтов предоставляет байты для поиска, местоположение в запросах, которые вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и в руководстве разработчика это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы указываете для проверки в FieldToMatch. Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: HTTP-метод, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе Поля журнала в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет эту строку.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение учитывает регистр.
Укажите версию значения, закодированную в формате base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER , а значение Data равно User-Agent . Если вы хотите найти User-Agent заголовок для значения BadBot , вы кодируете BadBot с помощью MIME base64-кодирования и включаете полученное значение, QmFkQm90 , в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверка тела запроса как обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в разделе конфигурации объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Нормальная проверка доступного содержимого тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов, превышающие размер, см. в разделе конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide.OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Нормальная проверка доступного содержимого тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия в ключах и соответствия в значениях. Требуется соответствие в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия в ключах и соответствия в значениях. Требуется соответствие в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для соответствия в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например, host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора соответствия строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора соответствия строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Example JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самого низкого параметра приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, которую вы хотите, чтобы WAF искал SearchString. Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что оба следующих утверждения верны:
-
SearchStringнаходится в начале указанной части веб-запроса или предшествует символу, отличному от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или следует за символом, отличным от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция правила, которое проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие варианты обработки больших размеров:
-
CONTINUE— обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие варианты обработки больших размеров:
-
CONTINUE— обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка большого размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie большого размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным значением PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие режимы работы с резервом:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным значением PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие режимы работы с резервом:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Inspect fragments of the request URI. You must configure scope and pattern matching filters in the UriFragment object, to define the fragment of a URI that WAF inspects.
Only the first 8 KB (8192 bytes) of a request’s URI fragments and only the first 200 URI fragments are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the UriFragment object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
FallbackBehavior -> (string)
What WAF should do if it fails to completely parse the JSON body. The options are the following:
-
EVALUATE_AS_STRING- Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. -
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
If you don’t provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.
Example JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
The sensitivity that you want WAF to use to inspect for SQL injection attacks.
HIGH detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see Testing and tuning in the WAF Developer Guide .
LOW is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак межсайтового скриптинга (XSS). В атаках XSS злоумышленник использует уязвимости в безобидном веб-сайте как средство для внедрения вредоносных клиентских сценариев в другие легитимные веб-браузеры.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу после заголовков запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны, которые необходимо искать в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF).
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью параметра MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND , чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первого сбоя синтаксического анализа, с которым он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки большого размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка сверхразмерности в объекте Headers . WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie сверхразмерности в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правила. Если вы укажете ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с параметром PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Log fields в WAF Developer Guide .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, назначаемый веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с параметром PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Log fields в WAF Developer Guide .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, назначаемый веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторую необычную форматировку, которую злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с параметра с наименьшим приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторую необычную форматировку, которую злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, которые длиннее 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверит только количество байтов в теле до лимита для веб-ACL и защищенного типа ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы заблокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения части запроса для фильтрации, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg имеет длину в девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как простой текст. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует непосредственно за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать слишком большие тела запросов, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела обычно, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях или обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает в WAF максимум 200 заголовков и не более 8 КБ содержимого заголовков.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях или обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 файлов cookie. Базовая служба хоста пересылает в WAF максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или в общей сложности 200 заголовков. Базовая служба хоста пересылает в WAF максимум 200 заголовков и не более 8 КБ содержимого заголовков.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI сверхразмера в объекте UriFragment. WAF применяет фильтры соответствия шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должно делать WAF, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Если синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. «Тело JSON» в Руководстве разработчика WAF.ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с настройки самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет их с веб-запросами на основе кода страны. Правило соответствия геолокации помечает каждый проверяемый запрос независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, можно использовать этот оператор самостоятельно и указать страны, с которыми требуется сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило соответствия геолокации с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы запустить их после правила соответствия геолокации, и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухбуквенные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в ForwardedIPConfig соответствия геолокации.
Если вы используете источник веб-запроса, форматы меток выглядят так: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете переадресованный IP-адрес, форматы меток выглядят так: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Оператор правила соответствия геолокации в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми требуется сопоставить, например, [ "US", "CN" ], из двухбуквенных кодов стран ISO международного стандарта ISO 3166.
При использовании оператора соответствия геолокации только для меток региона и страны, которые он добавляет к запросам, вам все равно придется указать код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить объем ведения журнала и метрик, которые создает правило, указав страну, которая вряд ли станет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Можно указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем предоставьте ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня внутри правила, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, для которых действия установлены на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, которые настроены внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, которое настроено внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, который нужно вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL в настройке BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не просрочен.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать IP-набор, см. CreateIPSet.
Каждый оператор правила IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (строка)
IPSetForwardedIPConfig -> (структура)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (строка)
Имя HTTP-заголовка для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (строка)
Статус соответствия, который следует присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Position -> (строка)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Варианты этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий регулярных выражений в компонентах веб-запроса. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с вашими настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логический оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если он не может полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать настройки MATCH или NO_MATCH для обработки превышения размера с вашими настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента заголовков, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND , чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL , WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND , чтобы объединить два правила сопоставления: одно, которое проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные файлы cookie как обычно в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритного размера следующие:
-
CONTINUE- Проверять доступные заголовки как обычно в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка пальца JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка пальца JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить способ обработки любого содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с настройки наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе частоты подсчитывает входящие запросы и ограничивает запросы, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое сейчас используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить работу по ограничению скорости правила на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, например, IP-адрес и метод HTTP или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, при этом значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в комбинированный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости отдельно.
При желании можно вложить другое утверждение внутрь утверждения на основе частоты, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только запросов, соответствующих вложенному утверждению. Вы можете использовать это вложенное утверждение для сужения области действия в сочетании со спецификациями ключа агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, соответствующих утверждению сужения области действия, без дополнительного агрегирования. Когда вы решите просто управлять всеми запросами, соответствующими утверждению сужения области действия, экземпляр агрегирования является единственным для правила.
Нельзя вложить RateBasedStatement внутри другого утверждения, например, внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации об опциях см. раздел Ограничение скорости веб-запросов с использованием правил на основе частоты в Руководстве разработчика WAF.
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по скорости для правила, через вызов API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе частоты, которое вы используете. Например, если вы предоставляете одни и те же настройки правила на основе частоты в двух веб-ACL, каждое из двух утверждений правила представляет собой отдельный экземпляр правила на основе частоты и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе частоты внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе частоты, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Ограничение по запросам в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе частоты. Если утверждение на основе частоты включает в себя ScopeDownStatement , это ограничение применяется только к запросам, соответствующим утверждению.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение по запросам с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение по запросам для любой одной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должно включать в подсчет запросов, оглядываясь назад с текущего момента времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а то, как далеко назад он смотрит каждый раз, когда проверяет. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе частоты.-
CONSTANT- Подсчитывайте и ограничивайте запросы, соответствующие утверждению сужения области действия правила на основе частоты. При этом варианте подсчитываемые запросы не агрегируются дополнительно. Утверждение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих утверждению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим утверждению сужения области действия. С этим вариантом необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим вариантом необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С этим вариантом необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать комбинацию перенаправленного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать комбинацию IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете перенаправленный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP, который следует использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
CustomKeys -> (list)
Определяет совокупные ключи для использования в правиле на основе скорости.
(структура)
Задает один настраиваемый совокупный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правил на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке способствует экземпляру агрегации. Если вы используете один заголовок в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, чтобы преобразовать компоненты запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie способствует экземпляру агрегации. Если вы используете один cookie в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, чтобы преобразовать компоненты запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение для именованного аргумента запроса способствует экземпляру агрегации. Если вы используете один аргумент запроса в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, чтобы преобразовать компоненты запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка способствует экземпляру агрегации. Если вы используете только строку запроса в качестве настраиваемого ключа, то каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, чтобы преобразовать компоненты запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве совокупного ключа. Каждый отдельный переадресованный IP-адрес способствует экземпляру агрегации.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying FORWARDED_IP in your rate-based statement’s AggregateKeyType .
With this option, you must specify the header to use in the rate-based rule’s ForwardedIPConfig property.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес способствует экземпляру агрегации.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying IP in your rate-based statement’s AggregateKeyType .
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, способствует экземпляру агрегации. Если вы используете только одно пространство имен метки в качестве настраиваемого ключа, то каждое имя метки полностью определяет экземпляр агрегации.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом на основе скорости в веб-ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI способствует экземпляру агрегации. Если вы используете только путь URI в качестве настраиваемого ключа, то каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам, чтобы преобразовать компонент запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, чтобы преобразовать компоненты запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток пальца JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток пальца JA3 в качестве настраиваемого ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA3.
You can specify the following fallback behaviors:
-
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве своего пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логическое выражение правила, используемое для объединения других выражений правил с логикой AND. Вы предоставляете более одного Statement в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
OrStatement -> (structure)
Логическое выражение правила, используемое для объединения других выражений правил с логикой OR. Вы предоставляете более одного Statement в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые можно вложить.
( … recursive … )
NotStatement -> (structure)
Логическое выражение правила, используемое для отрицания результатов другого выражения правила. Вы предоставляете один Statement в рамках NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Выражение правила, используемое для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом выражении. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вложить ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как выражение верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетных записей (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетных записей (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетных записей. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетных записей. Конфигурация включает страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетных записей. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетных записей. Конфигурация включает страницу входа вашего приложения и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, см. раздел примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. WAF Bot Control rule group и WAF Bot Control в WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, использовать ли машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют аномальное поведение, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Bot Control rules listing в WAF Developer Guide .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet. Используйте это для предоставления информации о запросе на вход в группу правил. Для списков управления доступом к веб-ресурсам (ACL), защищающих дистрибутивы CloudFront, используйте это также для предоставления информации о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Для получения информации об использовании управляемой группы правил ATP см. раздел «Группа правил защиты от захвата учетной записи (ATP) WAF Fraud Control» и «Защита от захвата учетной записи (ATP) WAF Fraud Control» в Руководстве разработчика WAF.
LoginPath -> (string)
Путь к конечной точке входа для вашего приложения. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login. Пути входа, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login, /web/login/, /web/loginPage и /web/login/thisPage, но не соответствует пути входа /home/web/login или /website/login.
Группа правил проверяет только HTTP POST запросы к указанной конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответов доступна только в списках управления доступом к веб-ресурсам (ACL), которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно на попытки входа клиента, ведя учет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Название заголовка, с которым нужно сопоставить. Название должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, строка может быть в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON-ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON-ответа.
Identifier -> (string)
Идентификатор значения, с которым нужно сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON-ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетных записей (ACFP), AWSManagedRulesACFPRuleSet . Используйте это для предоставления информации о запросе на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив отвечает на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в WAF Developer Guide .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути к страницам создания учетных записей, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетных записей /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая предоставляет форму регистрации новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути к страницам регистрации, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит электронную почту вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, которые содержат основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, которое содержит часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного номера телефона.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, которые содержат основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, которое содержит часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного адреса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с закодированной формой используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы о создании учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентом, подсчитывая количество успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сеансов клиентов и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из этих кодов. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Название заголовка для сопоставления. Название должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди успешных и неудачных значений.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Параметры действий для использования вместо действий правил, настроенных внутри группы правил. Необходимо указать одну переоценку для каждого правила, действие которого требуется изменить.
Примечание
Убедитесь, что имена правил в переопределениях верны. Если указать имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Переопределения можно использовать для тестирования, например, можно переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Также можно постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(структура)
Параметр действия для использования вместо действия правила, настроенного внутри группы правил. Необходимо указать одну переоценку для каждого правила, действие которого требуется изменить.
Примечание
Убедитесь, что имена правил в переопределениях верны. Если указать имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.Переопределения можно использовать для тестирования, например, можно переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Также можно постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Имя -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в переопределениях верны. Если указать имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не возвращает ошибку и не применяет параметр переопределения.ActionToUse -> (structure)
Действие переопределения, которое необходимо использовать вместо настроенного действия правила в группе правил.
Block -> (structure)
Указывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, возвращаемый клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где требуется его использовать. Затем в параметре действия правила или действия веб-ACL по умолчанию BlockAction можно сослаться на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type . Дублирование имен заголовков запрещено.
Сведения об ограничениях на количество и размер для пользовательских настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях на количество и размер для пользовательских настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях на количество и размер для пользовательских настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях на количество и размер для пользовательских настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях на количество и размер для пользовательских настроек запроса и ответа см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Инструкция правила для сопоставления с метками, добавленными в веб-запрос правилами, которые уже были запущены в веб-ACL.
Инструкция соответствия меткам предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или все полностью определенное имя метки, добавленное в веб-запрос. Полностью определенные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, добавившего метку. Если не указать полное имя в строке соответствия меткам, WAF выполнит поиск меток, добавленных в том же контексте, что и инструкция соответствия меткам.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, предоставляемая для этого, зависит от настройки Scope инструкции сопоставления:
- Если
ScopeуказываетLABEL, это уточнение должно включать имя и может включать любое количество предшествующих уточнений пространства имен и префикс до предоставления полностью определенного имени метки. - Если
ScopeуказываетNAMESPACE, это уточнение может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где берет начало метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска в компонентах веб-запроса совпадения с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса в виде обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела как обычно, в соответствии с критериями проверки правила. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос несоответствующим оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса в формате JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос несоответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF parsing не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела как обычно, в соответствии с критериями проверки правила. -
MATCH- Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считайте веб-запрос несоответствующим оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих случаях. Чтобы потребовать соответствия ключам и значениям, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих случаях. Чтобы потребовать соответствия ключам и значениям, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для расчета. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, у которого достаточно информации TLS Client Hello для расчета. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое фрагмента URI, превышающее размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости, для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с настройки с самым низким приоритетом, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
ForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете переадресованный IP-адрес в параметрах ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите его на X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
CustomKeys -> (list)
Задает совокупные ключи для использования в правиле ограничения скорости.
(структура)
Задает один пользовательский совокупный ключ для правила ограничения скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правил на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (структура)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (структура)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (структура)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (структура)
ForwardedIP -> (структура)
Используйте первый IP-адрес в HTTP-заголовке в качестве совокупного ключа. Каждый отдельный переадресованный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или переадресованный IP-адрес в настройках пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по переадресованному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего правила на основе скорости.
С этим параметром необходимо указать заголовок для использования в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (структура)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP-адрес или переадресованный IP-адрес в настройках пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего правила на основе скорости.
LabelNamespace -> (структура)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полное имя метки, имеющей указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются до этого правила на основе скорости в веб-ACL.
Для получения информации о пространствах имен и именах меток см. Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (структура)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (структура)
Используйте отпечаток JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, назначаемый веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие fallback behaviors:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
(structure)
Руководство по обработке Rule, используемое WAF для определения того, соответствует ли веб-запрос правилу.
Например, спецификации см. в разделе примеров CreateWebACL .
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строк для WAF, который будет применяться к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, в котором вы хотите, чтобы WAF выполнял поиск, и другие настройки. Байты для поиска, как правило, представляют собой строку, соответствующую символам ASCII. В консоли WAF и руководстве для разработчиков это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: HTTP-метод, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкиByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток JA3 для клиентских запросов из журналов web ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков, из заголовков в веб-запросе, а затем сопоставляет с этой строкой.
Если SearchString включает буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в base64. Максимальная длина значения перед кодированием в base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER, а значение Data равно User-Agent . Если вы хотите выполнить поиск в заголовке User-Agent для значения BadBot , вы кодируете BadBot в base64 с использованием MIME-кодирования base64 и включаете полученное значение QmFkQm90 в значение SearchString .
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверьте тело запроса как простой текст. Тело запроса сразу следует за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных данных следующие:
-
CONTINUE- Обычным образом проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки негабаритных данных с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса сразу следует за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (список)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Рабочей группы разработки Интернет (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern. Если указать ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Для этого требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (строка)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (строка)
Что WAF следует делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки негабаритных данных следующие:
-
CONTINUE- Обычным образом проверяйте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки негабаритных данных с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных заголовков в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с помощью критериев проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше, чем WAF может проверить, или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных файлов cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверка доступных заголовков в обычном режиме в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы соответствовать любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо назначить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области действия и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недопустимого JSON. Если анализ выполнен успешно, WAF не применяет поведение резервного варианта. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF выполнял поиск SearchString. Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, а SearchString должен содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что верно следующее:
-
SearchStringнаходится в начале указанной части веб-запроса или предшествует символу, отличному от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или следует за символом, отличным от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Инструкция по проверке вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы для выполнения таких действий, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами вашего правила и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . С информацией об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое AND выражение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами вашего правила и действий веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или и в том, и в другом. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области действия и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или и в том, и в другом. Чтобы потребовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки переразмера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты резервного поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты резервного поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным контентом, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Чувствительность, которую вы хотите, чтобы WAF использовал для проверки атак путем внедрения SQL.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию о выявлении и смягчении последствий ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другую защиту от атак путем внедрения SQL или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Инструкция по правилу, которое проверяет наличие атак типа межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости в безобидном веб-сайте как средство внедрения вредоносных клиентских сценариев в другие законные веб-браузеры.
FieldToMatch -> (structure)
Часть веб-запроса, которую нужно проверить WAF.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если он есть.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию ограничение составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке тел запросов, превышающих размер, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию ограничение составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычным образом проверить доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки чрезмерного размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию ограничение составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке тел запросов, превышающих размер, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Необходимо указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствует только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Необходимо указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию ограничение составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычным образом проверить доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки чрезмерного размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка недопустимого размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Шаблон соответствия -> (структура)
Фильтр для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure) - Все -> (структура)
IncludedHeaders -> (list) - IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string) - (строка)
ExcludedHeaders -> (list) - ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string) - (строка)
MatchScope -> (string) - MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure) - Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie недопустимого размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Шаблон соответствия -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure) - Все -> (структура)
IncludedCookies -> (list) - IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string) - (строка)
ExcludedCookies -> (list) - ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string) - (строка)
MatchScope -> (string) - MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Он требует, чтобы соответствие было найдено в ключах, или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - OversizeHandling -> (строка)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure) - HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF создает строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string) - OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверяйте доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure) - JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure) - JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure) - UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе "Тело JSON" в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в утверждениях соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в утверждениях правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правил, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера, чтобы искать строки запросов, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до предела для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения Part of the request to filter on (Часть запроса для фильтрации), косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не чувствительна к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Альтернативно, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов нестандартного размера, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки переразмера с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов нестандартного размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (список)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer (Указатель JSON).
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах, а соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствие в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одного, которое проверяет ключи, и другого, которое проверяет значения.InvalidFallbackBehavior -> (строка)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правил.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (строка)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки переразмера следующие:
-
CONTINUE- Проверить доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки переразмера с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое заголовка большего размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия в ключах и соответствия в значениях. Требуется соответствие в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое cookie большего размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия в ключах и соответствия в значениях. Требуется соответствие в ключах или значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе Log fields в WAF Developer Guide.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе Log fields в WAF Developer Guide.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные режимы:
-
MATCH- Рассматривайте веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Если вы не предоставите этот параметр, WAF будет анализировать и оценивать содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе "JSON body" в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости, для преобразования компонентов запроса перед использованием их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и сопоставляет веб-запросы на основе кода страны. Правило сопоставления географических данных помечает каждый проверяемый запрос независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило сопоставления географических данных с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил сопоставления меток для запуска после правила сопоставления географических данных и настройте их на соответствие географическим меткам и обработку запросов по мере необходимости.
WAF помечает запросы, используя коды страны и региона alpha-2 из международного стандарта организации по стандартизации (ISO) 3166. WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в ForwardedIPConfig соответствия географическим данным.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Оператор правила сопоставления географических данных в Руководстве разработчика WAF .
CountryCodes -> (list)
Массив двухсимвольных кодов стран, с которыми вы хотите сопоставить, например [ "US", "CN" ] , из кодов ISO альфа-2 страны международного стандарта ISO 3166.
Когда вы используете оператор сопоставления географических данных только для региональных и страновых меток, которые он добавляет к запросам, вы все равно должны предоставить код страны для оценки правила. В этом случае вы настраиваете правило так, чтобы оно только подсчитывало соответствующие запросы, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить количество журналов и метрик, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Настройка для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия для назначения веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Можно указать следующие резервные варианты поведения:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем укажите ARN группы правил в этом операторе.
Вы не можете вложить RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылаемой группе правил, для которых действия установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .(structure)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые допустимые настройки действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет настраиваемый ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
HTTP-код состояния для возврата клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в настройке действия правила или действия веб-ACL по умолчанию BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для обработки настраиваемых запросов и ответов. Он используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для обработки настраиваемых запросов и ответов. Он используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для обработки настраиваемых запросов и ответов. Он используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для обработки настраиваемых запросов и ответов. Он используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет настраиваемую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Настраиваемый заголовок для обработки настраиваемых запросов и ответов. Он используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция по правилу, используемая для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правила IP set ссылается на IP set. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который будет присвоен веб-запросу, если запрос не имеет допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10 , где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этого параметра следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правил, используемый для поиска соответствий регулярных выражений в компонентах веб-запроса. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правил набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов регулярных выражений, см. CreateRegexPatternSet.
Каждый оператор правил набора шаблонов регулярных выражений ссылается на набор шаблонов регулярных выражений. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с увеличенным размером, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с увеличенным размером, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо эту настройку, либо настройку IncludedPaths, но не обе.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо эту настройку, либо настройку All, но не обе.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, имеющие ключ, соответствующий одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия ключей и соответствия значений. Требуется соответствие ключей или значений, или обоих. Чтобы требовать соответствия ключей и значений, используйте логическое выражение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать веб-запрос не соответствующим оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, имеющие ключ, соответствующий одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует соответствия ключей и соответствия значений. Требуется соответствие ключей или значений, или обоих. Чтобы требовать соответствия ключей и значений, используйте логическое выражение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (строка)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверить доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке двоеточиями и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверить доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и балансировщиками нагрузки приложений. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и балансировщиками нагрузки приложений. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (строка)
Состояние соответствия, которое необходимо назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать веб-запрос не соответствующим оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости, для преобразования компонентов запроса, прежде чем использовать их в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе частоты подсчитывает входящие запросы и ограничивает запросы, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегации, собирает их в экземпляры агрегации и подсчитывает и ограничивает частоту запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения частоты правила. Это может приостановить действия правила по ограничению частоты на срок до минуты.Вы можете указать отдельные ключи агрегации, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегации, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегации представляет собой отдельный экземпляр агрегации, при этом значение из каждого ключа вносит вклад в определение экземпляра агрегации.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегации в соответствии с вашими критериями агрегации, например:
- Если критерием агрегации является только IP-адрес, то каждый отдельный адрес является экземпляром агрегации, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: счетчик 3
- IP-адрес 127.0.0.0: счетчик 1
- Если критерием агрегации является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: счетчик 2
- Метод HTTP GET: счетчик 2
- Если критерием агрегации является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут способствовать объединенному экземпляру агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: счетчик 1
- IP-адрес 10.1.1.1, метод HTTP GET: счетчик 2
- IP-адрес 127.0.0.0, метод HTTP POST: счетчик 1
Для любого n-кортежа ключей агрегации каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегации, который WAF подсчитывает и ограничивает по частоте индивидуально.
При желании вы можете вложить другое утверждение внутри утверждения на основе частоты, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало только запросы, соответствующие вложенному утверждению. Вы можете использовать это вложенное утверждение сужения области действия в сочетании со спецификациями вашего ключа агрегации, или вы можете просто подсчитывать и ограничивать частоту всех запросов, соответствующих утверждению сужения области действия, без дополнительной агрегации. Когда вы решите просто управлять всеми запросами, соответствующими утверждению сужения области действия, экземпляр агрегации является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого утверждения, например внутри NotStatement или OrStatement . Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Дополнительную информацию об опциях см. в разделе Ограничение частоты веб-запросов с использованием правил на основе частоты в Руководстве разработчика WAF .
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по частоте для правила, с помощью вызова API GetRateBasedStatementManagedKeys . Эта опция недоступна для других конфигураций агрегации.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе частоты, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе частоты в двух веб-ACL, каждое из двух утверждений правила представляет собой отдельный экземпляр правила на основе частоты и получает собственное отслеживание и управление WAF. Если вы определяете правило на основе частоты внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе частоты, который получает собственное отслеживание и управление WAF.
Limit -> (long)
Лимит на запросы в течение указанного окна оценки для одного экземпляра агрегации для правила на основе частоты. Если утверждение на основе частоты включает в себя ScopeDownStatement , этот лимит применяется только к запросам, соответствующим утверждению.
Примеры:
- Если вы агрегируете только по IP-адресу, это лимит на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это лимит на запросы для любой отдельной пары метод-город.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, заглядывая назад с текущего времени. Например, при настройке 120, когда WAF проверяет частоту, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет частоту, а определяет, как далеко назад он смотрит при каждой проверке. WAF проверяет частоту примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила на основе частоты.-
CONSTANT- Подсчитывайте и ограничивайте запросы, соответствующие утверждению сужения области действия правила на основе частоты. При использовании этой опции подсчитанные запросы не агрегируются далее. Утверждение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих утверждению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим утверждению сужения области действия. При использовании этой опции необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегации. При использовании этой опции необходимо указать ключи агрегации в свойствеCustomKeys. Чтобы выполнить агрегацию только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегации вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. При использовании этой опции необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы выполнить агрегацию по комбинации перенаправленного IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы выполнить агрегацию по комбинации IP-адреса с другими ключами агрегации, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете перенаправленный IP-адрес в настройках ключа агрегации правила.
HeaderName -> (string)
Имя заголовка HTTP, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если запрос не имеет допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий утверждению правила.
CustomKeys -> (list)
Указывает агрегированные ключи, которые следует использовать в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правил на основе скорости.Header -> (structure)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Name -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный переадресованный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP или переадресованный IP в параметрах пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете выполнять агрегирование только по переадресованному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего правила на основе скорости.
С этим параметром необходимо указать заголовок, который следует использовать, в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP или переадресованный IP в параметрах пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете выполнять агрегирование только по IP-адресу, указав IP в AggregateKeyType вашего правила на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющей указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом на основе скорости в веб-ACL.
Сведения о пространствах имен и именах меток см. в разделе Синтаксис и требования к именованию меток в Руководстве разработчика WAF .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого параметра приоритета, а затем использует содержимое преобразованного компонента.
(структура)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах в попытке обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток пальца JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA4 в качестве своего пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы указываете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой OR. Вы указываете более одного оператора в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вкладывать ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Вы не можете использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. WAF Pricing .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил для предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и места в полезной нагрузке запроса создания учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил для предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и места в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил для предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и места в полезной нагрузке запроса создания учетной записи данных, таких как поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил для предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и места в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запросов.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификацией поля имени пользователя являетсяusername1
PasswordField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запросов дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запросов.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификацией поля пароля является/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификацией поля пароля являетсяpassword1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. Группу правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, использовать ли машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в списке правил Bot Control в Руководстве разработчика WAF .
Default: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это для предоставления информации о запросе на вход в группу правил. Для списков контроля доступа к веб-ресурсам, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функции.
Информацию об использовании управляемой группы правил ATP см. в разделе «Группа правил защиты от мошенничества WAF от захвата учетной записи (ATP)» и «Защита от мошенничества WAF от захвата учетной записи (ATP)» в Руководстве разработчика WAF.
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL-адреса https://example.com/web/login вы предоставите путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP-запросы POST к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя имеет вид/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя имеет видusername1
Identifier -> (string)
Имя поля имени пользователя.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя имеет вид/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя имеет видusername1
PasswordField -> (structure)
Название поля в полезных данных запроса, содержащего пароль вашего клиента.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля имеет видpassword1.
Identifier -> (string)
Имя поля пароля.
То, как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля имеет вид/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля имеет видpassword1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев при входе.
Примечание
Проверка ответов доступна только в списках контроля доступа к веб-ресурсам, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых за короткий промежуток времени было слишком много неудачных попыток входа.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и неудачи.
Name -> (string)
Название заголовка для сопоставления. Название должно точно совпадать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетных записей (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи в группу правил. Для веб-ACL, которые защищают дистрибутивы CloudFront, используйте это также, чтобы предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетных записей.
Для получения информации об использовании управляемой группы правил ACFP, см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в Руководстве разработчика WAF .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы предоставите путь /web/newaccount . Пути к страницам создания учетной записи, которые начинаются с указанного вами пути, считаются совпадением. Например /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой представлена форма регистрации для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы предоставите путь /web/registration . Пути к страницам регистрации, которые начинаются с указанного вами пути, считаются совпадением. Например /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя:username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя:username1
PasswordField -> (structure)
Название поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля:password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля:/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля:password1.
EmailField -> (structure)
Название поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты:email1.
Identifier -> (string)
Имя поля электронной почты.
Как вы это укажете, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты:/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификация поля электронной почты:email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Укажите поля номера телефона в массиве точно в том порядке, в котором они указаны в полезной нагрузке запроса.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона:/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона:primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Имя одного поля основного номера телефона.
Как вы укажете поля номера телефона, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона:/form/primaryphoneline1,/form/primaryphoneline2, и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2, иprimaryphoneline3, идентификаторы полей номера телефона:primaryphoneline1,primaryphoneline2, иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Укажите поля адреса в массиве точно в том порядке, в котором они указаны в полезной нагрузке запроса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса:/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP.
Identifier -> (string)
Имя одного поля основного адреса.
Как вы укажете поля адреса, зависит от типа полезной нагрузки для проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы полей адреса:/form/primaryaddressline1,/form/primaryaddressline2, и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2, иprimaryaddressline3, идентификаторы полей адреса:primaryaddressline1,primaryaddressline2, иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы о создании учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетных записей.
Примечание
Проверка ответов доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиента, подсчитывая успешные и неудачные попытки с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Параметры действия для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил до Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил до Count, а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик.
Имя -> (string)
Имя правила для переопределения.
Примечание
Позаботьтесь о проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательских ответов в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или в параметре BlockAction действия веб-ACL по умолчанию, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях на количество и размер пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample, WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор соответствия метки предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю часть полностью квалифицированного имени метки, которое было добавлено к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полностью квалифицированное имя в своей строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор соответствия метке.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то эта спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс до предоставления полного квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, и компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентов веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, для дополнительных сборов за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, для дополнительных сборов за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, для дополнительных сборов за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody .
Необходимо указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения с использованием синтаксиса указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет с ключами и значениями.
All не требует нахождения совпадения в ключах и нахождения совпадения в значениях. Для этого требуется совпадение в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недействительного JSON. Когда разбор выполнен успешно, WAF не применяет поведение отката. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение установлено на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, для дополнительных сборов за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— считать, что веб-запрос не соответствует оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит и ключи, и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах или в значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей и другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить область действия и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверит и ключи, и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется совпадение в ключах или в значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей и другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Состояние сопоставления, которое необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Inspect fragments of the request URI. You must configure scope and pattern matching filters in the UriFragment object, to define the fragment of a URI that WAF inspects.
Only the first 8 KB (8192 bytes) of a request’s URI fragments and only the first 200 URI fragments are forwarded to WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the UriFragment object. WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
FallbackBehavior -> (string)
What WAF should do if it fails to completely parse the JSON body. The options are the following:
-
EVALUATE_AS_STRING- Inspect the body as plain text. WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. -
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
If you don’t provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.
Example JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Note
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide .TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
OrStatement -> (structure)
A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement .
Statements -> (list)
The statements to combine with OR logic. You can use any statements that can be nested.
(structure)
The processing guidance for a Rule , used by WAF to determine whether a web request matches the rule.
For example specifications, see the examples section of CreateWebACL .
ByteMatchStatement -> (structure)
A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.
SearchString -> (blob)
A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch . The maximum length of the value is 200 bytes.
Valid values depend on the component that you specify for inspection in FieldToMatch :
-
Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request. -
UriPath: The value that you want WAF to search for in the URI path, for example,/images/daily-ad.jpg. -
JA3Fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request’s JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client’s TLS configuration. You can use this choice only with a string matchByteMatchStatementwith thePositionalConstraintset toEXACTLY. You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide . -
HeaderOrder: The list of header names to match for. WAF creates a string that contains the ordered list of header names, from the headers in the web request, and then matches against that string.
If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes.
For example, suppose the value of Type is HEADER and the value of Data is User-Agent . If you want to search the User-Agent header for the value BadBot , you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90 , in the value of SearchString .
The value that you want WAF to search for. The SDK automatically base64 encodes the value.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений с шаблонами по критериям проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, значениях или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает в WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме, в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для определения подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия ключам и значениям, используйте логическое выражение AND для объединения двух правил соответствия: одно проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для определения подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия ключам и значениям, используйте логическое выражение AND для объединения двух правил соответствия: одно проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE— Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и балансировщиками нагрузки приложений. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие резервные поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и балансировщиками нагрузки приложений. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток пальца для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с соответствием строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Поля журналов в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие резервные поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI сверх размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если он не может полностью разобрать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Текстовые преобразования устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString. Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString, но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString, и SearchString должен содержать только буквенно-цифровые символы или подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что выполняются оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или следует за символом, отличным от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString.
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники вставляют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Нормально проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны, которые нужно искать в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . С информацией об этом синтаксисе можно ознакомиться в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или в значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления: одно для проверки ключей и другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает WAF для проверки только содержимое, которое находится в пределах лимита.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байт).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байт), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Нормально проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы-хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и не требует, чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба-хост пересылает в WAF не более 200 заголовков и не более 8 КБ содержимого заголовков.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы-хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и не требует, чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба-хост пересылает в WAF не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба-хост пересылает в WAF не более 200 заголовков и не более 8 КБ содержимого заголовков.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который следует присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint , установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журналов» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации вашего оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который следует присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку содержимого фрагмента URI большого размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Чувствительность, которую вы хотите, чтобы WAF использовала для проверки атак типа SQL injection.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Сведения об идентификации и смягчении ложных срабатываний см. в разделе Тестирование и настройка в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другие средства защиты от атак типа SQL injection или имеют низкую устойчивость к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Инструкция по проверке атак типа межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с вашими параметрами правил и действий веб-ACL, чтобы блокировать любые запросы, тело которых превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Рабочей группы разработки Internet (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах, а соответствие — в значениях. Это требует, чтобы соответствие было найдено в ключах или значениях или в обоих. Чтобы потребовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для неверного JSON. Когда синтаксический анализ прошел успешно, WAF не применяет поведение fallback. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Доступны следующие параметры обработки больших размеров:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с вашими параметрами правил и действий веб-ACL, чтобы блокировать любые запросы, тело которых превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка негабаритного размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie негабаритного размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правил. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, назначаемый веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставить с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, назначаемый веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие варианты поведения при резервировании:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любой фрагмент содержимого URI, превышающий размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше чем (>) или меньше чем (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, которые длиннее 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле запроса вплоть до лимита для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы с большим размером тела запроса. Для получения дополнительной информации об ограничениях проверки см. параметры Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлен лимит 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлен лимит 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с вашими настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлен лимит 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логический оператор AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access по умолчанию установлен лимит 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с вашими настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers , чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, размер которого превышает допустимый, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется найти соответствие в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie, размер которого превышает допустимый, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, подлежащих проверке в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie, которые необходимо проверить в соответствии с критериями проверки правила. При указании ALL WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется найти соответствие в ключах, в значениях или в обоих случаях. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что должен делать WAF, если файлы cookie запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Можно указать следующие резервные поведения:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях журналов см. в разделе Поля журнала в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус сопоставления, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Можно указать следующие резервные поведения:
-
MATCH- рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой хост-службой. Необходимо настроить обработку любого фрагмента содержимого URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой хост-службы.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет веб-запросы на основе кода страны. Правило соответствия геоданным помечает каждый проверяемый запрос независимо от того, находит ли он соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте правило соответствия геоданным с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, которые будут выполняться после правила соответствия геоданным, и настройте их так, чтобы они соответствовали географическим меткам и обрабатывали запросы по мере необходимости.
WAF помечает запросы, используя двухсимвольные коды стран и регионов из международного стандарта (ISO) 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы укажете его, адрес в соответствии с геоданными ForwardedIPConfig.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете переадресованный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Оператор правила соответствия географическим данным в руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например [ "US", "CN" ], из кодов стран альфа-2 стандарта ISO 3166.
При использовании оператора соответствия геоданным только для меток региона и страны, которые он добавляет к запросам, вам все равно придется указать код страны для оценки правила. В этом случае вы настроите правило только для подсчета совпадающих запросов, но оно по-прежнему будет генерировать ведение журнала и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журнала и метрики, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Инструкция правила, используемая для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этой инструкции.
Нельзя вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать инструкцию ссылки на группу правил внутри другой группы правил. Можно ссылаться на группу правил только как на инструкцию верхнего уровня в правиле, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, для которых действия установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны, чтобы проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группы правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны, чтобы проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группы правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте осторожны, чтобы проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ на веб-запрос.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF.
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или действии по умолчанию веб-ACL настройка BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Можно указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка задачи определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF.
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Заявление правила, используемое для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который определяет адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом заявлении. Чтобы создать IP-набор, см. CreateIPSet.
Каждое заявление правила IP-набора ссылается на IP-набор. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, а не использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но можно указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, который следует использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать, что веб-запрос соответствует заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать, что веб-запрос не соответствует заявлению правила.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этого параметра следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Инструкция по правилу, используемая для поиска соответствий в компонентах веб-запроса с помощью регулярных выражений. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этой инструкции. Веб-запрос соответствует инструкции правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet .
Каждая инструкция правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer . Эта настройка не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью настройки Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверка тела запроса как обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, для проверки WAF.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке чрезмерно больших тел запросов см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, для проверки WAF.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерных размеров следующие:
-
CONTINUE- Нормально проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерных размеров с параметрами действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, для проверки WAF.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Сведения об обработке чрезмерно больших тел запросов см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте настройкуAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы требовать совпадения в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверка тела как обычного текста. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ успешен, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF следует делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, для проверки WAF.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерных размеров следующие:
-
CONTINUE- Нормально проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий инструкции правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки чрезмерных размеров с параметрами действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запросов. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или всего 200 файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF следует делать, если заголовков запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или всего 200 заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот вариант можно только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот вариант можно только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты:
-
MATCH- Считать веб-запрос соответствующим утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает запросы, когда они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения скорости правила. Это может приостановить действия правила по ограничению скорости на срок до одной минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, такие как IP-адрес и метод HTTP, или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования является отдельным экземпляром агрегирования, при этом значение каждого ключа способствует определению экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут способствовать созданию объединенного экземпляра агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любой n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает по скорости индивидуально.
При необходимости вы можете вложить другое выражение внутрь выражения на основе скорости, чтобы сузить область действия правила, чтобы оно только подсчитывало и ограничивало скорость запросов, соответствующих вложенному выражению. Вы можете использовать это вложенное выражение для уменьшения области действия в сочетании со спецификациями ключей агрегирования или просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению для уменьшения области действия, без дополнительного агрегирования. Когда вы решите просто управлять всеми запросами, соответствующими выражению для уменьшения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутрь другого выражения, например внутрь NotStatement или OrStatement. Вы можете определить RateBasedStatement внутри web ACL и внутри группы правил.
Дополнительную информацию об опциях см. в разделе Ограничение скорости веб-запросов с помощью правил на основе скорости в Руководстве разработчика WAF.
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, скорость которых в настоящее время ограничивает WAF для правила, с помощью вызова API GetRateBasedStatementManagedKeys. Эта опция недоступна для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе скорости в двух web ACL, каждое из двух выражений правила представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Ограничение запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если выражение на основе скорости включает в себя ScopeDownStatement, это ограничение применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого одного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой отдельной пары method, city.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а насколько далеко он оглядывается назад каждый раз, когда выполняет проверку. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT- Подсчитывайте и ограничивайте запросы, соответствующие выражению для уменьшения области действия правила на основе скорости. С помощью этой опции подсчитанные запросы больше не агрегируются. Выражение для уменьшения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих выражению для уменьшения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению для уменьшения области действия. С помощью этой опции необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С помощью этой опции необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования в значениеIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. С помощью этой опции необходимо указать заголовок, который будет использоваться в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации перенаправленного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете перенаправленный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не имеет допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий выражению правила.
CustomKeys -> (list)
Specifies the aggregate keys to use in a rate-base rule.
(structure)
Specifies a single custom aggregate key for a rate-base rule.
Note
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.Header -> (structure)
Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Use the specified query argument as an aggregate key. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.
Name -> (string)
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Use the request’s query string as an aggregate key. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying FORWARDED_IP in your rate-based statement’s AggregateKeyType .
With this option, you must specify the header to use in the rate-based rule’s ForwardedIPConfig property.
IP -> (structure)
Use the request’s originating IP address as an aggregate key. Each distinct IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying IP in your rate-based statement’s AggregateKeyType .
LabelNamespace -> (structure)
Use the specified label namespace as an aggregate key. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance.
This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Use the request’s URI path as an aggregate key. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.
TextTransformations -> (list)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they’re used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.
(structure)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Use the request’s JA3 fingerprint as an aggregate key. If you use a single JA3 fingerprint as your custom key, then each value fully defines an aggregation instance.
FallbackBehavior -> (string)
The match status to assign to the web request if there is insufficient TSL Client Hello information to compute the JA3 fingerprint.
You can specify the following fallback behaviors:
-
MATCH- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH- Treat the web request as not matching the rule statement.
JA4Fingerprint -> (structure)
Используйте отпечаток пальца JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток пальца JA4 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой AND. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой OR. Вы предоставляете более одного оператора в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вкладывать ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в ACL веб-приложения.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения перехвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любую допустимую настройку действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил для предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил для предотвращения перехвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезной нагрузке запроса входа данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил для предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил для предотвращения перехвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезной нагрузке запроса входа данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer , выпущенной рабочей группой Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этой настройки предоставьте свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer , выпущенной рабочей группой Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применяется только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют аномальное поведение, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Перечень правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросах на вход в группу правил. Для веб-ACL, которые защищают CloudFront distributions, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Для получения информации об использовании управляемой группы правил ATP см. WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в WAF Developer Guide .
LoginPath -> (string)
Путь к конечной точке входа в систему вашего приложения. Например, для URL https://example.com/web/login , вы должны предоставить путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для JSON полезных нагрузок укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для JSON полезной нагрузки
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для JSON полезных нагрузок укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для JSON полезной нагрузки
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для JSON полезных нагрузок укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для JSON полезной нагрузки
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для JSON полезных нагрузок укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для JSON полезной нагрузки
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа в систему клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка, с которым необходимо сопоставить. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байтов (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байтов (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения, с которым необходимо сопоставить в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачей, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. WAF Fraud Control account creation fraud prevention (ACFP) rule group и WAF Fraud Control account creation fraud prevention (ACFP) в WAF Developer Guide .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути страниц создания учетной записи, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage , и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой форма регистрации представлена новым пользователям.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути страниц регистрации, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage , и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
Как это указать, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочьте поля номера телефона в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Как указать поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля номера телефона.
Как указать поля номера телефона, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочьте поля адреса в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Как указать поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя отдельного основного поля адреса.
Как указать поля адреса, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентом, подсчитывая успешные и неудачные попытки с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (список)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, указывающие на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (строка)
Имя заголовка, с которым нужно сопоставить. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(строка)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(строка)
BodyContains -> (структура)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(строка)
FailureStrings -> (список)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(строка)
Json -> (структура)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (строка)
Идентификатор значения, с которым нужно сопоставить в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(строка)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(строка)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (список)
Настройки действия, используемые вместо действий правил, настроенных внутри группы правил. Вы указываете одну перезапись для каждого правила, для которого вы хотите изменить действие.
Примечание
Убедитесь, что имена правил в ваших перезаписях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку перезаписи.Вы можете использовать перезаписи для тестирования, например, вы можете перезаписать все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда перезаписать некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группой правил.
(структура)
Настройка действия, используемая вместо действия правила, настроенного внутри группы правил. Вы указываете одну перезапись для каждого правила, для которого вы хотите изменить действие.
Примечание
Убедитесь, что имена правил в ваших перезаписях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку перезаписи.Вы можете использовать перезаписи для тестирования, например, вы можете перезаписать все действия правил на Count , а затем отслеживать полученные метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда перезаписать некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группой правил.
Name -> (string)
Имя правила для перезаписи.
Примечание
Убедитесь, что имена правил в ваших перезаписях верны. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку перезаписи.ActionToUse -> (structure)
Действие перезаписи для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ на веб-запрос.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, который необходимо вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или действии веб-ACL по умолчанию настройка BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка задачи определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
LabelMatchStatement -> (structure)
Инструкция правила для сопоставления с метками, которые были добавлены в веб-запрос правилами, уже запущенными в веб-ACL.
Оператор соответствия метки предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью определенную имя метки, которая была добавлена в веб-запрос. Полностью определенные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, добавившего метку. Если вы не предоставите полностью определенное имя в своей строке соответствия метке, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор соответствия метке.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора соответствия:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предшествующих спецификаций пространства имен и префикс, вплоть до предоставления полностью определенного имени метки. - Если
ScopeуказываетNAMESPACE, то это указание может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, где берет начало метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентам веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным способом в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения с использованием синтаксиса JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или в значениях, или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным способом в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка сверх размера в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Он требует совпадения либо в ключах, либо в значениях, либо и в том, и в другом. Чтобы требовать совпадения и в ключах, и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файла cookie сверх размера в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения ни в ключах, ни в значениях. Он требует совпадения либо в ключах, либо в значениях, либо и в том, и в другом. Чтобы требовать совпадения и в ключах, и в значениях, используйте логическое выражение AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файла cookie в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления для присвоения веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журналов см. в разделе Поля журналов в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Состояние сопоставления для присвоения веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры для сопоставления области действия и шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки службой основного хоста. Необходимо настроить обработку содержимого фрагмента URI сверх размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки анализа, которую он обнаружит.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может пройти даже для недействительного JSON. Когда анализ прошел успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с наименьшей приоритетной настройки, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
Statement -> (structure)
Оператор для отрицания. Можно использовать любой оператор, который можно вложить.
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строки для WAF для применения к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, которое вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, которая соответствует символам ASCII. В консоли WAF и руководстве для разработчиков это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы назначаете для проверки в FieldToMatch . Максимальная длина значения составляет 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch :
-
Method: Метод HTTP, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. Вы можете использовать этот выбор только с соответствием строкиByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Отпечаток пальца JA3 для клиентских запросов можно получить из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Log fields в WAF Developer Guide . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, которая содержит упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения с кодировкой base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type равно HEADER, а значение Data равно User-Agent. Если вы хотите найти в заголовке User-Agent значение BadBot, вы кодируете BadBot с помощью MIME-кодирования base64 и включаете полученное значение, QmFkQm90, в значение SearchString.
Значение, которое вы хотите, чтобы WAF искал. SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов превышающие размер, см. конфигурацию объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает то, что может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки oversize следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки oversize с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов превышающие размер, см. конфигурацию объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Соответствует только указанным путям включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр, чтобы включить все пути. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern . Если вы укажете ALL , WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих случаях. Чтобы требовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает то, что может проверить WAF.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксируется на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки oversize следующие:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки oversize с настройками действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Соответствие шаблону -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure) - Все -> (структура)
IncludedHeaders -> (list) - Включенные заголовки -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list) - Исключенные заголовки -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string) - MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - Обработка размера -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure) - Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure) - Соответствие шаблону -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure) - Все -> (структура)
IncludedCookies -> (list) - Включенные файлы cookie -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list) - Исключенные файлы cookie -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string) - MatchScope -> (строка)
Части файлов cookie для проверки в соответствии с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил соответствия: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string) - Обработка размера -> (строка)
Что должен делать WAF, если файлов cookie запроса больше или они больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки размера следующие:
-
CONTINUE- Обычная проверка доступных файлов cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure) - HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для соответствия при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string) - Обработка размера -> (строка)
Что должен делать WAF, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки размера следующие:
-
CONTINUE- Обычная проверка доступных заголовков в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure) - JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Note
Примечание. Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement, установив для параметра PositionalConstraint значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure) - JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Note
Примечание. Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement, установив для параметра PositionalConstraint значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе «Поля журнала» в WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string) - FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure) - UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI большего размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать JSON-тело. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отказе. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область внутри части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующее:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , а SearchString должна содержать только буквенно-цифровые символы или подчеркивание (A-Z, a-z, 0-9 или _). Кроме того, SearchString должно быть словом, что означает, что истинны оба следующих утверждения:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правила, который проверяет наличие вредоносного кода SQL. Злоумышленники внедряют вредоносный код SQL в веб-запросы, чтобы выполнять такие действия, как изменение вашей базы данных или извлечение данных из нее.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может состоять не более чем из 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело запроса больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих совпадений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело запроса больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом, в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с настройками действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы-хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется соответствие в ключах или значениях, или и том и другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одного, проверяющего ключи, и другого, проверяющего значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба-хост пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
Cookies -> (структура)
Проверить файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой-хостом. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы-хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Требуется соответствие в ключах или значениях, или и том и другом. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил соответствия: одного, проверяющего ключи, и другого, проверяющего значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie в запросе больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба-хост пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычным образом проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля при своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба-хост пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки чрезмерного размера следующие:
-
CONTINUE- Обычным образом проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, имеющего достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные режимы:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполняет синтаксический анализ и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение при отмене. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегирования. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования для указанного контента, начиная с самой низкой приоритетности, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки атак типа SQL injection.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об определении и смягчении последствий ложных срабатываний см. в разделе Testing and tuning в Руководстве разработчика WAF .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другую защиту от атак типа SQL injection или имеют низкую устойчивость к ложным срабатываниям.
По умолчанию: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак межсайтового скриптинга (XSS). При XSS-атаках злоумышленник использует уязвимости на безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских скриптов в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (строка)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (строка)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (структура)
? , если таковой имеется.Body -> (структура)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта Body.
OversizeHandling -> (строка)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (структура)
JsonBody -> (структура)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большего размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (список)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Сведения об этом синтаксисе см. в документации Рабочей группы Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(строка)
MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы соответствие было найдено в ключах, и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах или в значениях, или и в том, и в другом. Чтобы требовать соответствия как в ключах, так и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, который проверяет ключи, и другого, который проверяет значения.InvalidFallbackBehavior -> (строка)
Что должен делать WAF, если он не может полностью проанализировать тело JSON. Параметры следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (строка)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Параметры для обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (структура)
Проверьте заголовки запросов. Вы должны настроить область и фильтры сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое заголовка, превышающее размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Вы должны настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое файлов cookie, превышающее размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF следует делать, если файлы cookie запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля при проверке. WAF разделяет имена заголовков в строке, используя двоеточия, без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запросов, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритных размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Log fields в WAF Developer Guide.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если у запроса нет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы содержат эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел Log fields в WAF Developer Guide.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, присваиваемый веб-запросу, если у запроса нет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отмене:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблону в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным контентом, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, вы можете использовать оператор ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если вы настроите WAF для проверки тела запроса, WAF проверяет только количество байтов в теле до лимита для веб-ACL и типа защищенного ресурса. Если вы знаете, что тело запроса для ваших веб-запросов никогда не должно превышать лимит проверки, вы можете использовать оператор ограничения размера, чтобы блокировать запросы, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI в качестве значения параметра Part of the request to filter on, косая черта (/) в URI учитывается как один символ. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверка одного заголовка. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Альтернативно, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверка одного аргумента запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверка тела запроса как простого текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с вашими настройками правил и действий веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверка тела запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на ваш веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON, с которыми нужно сопоставить с использованием параметра MatchPattern. Если вы укажете ALL, WAF сопоставляет ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах или значениях или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как простой текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недопустимого JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение возврата. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что должен делать WAF, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая хост-служба пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычная проверка доступного содержимого тела в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с вашими настройками правил и действий веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или в значениях, или в обоих случаях. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или в значениях, или в обоих случаях. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое для проверки значений.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента соответствия поля в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса больше или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступные заголовки в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA3 запроса. Отпечаток JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint значением EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо назначить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку JA4 запроса. Отпечаток JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с установленным PositionalConstraint значением EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF .
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо назначить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте UriFragment , чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить, как обрабатывать содержимое фрагмента URI, превышающее размер, в объекте UriFragment . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF выполнит синтаксический анализ и оценит содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет поведение отката. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и который сопоставляет с веб-запросами на основе кода страны. Правило соответствия географическим данным помечает каждый проверяемый им запрос независимо от того, находит ли оно соответствие.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило соответствия географическим данным с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам, чтобы они выполнялись после правила соответствия географическим данным, и настройте их для сопоставления с географическими метками и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухзначные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в ForwardedIPConfig соответствия географическим данным.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code> .
Если вы используете пересланный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code> .
Дополнительные сведения см. в разделе Оператор правила соответствия географическим данным в Руководстве разработчика WAF .
CountryCodes -> (list)
Массив двузначных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ] , из двухзначных кодов стран ISO международного стандарта ISO 3166.
Когда вы используете оператор соответствия географическим данным только для меток региона и страны, которые он добавляет к запросам, вам все равно необходимо указать код страны, чтобы правило выполнялось. В этом случае вы настраиваете правило так, чтобы оно только подсчитывало соответствующие запросы, но оно по-прежнему будет генерировать журналы и метрики подсчета для любых совпадений. Вы можете уменьшить ведение журналов и метрики, которые создает правило, указав страну, которая вряд ли будет источником трафика на вашем сайте.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отката:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, затем укажите ARN группы правил в этом операторе.
Нельзя вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, для которых действия установлены на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого варианта используйтеRuleActionOverrides . Он принимает любое допустимое значение действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий, используемые вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правила на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Пожалуйста, будьте внимательны при проверке имен правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Инструктирует WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
HTTP-код состояния для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке по умолчанию для веб-ACL BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Инструктирует WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Инструктирует WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Инструктирует WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Инструктирует WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дубликаты имен заголовков не допускаются.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Инструкция правила, используемая для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте IPSet, который определяет адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet .
Каждое оператор правила набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые на него ссылаются.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке, вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For .
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который следует назначить веб-запросу, если в запросе отсутствует действительный IP-адрес в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим инструкции правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос несоответствующим инструкции правила.
Position -> (string)
Положение в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10 , где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Параметры для этого параметра следующие:
- FIRST - Проверьте первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверьте последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверьте все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правил, используемый для поиска соответствий компонентов веб-запроса регулярным выражениям. Чтобы использовать это, создайте RegexPatternSet, который определяет выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правил набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов регулярных выражений, см. CreateRegexPatternSet.
Каждый оператор правил набора шаблонов регулярных выражений ссылается на набор шаблонов регулярных выражений. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите проверить с помощью WAF.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает то, что WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH— Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считайте, что веб-запрос не соответствует оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставляйте только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Для этого требуется найти совпадение в ключах, или в значениях, или в обоих. Чтобы потребовать совпадение в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считайте, что веб-запрос не соответствует оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF parsing doesn’t fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, WAF doesn’t apply the fallback behavior. For more information, see JSON body in the WAF Developer Guide.OversizeHandling -> (string)
Что WAF должен делать, если размер тела превышает то, что WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если размер тела превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— Проверьте доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH— Считайте веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— Считайте, что веб-запрос не соответствует оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или и в том, и в другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого контента файла cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Он требует, чтобы соответствие было найдено в ключах, значениях или и в том, и в другом. Чтобы требовать соответствия в ключах и значениях, используйте логическое оператор AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (строка)
Что WAF следует делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки негабаритного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только со строковым соответствиемByteMatchStatement с PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Эту опцию можно использовать только со строковым соответствиемByteMatchStatement с PositionalConstraint, установленным в значение EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может рассчитать отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который нужно присвоить веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры области и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого фрагмента содержимого URI превышающего размер в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе частоты для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе частоты учитывает входящие запросы и ограничивает частоту запросов, если они поступают слишком быстро. Правило категоризирует запросы в соответствии с вашими критериями агрегации, собирает их в экземпляры агрегации и учитывает и ограничивает частоту запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в используемом в данный момент правиле, изменение сбросит счетчики ограничения частоты правила. Это может приостановить деятельность по ограничению частоты правила на срок до одной минуты.Вы можете указать отдельные ключи агрегации, например, IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегации, например, IP-адрес и метод HTTP или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегации представляет собой отдельный экземпляр агрегации, при этом значение каждого ключа вносит вклад в определение экземпляра агрегации.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегации в соответствии с вашими критериями агрегации, например:
- Если критерием агрегации является только IP-адрес, то каждый отдельный адрес является экземпляром агрегации, и WAF считает запросы отдельно для каждого. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегации является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегации является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегации. Экземпляры агрегации и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любого n-кортежа ключей агрегации каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегации, который WAF считает и ограничивает по скорости индивидуально.
При желании вы можете вложить другое утверждение внутрь утверждения на основе частоты, чтобы сузить область действия правила, чтобы оно учитывало и ограничивало частоту только тех запросов, которые соответствуют вложенному утверждению. Вы можете использовать это вложенное утверждение для сужения области действия вместе со спецификациями ключей агрегации или просто учитывать и ограничивать частоту всех запросов, которые соответствуют утверждению сужения области действия, без дополнительной агрегации. Когда вы решите просто управлять всеми запросами, которые соответствуют утверждению сужения области действия, экземпляр агрегации является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого утверждения, например, внутри NotStatement или OrStatement. Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Для получения дополнительной информации о параметрах см. раздел «Ограничение частоты веб-запросов с помощью правил на основе частоты» в Руководстве разработчика WAF.
Если вы агрегируете только по отдельному IP-адресу или перенаправленному IP-адресу, вы можете получить список IP-адресов, которые WAF в настоящее время ограничивает по частоте для правила, с помощью вызова API GetRateBasedStatementManagedKeys. Этот параметр недоступен для других конфигураций агрегации.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе частоты, которое вы используете. Например, если вы предоставите одни и те же настройки правила на основе частоты в двух веб-ACL, каждое из двух утверждений правила представляет отдельный экземпляр правила на основе частоты и получает собственное отслеживание и управление со стороны WAF. Если вы определяете правило на основе частоты внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе частоты, который получает собственное отслеживание и управление со стороны WAF.
Limit -> (long)
Ограничение на запросы в течение указанного окна оценки для отдельного экземпляра агрегации для правила на основе частоты. Если утверждение на основе частоты включает ScopeDownStatement, это ограничение применяется только к запросам, которые соответствуют утверждению.
Примеры:
- Если вы агрегируете только по IP-адресу, это ограничение на запросы с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это ограничение на запросы для любой отдельной пары метод, город.
EvaluationWindowSec -> (long)
Промежуток времени в секундах, который WAF должен включать в подсчет запросов, заглядывая назад от текущего времени. Например, для настройки 120, когда WAF проверяет частоту, он учитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет частоту, а то, насколько далеко назад он заглядывает при каждой проверке. WAF проверяет частоту примерно каждые 10 секунд.
По умолчанию: 300 (5 минут)
AggregateKeyType -> (string)
Настройка, указывающая, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила на основе частоты.-
CONSTANT- Подсчитывайте и ограничивайте частоту запросов, которые соответствуют утверждению сужения области действия правила на основе частоты. При использовании этого параметра учитываемые запросы больше не агрегируются. Утверждение сужения области действия является единственной используемой спецификацией. Когда количество всех запросов, удовлетворяющих утверждению сужения области действия, превышает лимит, WAF применяет действие правила ко всем запросам, которые удовлетворяют утверждению сужения области действия. При использовании этого параметра необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS- Агрегируйте количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегации. При использовании этого параметра необходимо указать ключи агрегации в свойствеCustomKeys. Чтобы выполнить агрегацию только по IP-адресу или только по перенаправленному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегации вIPилиFORWARDED_IP. -
FORWARDED_IP- Агрегируйте количество запросов по первому IP-адресу в заголовке HTTP. При использовании этого параметра необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы выполнить агрегацию в сочетании с перенаправленным IP-адресом с другими ключами агрегации, используйтеCUSTOM_KEYS. -
IP- Агрегируйте количество запросов по IP-адресу из источника веб-запроса. Чтобы выполнить агрегацию в сочетании с IP-адресом с другими ключами агрегации, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP вместо использования IP-адреса, который сообщается источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это требуется, если вы указываете перенаправленный IP-адрес в настройках ключа агрегации правила.
HeaderName -> (string)
Имя заголовка HTTP, который необходимо использовать для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для этого значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который следует присвоить веб-запросу, если в запросе отсутствует допустимый IP-адрес в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты поведения при сбое:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
CustomKeys -> (list)
Указывает агрегированные ключи для использования в правиле на основе скорости.
(структура)
Указывает один пользовательский агрегированный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегирования, опускаются из оценки и обработки правила на основе скорости.Заголовок -> (структура)
Используйте значение заголовка в запросе в качестве агрегированного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегирования. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве агрегированного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегирования. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве агрегированного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегирования. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
Имя -> (string)
TextTransformations -> (list)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве агрегированного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегирования. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве агрегированного ключа. Каждый отдельный перенаправленный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP или перенаправленный IP в настройках пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по перенаправленному IP-адресу, указав FORWARDED_IP в AggregateKeyType вашего оператора на основе скорости.
При использовании этого параметра необходимо указать заголовок, который будет использоваться в свойстве ForwardedIPConfig правила на основе скорости.
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве агрегированного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегирования.
Когда вы указываете IP или перенаправленный IP в настройках пользовательского ключа, вы также должны указать как минимум один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в AggregateKeyType вашего оператора на основе скорости.
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве агрегированного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегирования. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегирования.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются перед этим правилом на основе скорости в веб-ACL.
Информацию о пространствах имен и именах меток см. в разделе Синтаксис меток и требования к именованию в Руководстве разработчика WAF .
Пространство имен -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве агрегированного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегирования. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегирования.
TextTransformations -> (list)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с самого низкого приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Текстовые преобразования устраняют часть необычного форматирования, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Приоритет -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при резервном копировании:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве пользовательского ключа, каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой AND. Вы предоставляете более одного Statement в пределах AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правила с логикой OR. Вы предоставляете более одного Statement в пределах OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один Statement в пределах NotStatement .
( … recursive … )
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Вы можете получить необходимые имена, вызвав ListAvailableManagedRuleGroups .
Вы не можете вложить ManagedRuleGroupStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в веб-ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet , управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения мошенничества при создании учетной записи (ACFP) AWSManagedRulesACFPRuleSet . Для получения дополнительной информации см. Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые действительные настройки действия, включая Count .(structure)
Указывает отдельное правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любые действительные настройки действия, включая Count .Name -> (string)
Count .( … recursive … )ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группы правил, используемые для смягчения интеллектуальных угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля адреса электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил управления ботами.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил этого не требуют.
Группы правил, используемые для смягчения интеллектуальных угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения в полезной нагрузке запроса на создание учетной записи данных, таких как поля адреса электронной почты пользователя и номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и местоположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите, чтобы использовала группа правил управления ботами.
Примеры спецификаций см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация поля имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этой настройки укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF). Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля —/form/password. - Для типов полезной нагрузки, закодированных в формате формы, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация поля пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Для получения информации об использовании управляемой группы правил Bot Control см. раздел Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применимо только к целевому уровню проверки.
Определяет, следует ли использовать машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium , которые проверяют на наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Список правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet . Используйте это для предоставления информации о запросе на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это также для предоставления информации о том, как ваш дистрибутив отвечает на запросы входа.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функции.
Информацию об использовании управляемой группы правил ATP см. в разделе Предотвращение захвата учетной записи (ATP) WAF Fraud Control и Предотвращение захвата учетной записи (ATP) WAF Fraud Control в Руководстве разработчика WAF .
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL-адреса https://example.com/web/login , вы должны предоставить путь /web/login . Пути входа, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии для проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя -/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя -username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя -/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя -username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля -/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля -password1.
Identifier -> (string)
Имя поля пароля.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля -/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля -password1.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты неудачных попыток входа.
Примечание
Проверка ответа доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа клиента, ведя подсчет успешных и неудачных попыток для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, которые совершили слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
Пример JSON: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
Пример JSON: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Примеры JSON: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Примеры JSON: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачной, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
Пример JSON: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку ответа JSON для индикаторов успеха и сбоя. WAF может проверять первые 65 536 байт (64 КБ) ответа JSON.
Identifier -> (string)
Идентификатор для сопоставления со значением в JSON. Идентификатор должен точно соответствовать, включая регистр.
Примеры JSON: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в ответе JSON, которые указывают на успешную попытку входа или создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в ответе JSON, которые указывают на неудачную попытку входа или создания учетной записи. Чтобы считаться неудачным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
Пример JSON: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet. Используйте это, чтобы предоставить информацию о запросе на создание учетной записи в группе правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Для получения информации об использовании управляемой группы правил ACFP см. группу правил предотвращения мошенничества при создании учетной записи WAF Fraud Control (ACFP) и предотвращение мошенничества при создании учетной записи WAF Fraud Control (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount, вы должны предоставить путь /web/newaccount. Пути страниц создания учетных записей, которые начинаются с предоставленного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетных записей /web/newaccount, /web/newaccount/, /web/newaccountPage и /web/newaccount/thisPage, но не соответствует пути /home/web/newaccount или /website/newaccount.
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой форма регистрации отображается новым пользователям.
Примечание
Эта страница должна приниматьGET запросы text/html.Например, для URL https://example.com/web/registration, вы должны предоставить путь /web/registration. Пути страниц регистрации, которые начинаются с предоставленного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration, /web/registration/, /web/registrationPage и /web/registration/thisPage, но не соответствует пути /home/web/registration или /website/registration.
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего имя пользователя вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего пароль вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля —password1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, содержащего адрес электронной почты вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
Identifier -> (string)
Имя поля электронной почты.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификация поля электронной почты —/form/email. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты —email1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного номера телефона.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторы полей номера телефона —/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторы полей номера телефона —primaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, содержащих основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так же, как они упорядочены в полезной нагрузке запроса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного адреса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторы поля адреса —/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторы полей адреса —primaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания коэффициента успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, ведя подсчет успешных и неудачных попыток с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON пример: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (список)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из этих. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON пример: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (структура)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно точно соответствовать, включая регистр.
JSON пример: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON примеры: "SuccessValues": [ "LoginPassed", "Successful login" ] и "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON примеры: "FailureValues": [ "LoginFailed", "Failed login" ] и "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (структура)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON примеры: "SuccessStrings": [ "Login successful" ] и "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (список)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна точно соответствовать, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON пример: "FailureStrings": [ "Request failed" ]
(string)
Json -> (структура)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен точно соответствовать, включая регистр.
JSON примеры: "Identifier": [ "/login/success" ] и "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON пример: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачей, значение должно точно соответствовать, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON пример: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (список)
Настройки действия, которые будут использоваться вместо действий правил, настроенных внутри группы правил. Вы указываете один override для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку override.Вы можете использовать override для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить то, как группа правил управляет вашим веб-трафиком.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете один override для каждого правила, действие которого вы хотите изменить.
Примечание
Постарайтесь проверить имена правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку override.Вы можете использовать override для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие показатели подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить то, как группа правил управляет вашим веб-трафиком.
Имя -> (string)
Имя правила для переопределения.
Примечание
Постарайтесь проверить имена правил в ваших override. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку override.ActionToUse -> (structure)
Действие override для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, возвращаемый клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или настройке по умолчанию веб-ACL BlockAction, вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(структура)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для обработки пользовательских запросов и ответов. Используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю строку полностью квалифицированного имени метки, которая была добавлена к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полностью квалифицированное имя в своей строке сопоставления меток, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления меток.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора сопоставления:
- Если
ScopeуказываетLABEL, то эта спецификация должна включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс до предоставления полностью квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда берется метка.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентов веб-запроса с одним регулярным выражением.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса в виде обычного текста. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigдля получения дополнительных комиссий за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigдля получения дополнительных комиссий за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерных размеров:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки чрезмерных размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigдля получения дополнительных комиссий за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody.
Необходимо указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND, чтобы объединить два правила сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigдля получения дополнительных комиссий за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки чрезмерных размеров:
-
CONTINUE— обычно проверяйте доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки чрезмерных размеров с параметрами действия вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, превышающего размер, в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое — для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно одну настройку: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если вы укажете ALL , WAF проверяет как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах, а совпадение — в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно для проверки ключей, а другое — для проверки значений.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот параметр можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Log fields (Поля журналов) в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия для присвоения веб-запросу, если у запроса нет отпечатка пальца JA3.
Можно указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот параметр можно использовать только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в значение EXACTLY .Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Log fields (Поля журналов) в Руководстве разработчика WAF .
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (string)
Состояние соответствия для присвоения веб-запросу, если у запроса нет отпечатка пальца JA4.
Можно указать следующие резервные поведения:
-
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить фильтры соответствия области действия и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки службой-хостом. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы-хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Доступны следующие параметры:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к текстовой строке тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. При успешном синтаксическом анализе WAF не применяет поведение при отказе. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегирования. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupStatement -> (structure)
Оператор правила, используемый для запуска правил, которые определены в управляемой группе правил. Чтобы использовать это, укажите имя поставщика и имя группы правил в этом операторе. Необходимые имена можно получить, вызвав ListAvailableManagedRuleGroups.
Нельзя вкладывать ManagedRuleGroupStatement, например, для использования внутри NotStatement или OrStatement. Нельзя использовать управляемую группу правил внутри другой группы правил. Вы можете ссылаться на управляемую группу правил только как на оператор верхнего уровня в правиле, которое вы определяете в web ACL.
Примечание
С вас взимается дополнительная плата при использовании управляемой группы правил WAF Bot ControlAWSManagedRulesBotControlRuleSet, управляемой группы правил WAF Fraud Control для предотвращения захвата учетной записи (ATP) AWSManagedRulesATPRuleSet или управляемой группы правил WAF Fraud Control для предотвращения создания учетной записи (ACFP) AWSManagedRulesACFPRuleSet. Дополнительные сведения см. в разделе Цены на WAF .VendorName -> (string)
Name -> (string)
Version -> (string)
ExcludedRules -> (list)
Правила в указанной группе правил, для которых действия установлены в Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любое допустимое действие, включая Count.(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count.
Примечание
Вместо этого параметра используйтеRuleActionOverrides. Он принимает любое допустимое действие, включая Count.Name -> (string)
Count.ScopeDownStatement -> (structure)
Дополнительный вложенный оператор, который сужает область веб-запросов, оцениваемых управляемой группой правил. Запросы оцениваются группой правил, только если они соответствуют оператору сужения области действия. Вы можете использовать любой вложенный оператор в операторе сужения области действия, и вы можете вкладывать операторы на любом уровне, так же, как и для оператора правила.
ByteMatchStatement -> (structure)
Оператор правила, который определяет поиск соответствия строк для WAF, применяемый к веб-запросам. Оператор соответствия байтов предоставляет байты для поиска, местоположение в запросах, которые вы хотите, чтобы WAF искал, и другие настройки. Байты для поиска обычно представляют собой строку, соответствующую символам ASCII. В консоли WAF и в руководстве разработчика это называется оператором соответствия строк.
SearchString -> (blob)
Строковое значение, которое вы хотите, чтобы WAF искал. WAF выполняет поиск только в той части веб-запросов, которую вы указываете для проверки в FieldToMatch. Максимальная длина значения — 200 байт.
Допустимые значения зависят от компонента, который вы указываете для проверки в FieldToMatch:
-
Method: HTTP-метод, который вы хотите, чтобы WAF искал. Это указывает тип операции, указанной в запросе. -
UriPath: Значение, которое вы хотите, чтобы WAF искал в пути URI, например,/images/daily-ad.jpg. -
JA3Fingerprint: Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствие отпечатку пальца JA3 запроса. Отпечаток пальца JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. Этот выбор можно использовать только с соответствием строкByteMatchStatementсPositionalConstraint, установленным вEXACTLY. Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов web ACL. Если WAF может рассчитать отпечаток пальца, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF . -
HeaderOrder: Список имен заголовков для сопоставления. WAF создает строку, содержащую упорядоченный список имен заголовков из заголовков в веб-запросе, а затем сопоставляет ее с этой строкой.
Если SearchString содержит буквенные символы A-Z и a-z, обратите внимание, что значение чувствительно к регистру.
Укажите версию значения, закодированную в формате base64. Максимальная длина значения перед кодированием base64 составляет 200 байт.
Например, предположим, что значение Type — HEADER, а значение Data — User-Agent. Если вы хотите выполнить поиск в заголовке User-Agent со значением BadBot, вы кодируете BadBot в base64, используя кодирование base64 MIME, и включаете полученное значение, QmFkQm90, в значение SearchString.
Значение, которое вы хотите, чтобы WAF искал. Пакет SDK автоматически кодирует значение в base64.
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может быть длиной до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса непосредственно следует за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL, WAF сопоставляет с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, в значениях или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недопустимого JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access, лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действий вашего правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры для определения области видимости и сопоставления шаблонов в объекте Headers , чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка превышающего размер в объекте Headers . WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedHeaders , либо ExcludedHeaders .
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется совпадение в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверить файлы cookie запроса. Необходимо настроить фильтры для определения области видимости и сопоставления шаблонов в объекте Cookies , чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies . WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All , IncludedCookies , либо ExcludedCookies .
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL , WAF проверяет и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах и чтобы совпадение было найдено в значениях. Требуется совпадение в ключах, значениях или в обоих. Чтобы требовать совпадения в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer .
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки больших размеров следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме, в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Можно использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, в котором достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Можно использовать этот выбор только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint , установленным в значение EXACTLY .Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журналов» в Руководстве разработчика WAF .
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить ее с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, присваиваемый веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Необходимо настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI передаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для неверного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного контента, начиная с самой низкой настройки приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
PositionalConstraint -> (string)
Область в части веб-запроса, в которой вы хотите, чтобы WAF искал SearchString . Допустимые значения включают следующие:
Указанная часть веб-запроса должна включать значение SearchString , но местоположение не имеет значения.
Указанная часть веб-запроса должна включать значение SearchString , а SearchString должен содержать только буквенно-цифровые символы или символ подчеркивания (A-Z, a-z, 0-9 или _). Кроме того, SearchString должен быть словом, что означает, что верны оба следующих условия:
-
SearchStringнаходится в начале указанной части веб-запроса или ему предшествует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_). Примеры включают значение заголовка и;BadBot. -
SearchStringнаходится в конце указанной части веб-запроса или за ним следует символ, отличный от буквенно-цифрового символа или символа подчеркивания (_), например,BadBot;и-BadBot;.
Значение указанной части веб-запроса должно точно соответствовать значению SearchString .
Значение SearchString должно отображаться в начале указанной части веб-запроса.
Значение SearchString должно отображаться в конце указанной части веб-запроса.
SqliMatchStatement -> (structure)
Оператор правил, который проверяет наличие вредоносного SQL-кода. Злоумышленники вставляют вредоносный SQL-код в веб-запросы, чтобы выполнять такие действия, как изменение базы данных или извлечение данных из нее.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg.QueryString -> (структура)
?, если таковая имеется.Body -> (структура)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body.
OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в виде тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Сведения о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов с критериями проверки правил.
All -> (structure)
Соответствовать всем элементам. См. также MatchScope в JsonBody.
Необходимо указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствовать только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Сведения об этом синтаксисе см. в документации Рабочей группы разработки Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Необходимо указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполнит сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах, и чтобы совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих случаях. Чтобы потребовать соответствия ключам и значениям, используйте логическое выражение AND для объединения двух правил соответствия: одно проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверять тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ выполнен успешно, WAF не применяет резервное поведение. Дополнительные сведения см. в разделе «Тело JSON» в Руководстве разработчика WAF.OversizeHandling -> (string)
Что должен делать WAF, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса превышает лимит, базовый хост-сервис пересылает WAF для проверки только содержимое, находящееся в пределах лимита.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE— проверять доступное содержимое тела в обычном режиме в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правил. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правил.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с настройками действий правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого заголовка превышающего размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (structure)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить способ обработки любого содержимого файла cookie превышающего размер в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр для использования для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF следует делать, если файлов cookie запроса больше, чем WAF может проверить, или они больше. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF следует делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Параметры обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA3 запроса. Отпечаток пальца JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте отпечаток пальца JA4 запроса. Отпечаток пальца JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Для получения информации о полях ведения журнала см. раздел «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который необходимо присвоить веб-запросу, если в запросе нет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий заявлению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий заявлению правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если ему не удается полностью проанализировать тело JSON. Доступны следующие опции:
-
EVALUATE_AS_STRING- Проверять тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах соответствия правилам, для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед использованием их в качестве пользовательских ключей агрегации. Если вы указываете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
SensitivityLevel -> (string)
Уровень чувствительности, который вы хотите, чтобы WAF использовал для проверки атак типа SQL injection.
HIGH обнаруживает больше атак, но может генерировать больше ложных срабатываний, особенно если ваши веб-запросы часто содержат необычные строки. Информацию об определении и смягчении ложных срабатываний см. в разделе Testing and tuning в WAF Developer Guide .
LOW обычно является лучшим выбором для ресурсов, которые уже имеют другую защиту от атак типа SQL injection или имеют низкую толерантность к ложным срабатываниям.
Default: LOW
XssMatchStatement -> (structure)
Оператор правила, который проверяет наличие атак межсайтового скриптинга (XSS). При атаках XSS злоумышленник использует уязвимости в безобидном веб-сайте в качестве средства для внедрения вредоносных клиентских сценариев в другие легитимные веб-браузеры.
FieldToMatch -> (структура)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (структура)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
В качестве альтернативы вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (структура)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (структура)
UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверьте тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставить только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Он требует, чтобы совпадение было найдено в ключах, или в значениях, или в обоих. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое утверждение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычно проверять доступное содержимое тела в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с настройками действия вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Headers, чтобы определить набор заголовков и части заголовков, которые проверяет WAF.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка, размер которого превышает допустимый, в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (list)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (list)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется найти соответствие в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (structure)
Проверьте файлы cookie запроса. Необходимо настроить фильтры области и сопоставления шаблонов в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые проверяет WAF.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, размер которого превышает допустимый, в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (structure)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (structure)
IncludedCookies -> (list)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (list)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для проверки с критериями проверки правил. Если вы укажете ALL, WAF проверяет как ключи, так и значения.
All не требует нахождения соответствия в ключах и нахождения соответствия в значениях. Требуется найти соответствие в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое — значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает не более 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (structure)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления полей в своей проверке. WAF разделяет имена заголовков в строке с использованием двоеточий и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает не более 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который следует присвоить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (structure)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, у которого достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Этот выбор можно использовать только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях ведения журнала см. в разделе Log fields в WAF Developer Guide.
Предоставьте строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус сопоставления, который следует присвоить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие резервные варианты поведения:
-
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить область действия и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить обработку любого содержимого фрагмента URI сверх размера в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, и они используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста исключают некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
SizeConstraintStatement -> (structure)
Оператор правила, который сравнивает количество байтов с размером компонента запроса, используя оператор сравнения, например, больше (>) или меньше (<). Например, можно использовать оператор ограничения размера для поиска строк запроса, длина которых превышает 100 байт.
Если настроить WAF для проверки тела запроса, WAF проверяет только количество байтов в теле запроса до предела для типа веб-ACL и защищенного ресурса. Если известно, что тело запроса для ваших веб-запросов никогда не должно превышать предел проверки, можно использовать оператор ограничения размера для блокировки запросов, размер тела которых больше. Для получения дополнительной информации об ограничениях проверки см. настройки Body и JsonBody для типа данных FieldToMatch.
Если вы выберете URI для значения Часть запроса для фильтрации, косая черта (/) в URI считается одним символом. Например, URI /logo.jpg имеет длину девять символов.
FieldToMatch -> (structure) - Поле для сопоставления -> (структура)
Часть веб-запроса, которую вы хотите проверить с помощью WAF.
SingleHeader -> (structure) - SingleHeader -> (структура)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string) - Имя -> (строка)
SingleQueryArgument -> (structure) - SingleQueryArgument -> (структура)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion . Имя может содержать до 30 символов и не чувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string) - Имя -> (строка)
AllQueryArguments -> (structure) - AllQueryArguments -> (структура)
UriPath -> (structure) - UriPath -> (структура)
/images/daily-ad.jpg .QueryString -> (structure) - QueryString -> (структура)
? , если таковой имеется.Body -> (structure) - Body -> (структура)
Проверьте тело запроса как простой текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше предела, базовая служба хоста пересылает только содержимое, которое находится в пределах предела, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с большим размером, см. конфигурацию объекта Body.
OversizeHandling -> (string) - OversizeHandling -> (строка)
Что должен делать WAF, если тело запроса больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше предела, базовая служба хоста пересылает только содержимое, которое находится в пределах предела, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure) - Method -> (структура)
JsonBody -> (structure) - JsonBody -> (структура)
Проверьте тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, содержащая любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше предела, базовая служба хоста пересылает только содержимое, которое находится в пределах предела, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов с большим размером, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure) - MatchPattern -> (структура)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure) - Все -> (структура)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list) - IncludedPaths -> (список)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody .
Укажите пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Для получения информации об этом синтаксисе см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string) - (строка)
MatchScope -> (string) - MatchScope -> (строка)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF выполняет сопоставление с ключами и значениями.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, или в значениях, или и в том, и в другом. Чтобы потребовать совпадения в ключах и в значениях, используйте логическое оператор AND для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое проверяет значения.InvalidFallbackBehavior -> (string) - InvalidFallbackBehavior -> (строка)
Что должен делать WAF, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он столкнется.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для неверного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. body JSON в Руководстве разработчика WAF .OversizeHandling -> (string) - OversizeHandling -> (строка)
Что должен делать WAF, если тело запроса больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает ограничение для типа ресурса. Когда тело веб-запроса больше предела, базовая служба хоста пересылает только содержимое, которое находится в пределах предела, в WAF для проверки.
- Для Application Load Balancer и AppSync ограничение фиксировано на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access ограничение по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить ограничение для каждого типа ресурса в веб-ACL
AssociationConfig, за дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела запроса в обычном режиме в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить настройки MATCH или NO_MATCH для обработки больших размеров с вашими настройками действий правила и веб-ACL, чтобы заблокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure) - Headers -> (структура)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовка сверх размера в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для определения подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части заголовков, которые необходимо сопоставить с критериями проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса больше или превышают объем, который WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файла cookie сверх размера в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для использования для определения подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из строк, указанных здесь.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из строк, указанных здесь.
(строка)
MatchScope -> (строка)
Части файлов cookie, которые необходимо проверить с помощью критериев проверки правила. Если указать ALL, WAF проверяет как ключи, так и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы соответствие было найдено в ключах, значениях или обоих. Чтобы требовать соответствия в ключах и значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлов cookie запроса больше или превышают объем, который WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные файлы cookie в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том виде, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента для сопоставления поля в своей проверке. WAF разделяет имена заголовков в строке с помощью двоеточий и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса больше или превышают объем, который WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки превышения размера следующие:
-
CONTINUE- Проверять доступные заголовки в обычном режиме в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот выбор можно только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, назначаемый веб-запросу, если запрос не имеет отпечатка JA3.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который содержит достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Использовать этот выбор можно только с сопоставлением строкByteMatchStatement с параметром PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Сведения о полях журналов см. в разделе «Поля журналов» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить с любыми будущими запросами с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, назначаемый веб-запросу, если запрос не имеет отпечатка JA4.
Можно указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры области видимости и сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любой контент фрагмента URI, превышающий размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что должен делать WAF, если не удается полностью обработать JSON-тело. Доступны следующие варианты:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF обрабатывает и оценивает содержимое только до первой ошибки синтаксического анализа, с которой он сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
WAF синтаксический анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может пройти даже для недействительного JSON. Когда синтаксический анализ выполнен успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в Руководстве разработчика WAF .ComparisonOperator -> (string)
Size -> (long)
TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования над указанным содержимым, начиная с настройки самого низкого приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматирования, которые злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
GeoMatchStatement -> (structure)
Оператор правила, который помечает веб-запросы по стране и региону и соответствует веб-запросам на основе кода страны. Правило соответствия геопозиции помечает каждый проверяемый запрос независимо от того, находит ли он совпадение.
- Чтобы управлять запросами только по стране, вы можете использовать этот оператор сам по себе и указать страны, с которыми вы хотите сопоставить, в массиве
CountryCodes. - В противном случае настройте свое правило соответствия геопозиции с действием Count, чтобы оно только помечало запросы. Затем добавьте одно или несколько правил соответствия меткам для запуска после правила соответствия геопозиции и настройте их для соответствия географическим меткам и обработки запросов по мере необходимости.
WAF помечает запросы, используя двухзначные коды стран и регионов из международного стандарта ISO 3166 Международной организации по стандартизации (ISO). WAF определяет коды, используя либо IP-адрес в источнике веб-запроса, либо, если вы его укажете, адрес в ForwardedIPConfig соответствия геопозиции.
Если вы используете источник веб-запроса, форматы меток: awswaf:clientip:geo:region:<ISO country code>-<ISO region code> и awswaf:clientip:geo:country:<ISO country code>.
Если вы используете перенаправленный IP-адрес, форматы меток: awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> и awswaf:forwardedip:geo:country:<ISO country code>.
Дополнительные сведения см. в разделе Geographic match rule statement в Руководстве разработчика WAF.
CountryCodes -> (list)
Массив двухбуквенных кодов стран, с которыми вы хотите сопоставить, например, [ "US", "CN" ], из двухзначных кодов стран ISO стандарта ISO 3166.
Когда вы используете оператор соответствия геопозиции только для меток региона и страны, которые он добавляет к запросам, вам все равно придется указать код страны для оценки правила. В этом случае вы настраиваете правило только для подсчета соответствующих запросов, но оно по-прежнему будет генерировать ведение журнала и показатели подсчета для любых совпадений. Вы можете уменьшить ведение журнала и показатели, которые создает правило, указав страну, которая вряд ли будет источником трафика на ваш сайт.
(string)
ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в заголовке HTTP, который вы указываете, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя заголовка HTTP, который будет использоваться для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
RuleGroupReferenceStatement -> (structure)
Оператор правила, используемый для запуска правил, определенных в RuleGroup. Чтобы использовать это, создайте группу правил с вашими правилами, а затем укажите ARN группы правил в этом операторе.
Нельзя вкладывать RuleGroupReferenceStatement , например, для использования внутри NotStatement или OrStatement . Нельзя использовать оператор ссылки на группу правил внутри другой группы правил. Вы можете ссылаться на группу правил только как оператор верхнего уровня в правиле, которое вы определяете в web ACL.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылающейся группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Настройки действий, которые следует использовать вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Не забудьте проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Параметр действия, который следует использовать вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Не забудьте проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете постоянно переопределять некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Не забудьте проверить имена правил в ваших переопределениях. Если вы укажете имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит параметр переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP, который нужно вернуть клиенту.
Список кодов состояния, которые можно использовать в пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или в параметре BlockAction действия по умолчанию веб-ACL вы ссылаетесь на тело ответа с помощью этого ключа.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type . Дублирование имен заголовков запрещено.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
При вставке пользовательского заголовка запроса WAF при вставке заголовка в запрос добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
При вставке пользовательского заголовка запроса WAF при вставке заголовка в запрос добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитывать веб-запрос, а затем продолжать оценку запроса с использованием оставшихся правил в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
При вставке пользовательского заголовка запроса WAF при вставке заголовка в запрос добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
При вставке пользовательского заголовка запроса WAF при вставке заголовка в запрос добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Сведения о настройке веб-запросов и ответов см. в разделе Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков запрещено.
Сведения об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. в разделе Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
При вставке пользовательского заголовка запроса WAF при вставке заголовка в запрос добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
IPSetReferenceStatement -> (structure)
Оператор правила, используемый для обнаружения веб-запросов, поступающих с определенных IP-адресов или диапазонов адресов. Чтобы использовать это, создайте набор IPSet, который указывает адреса, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Чтобы создать набор IP, см. CreateIPSet.
Каждый оператор правила набора IP ссылается на набор IP. Вы создаете и поддерживаете набор независимо от своих правил. Это позволяет вам использовать один набор в нескольких правилах. Когда вы обновляете ссылочный набор, WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
IPSetForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами HTTP-заголовке вместо использования IP-адреса, сообщаемого источником веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.HeaderName -> (string)
Имя HTTP-заголовка, используемого для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите это значение в X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если запрос не содержит действительного IP-адреса в указанной позиции.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие варианты резервного поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Position -> (string)
Позиция в заголовке для поиска IP-адреса. Заголовок может содержать IP-адреса исходного клиента, а также прокси-серверов. Например, значение заголовка может быть 10.1.1.1, 127.0.0.0, 10.10.10.10, где первый IP-адрес идентифицирует исходного клиента, а остальные идентифицируют прокси-серверы, через которые прошел запрос.
Варианты этой настройки следующие:
- FIRST - Проверить первый IP-адрес в списке IP-адресов в заголовке. Обычно это исходный IP-адрес клиента.
- LAST - Проверить последний IP-адрес в списке IP-адресов в заголовке.
- ANY - Проверить все IP-адреса в заголовке на соответствие. Если заголовок содержит более 10 IP-адресов, WAF проверяет последние 10.
RegexPatternSetReferenceStatement -> (structure)
Оператор правила, используемый для поиска соответствий в компонентах веб-запроса с помощью регулярных выражений. Чтобы использовать это, создайте RegexPatternSet, который указывает выражения, которые вы хотите обнаружить, затем используйте ARN этого набора в этом операторе. Веб-запрос соответствует оператору правила набора шаблонов, если компонент запроса соответствует любому из шаблонов в наборе. Чтобы создать набор шаблонов regex, см. CreateRegexPatternSet.
Каждый оператор правила набора шаблонов regex ссылается на набор шаблонов regex. Вы создаете и поддерживаете набор независимо от ваших правил. Это позволяет вам использовать один набор в нескольких правилах. При обновлении ссылочного набора WAF автоматически обновляет все правила, которые ссылаются на него.
ARN -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверьте один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр нечувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете фильтровать и проверять все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверьте один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и нечувствительно к регистру.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковая имеется.Body -> (structure)
Проверьте тело запроса как простой текст. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с настройками действий вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверьте тело запроса как JSON. Тело запроса следует сразу после заголовков запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов, превышающие размер, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставьте все элементы. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Сопоставьте только указанные пути включения. См. также MatchScope в JsonBody.
Предоставьте пути включения, используя синтаксис указателя JSON. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы совпадение было найдено в ключах и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах, значениях или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, а другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как простой текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
WAF-анализ не полностью проверяет входную строку JSON, поэтому синтаксический анализ может быть успешным даже для неверного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Дополнительную информацию см. в разделе JSON body в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если тело больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, находящееся в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE- Обычным образом проверьте доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете комбинировать параметры MATCH или NO_MATCH для обработки превышения размера с настройками действий вашего правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого заголовка, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверять только заголовки, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedHeaders -> (список)
Проверять только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части заголовков для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки нестандартного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверять только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(строка)
ExcludedCookies -> (список)
Проверять только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(строка)
MatchScope -> (строка)
Части файлов cookie для сопоставления с критериями проверки правила. Если указать ALL, WAF проверит как ключи, так и значения.
All не требует совпадения в ключах и совпадения в значениях. Он требует совпадения в ключах или значениях, или в обоих. Чтобы потребовать соответствия в ключах и значениях, используйте логическое утверждение AND для объединения двух правил сопоставления: одного, которое проверяет ключи, и другого, которое проверяет значения.OversizeHandling -> (строка)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, если они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки нестандартного размера следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверить строку, содержащую список имен заголовков запроса в том порядке, в котором они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонентов при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавления пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (строка)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, если они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовка в WAF.
Варианты обработки нестандартного размера следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA3 запроса. Отпечаток JA3 — это 32-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с настройкой PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставление с отпечатком JA4 запроса. Отпечаток JA4 — это 36-символьный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и записывает этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с соответствием строкиByteMatchStatement с настройкой PositionalConstraint на EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях ведения журнала см. в разделе Поля журнала в Руководстве разработчика WAF.
Предоставьте строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы она соответствовала любым будущим запросам с той же конфигурацией TLS.
FallbackBehavior -> (строка)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Можно указать следующие резервные варианты поведения:
-
MATCH- Рассматривать веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить область и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку любого содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Обрабатывать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Обрабатывать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите эту настройку, WAF анализирует и оценивает содержимое только до первой ошибки анализа, с которой он столкнется.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может быть успешным даже для недействительного JSON. Когда анализ успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Преобразования текста используются в операторах сопоставления правил для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования указанного содержимого, начиная с самой низкой настройки приоритета, а затем использует содержимое преобразованного компонента.
(structure)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
RateBasedStatement -> (structure)
Правило на основе скорости подсчитывает входящие запросы и ограничивает скорость запросов, когда они поступают со слишком высокой скоростью. Правило классифицирует запросы в соответствии с вашими критериями агрегирования, собирает их в экземпляры агрегирования, а также подсчитывает и ограничивает скорость запросов для каждого экземпляра.
Примечание
Если вы измените какие-либо из этих настроек в правиле, которое в настоящее время используется, изменение сбрасывает счетчики ограничения скорости правила. Это может приостановить действия по ограничению скорости правила на срок до минуты.Вы можете указать отдельные ключи агрегирования, такие как IP-адрес или метод HTTP. Вы также можете указать комбинации ключей агрегирования, например IP-адрес и метод HTTP или метод HTTP, аргумент запроса и cookie.
Каждый уникальный набор значений для указанных вами ключей агрегирования представляет собой отдельный экземпляр агрегирования, причем значение каждого ключа вносит вклад в определение экземпляра агрегирования.
Например, предположим, что правило оценивает веб-запросы со следующими значениями IP-адреса и метода HTTP:
- IP-адрес 10.1.1.1, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
- IP-адрес 127.0.0.0, метод HTTP POST
- IP-адрес 10.1.1.1, метод HTTP GET
Правило создаст разные экземпляры агрегирования в соответствии с вашими критериями агрегирования, например:
- Если критерием агрегирования является только IP-адрес, то каждый отдельный адрес является экземпляром агрегирования, и WAF подсчитывает запросы отдельно для каждого. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1: количество 3
- IP-адрес 127.0.0.0: количество 1
- Если критерием агрегирования является метод HTTP, то каждый отдельный метод HTTP является экземпляром агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- Метод HTTP POST: количество 2
- Метод HTTP GET: количество 2
- Если критерием агрегирования является IP-адрес и метод HTTP, то каждый IP-адрес и каждый метод HTTP будут вносить вклад в объединенный экземпляр агрегирования. Экземпляры агрегирования и количество запросов для нашего примера будут следующими:
- IP-адрес 10.1.1.1, метод HTTP POST: количество 1
- IP-адрес 10.1.1.1, метод HTTP GET: количество 2
- IP-адрес 127.0.0.0, метод HTTP POST: количество 1
Для любой n-кортежа ключей агрегирования каждая уникальная комбинация значений для ключей определяет отдельный экземпляр агрегирования, который WAF подсчитывает и ограничивает скорость индивидуально.
При необходимости вы можете вложить другое выражение в выражение на основе скорости, чтобы сузить область действия правила, чтобы оно подсчитывало и ограничивало скорость только тех запросов, которые соответствуют вложенному выражению. Вы можете использовать это вложенное выражение для сужения области действия в сочетании со спецификациями ключей агрегирования, или вы можете просто подсчитывать и ограничивать скорость всех запросов, соответствующих выражению сужения области действия, без дополнительного агрегирования. Если вы решите просто управлять всеми запросами, которые соответствуют выражению сужения области действия, экземпляр агрегирования является единственным для правила.
Вы не можете вложить RateBasedStatement внутри другого выражения, например, внутри NotStatement или OrStatement. Вы можете определить RateBasedStatement внутри веб-ACL и внутри группы правил.
Дополнительную информацию о параметрах см. в разделе Ограничение скорости веб-запросов с помощью правил на основе скорости в Руководстве разработчика WAF.
Если вы агрегируете только по отдельному IP-адресу или пересланному IP-адресу, вы можете получить список IP-адресов, для которых WAF в данный момент ограничивает скорость для правила, с помощью вызова API GetRateBasedStatementManagedKeys. Этот параметр недоступен для других конфигураций агрегирования.
WAF отслеживает и управляет веб-запросами отдельно для каждого экземпляра правила на основе скорости, которое вы используете. Например, если вы предоставите одинаковые параметры правила на основе скорости в двух веб-ACL, каждое из двух выражений правила представляет отдельный экземпляр правила на основе скорости и получает собственное отслеживание и управление от WAF. Если вы определяете правило на основе скорости внутри группы правил, а затем используете эту группу правил в нескольких местах, каждое использование создает отдельный экземпляр правила на основе скорости, который получает собственное отслеживание и управление от WAF.
Limit -> (long)
Предел запросов в течение указанного окна оценки для одного экземпляра агрегирования для правила на основе скорости. Если выражение на основе скорости включает ScopeDownStatement, этот предел применяется только к запросам, соответствующим выражению.
Примеры:
- Если вы агрегируете только по IP-адресу, это предел запросов с любого отдельного IP-адреса.
- Если вы агрегируете по методу HTTP и имени аргумента запроса «city», то это предел запросов для любой отдельной пары method, city.
EvaluationWindowSec -> (long)
Количество времени в секундах, которое WAF должен включать в свои подсчеты запросов, оглядываясь назад с текущего момента времени. Например, при настройке 120, когда WAF проверяет скорость, он подсчитывает запросы за 2 минуты, непосредственно предшествующие текущему времени. Допустимые значения: 60, 120, 300 и 600.
Эта настройка не определяет, как часто WAF проверяет скорость, а то, как далеко назад он смотрит при каждой проверке. WAF проверяет скорость примерно каждые 10 секунд.
По умолчанию: 300 (5 minutes)
AggregateKeyType -> (string)
Параметр, указывающий, как агрегировать количество запросов.
Примечание
Веб-запросы, в которых отсутствуют какие-либо из компонентов, указанных в ключах агрегирования, исключаются из оценки и обработки правила на основе скорости.-
CONSTANT— Подсчитывать и ограничивать скорость запросов, соответствующих выражению сужения области действия правила на основе скорости. С этим параметром подсчитываемые запросы не агрегируются далее. Выражение сужения области действия — единственная используемая спецификация. Когда количество всех запросов, удовлетворяющих выражению сужения области действия, превышает предел, WAF применяет действие правила ко всем запросам, удовлетворяющим выражению сужения области действия. С этим параметром необходимо настроить свойствоScopeDownStatement. -
CUSTOM_KEYS— Агрегировать количество запросов, используя один или несколько компонентов веб-запроса в качестве ключей агрегирования. С этим параметром необходимо указать ключи агрегирования в свойствеCustomKeys. Чтобы агрегировать только по IP-адресу или только по пересланному IP-адресу, не используйте пользовательские ключи. Вместо этого установите тип ключа агрегирования вIPилиFORWARDED_IP. -
FORWARDED_IP— Агрегировать количество запросов по первому IP-адресу в заголовке HTTP. С этим параметром необходимо указать заголовок для использования в свойствеForwardedIPConfig. Чтобы агрегировать по комбинации пересланного IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS. -
IP— Агрегировать количество запросов по IP-адресу из источника веб-запроса. Чтобы агрегировать по комбинации IP-адреса с другими ключами агрегирования, используйтеCUSTOM_KEYS.
( … recursive … )ForwardedIPConfig -> (structure)
Конфигурация для проверки IP-адресов в указанном вами заголовке HTTP, вместо использования IP-адреса, о котором сообщает источник веб-запроса. Обычно это заголовок X-Forwarded-For (XFF), но вы можете указать любое имя заголовка.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Это необходимо, если вы указываете пересланный IP-адрес в настройках ключа агрегирования правила.
HeaderName -> (string)
Имя заголовка HTTP для использования для IP-адреса. Например, чтобы использовать заголовок X-Forwarded-For (XFF), установите для него значение X-Forwarded-For.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.FallbackBehavior -> (string)
Состояние соответствия, которое следует присвоить веб-запросу, если запрос не содержит допустимого IP-адреса в указанном положении.
Примечание
Если указанный заголовок отсутствует в запросе, WAF вообще не применяет правило к веб-запросу.Вы можете указать следующие резервные варианты поведения:
-
MATCH— Рассматривать веб-запрос как соответствующий выражению правила. WAF применяет действие правила к запросу. -
NO_MATCH— Рассматривать веб-запрос как не соответствующий выражению правила.
CustomKeys -> (list)
Задает совокупные ключи для использования в правиле на основе скорости.
(структура)
Задает один пользовательский совокупный ключ для правила на основе скорости.
Примечание
Веб-запросы, в которых отсутствуют какие-либо компоненты, указанные в ключах агрегации, исключаются из оценки и обработки правила на основе скорости.Header -> (структура)
Используйте значение заголовка в запросе в качестве совокупного ключа. Каждое отдельное значение в заголовке вносит вклад в экземпляр агрегации. Если вы используете один заголовок в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
Cookie -> (structure)
Используйте значение cookie в запросе в качестве совокупного ключа. Каждое отдельное значение в cookie вносит вклад в экземпляр агрегации. Если вы используете один cookie в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryArgument -> (structure)
Используйте указанный аргумент запроса в качестве совокупного ключа. Каждое отдельное значение для именованного аргумента запроса вносит вклад в экземпляр агрегации. Если вы используете один аргумент запроса в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
Name -> (string)
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
QueryString -> (structure)
Используйте строку запроса запроса в качестве совокупного ключа. Каждая отдельная строка вносит вклад в экземпляр агрегации. Если вы используете только строку запроса в качестве пользовательского ключа, то каждая строка полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
HTTPMethod -> (structure)
ForwardedIP -> (structure)
Используйте первый IP-адрес в заголовке HTTP в качестве совокупного ключа. Каждый отдельный переадресованный IP-адрес вносит вклад в экземпляр агрегации.
Когда вы указываете IP или переадресованный IP в настройках пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по переадресованному IP-адресу, указав FORWARDED_IP в операторе на основе скорости AggregateKeyType .
С этим параметром вы должны указать заголовок для использования в правиле на основе скорости ForwardedIPConfig .
IP -> (structure)
Используйте исходный IP-адрес запроса в качестве совокупного ключа. Каждый отдельный IP-адрес вносит вклад в экземпляр агрегации.
Когда вы указываете IP или переадресованный IP в настройках пользовательского ключа, вы также должны указать хотя бы один другой ключ для использования. Вы можете агрегировать только по IP-адресу, указав IP в операторе на основе скорости AggregateKeyType .
LabelNamespace -> (structure)
Используйте указанное пространство имен метки в качестве совокупного ключа. Каждое отдельное полное имя метки, имеющее указанное пространство имен метки, вносит вклад в экземпляр агрегации. Если вы используете только одно пространство имен метки в качестве пользовательского ключа, то каждое имя метки полностью определяет экземпляр агрегации.
Это использует только метки, которые были добавлены в запрос правилами, которые оцениваются до этого правила на основе скорости в веб-ACL.
Информацию о пространствах имен и именах меток см. в разделе Label syntax and naming requirements в WAF Developer Guide .
Namespace -> (string)
UriPath -> (structure)
Используйте путь URI запроса в качестве совокупного ключа. Каждый отдельный путь URI вносит вклад в экземпляр агрегации. Если вы используете только путь URI в качестве пользовательского ключа, то каждый путь URI полностью определяет экземпляр агрегации.
TextTransformations -> (list)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования для указанного содержимого, начиная с наименьшей настройки приоритета, а затем использует преобразованное содержимое компонента.
(структура)
Преобразования текста устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, чтобы обойти обнаружение.
Priority -> (integer)
Type -> (string)
JA3Fingerprint -> (structure)
Используйте отпечаток JA3 запроса в качестве совокупного ключа. Если вы используете один отпечаток JA3 в качестве пользовательского ключа, то каждое значение полностью определяет экземпляр агрегации.
FallbackBehavior -> (string)
Статус соответствия для назначения веб-запросу, если недостаточно информации TLS Client Hello для вычисления отпечатка JA3.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Считать веб-запрос соответствующим оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Считать веб-запрос не соответствующим оператору правила.
JA4Fingerprint -> (structure)
Используйте отпечаток JA4 запроса в качестве агрегированного ключа. Если вы используете один отпечаток JA4 в качестве своего пользовательского ключа, то каждое значение полностью определяет экземпляр агрегирования.
FallbackBehavior -> (string)
Статус соответствия, который будет присвоен веб-запросу, если недостаточно информации TSL Client Hello для вычисления отпечатка JA4.
Вы можете указать следующие варианты поведения при отказе:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
AndStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой AND. Вы предоставляете более одного оператора в рамках AndStatement .
Statements -> (list)
Операторы для объединения с логикой AND. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
OrStatement -> (structure)
Логический оператор правила, используемый для объединения других операторов правил с логикой OR. Вы предоставляете более одного оператора в рамках OrStatement .
Statements -> (list)
Операторы для объединения с логикой OR. Вы можете использовать любые операторы, которые могут быть вложены.
( … recursive … )
NotStatement -> (structure)
Логический оператор правила, используемый для отрицания результатов другого оператора правила. Вы предоставляете один оператор в рамках NotStatement .
( … recursive … )
( … recursive … )LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, добавленными к веб-запросу правилами, которые уже выполнялись в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю часть полностью квалифицированного имени метки, которая была добавлена к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полное квалифицированное имя в строке сопоставления метки, WAF выполнит поиск меток, добавленных в том же контексте, что и оператор сопоставления метки.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от настройки Scope оператора сопоставления:
- Если
ScopeуказываетLABEL, то это определение должно включать имя и может включать любое количество предыдущих определений пространства имен и префикс до предоставления полностью квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то это определение может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен метки из группы правил или веб-ACL, откуда происходит метка.
Метки чувствительны к регистру, и компоненты метки должны быть разделены двоеточием, например NS1:NS2:name .
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска соответствия компонентов веб-запроса одному регулярному выражению.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверял.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer . Этот параметр не учитывает регистр.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, можно отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch .
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например, UserName или SalesRegion . Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg .QueryString -> (structure)
? , если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта Body .
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Информацию о том, как обрабатывать тела запросов большого размера, см. в конфигурации объекта JsonBody .
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правила.
All -> (structure)
Сопоставить все элементы. См. также MatchScope в JsonBody .
Вы должны указать либо этот параметр, либо параметр IncludedPaths , но не оба.
IncludedPaths -> (list)
Сопоставлять только указанные пути включения. См. также MatchScope в JsonBody .
Предоставьте пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"] . Информацию об этом синтаксисе см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer .
Вы должны указать либо этот параметр, либо параметр All , но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll .(string)
MatchScope -> (string)
Части JSON для сопоставления с помощью MatchPattern . Если вы укажете ALL , WAF сопоставляет ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логический оператор AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING— проверить тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой он сталкивается.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет поведение резервного копирования. Для получения дополнительной информации см. тело JSON в Руководстве разработчика WAF .OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовая служба хоста пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительные сборы за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки превышения размера следующие:
-
CONTINUE— обычно проверять доступное содержимое тела в соответствии с критериями проверки правила. -
MATCH— рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH— рассматривать веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки превышения размера с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого заголовков, превышающего размер, в объекте Headers. WAF применяет фильтры соответствия шаблону к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества заголовков, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedHeaders или ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверяйте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверяйте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Необходимо настроить фильтры соответствия области и шаблону в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого файлов cookie, превышающего размер, в объекте Cookies. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр для определения подмножества файлов cookie, которые необходимо проверить в веб-запросе.
Необходимо указать ровно один параметр: либо All, IncludedCookies или ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверяйте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверяйте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правила. Если вы укажете ALL, WAF проверит и ключи, и значения.
All не требует, чтобы совпадение было найдено в ключах, и совпадение было найдено в значениях. Требуется, чтобы совпадение было найдено в ключах или значениях, или в обоих. Чтобы потребовать совпадения в ключах и значениях, используйте логическое AND утверждение для объединения двух правил сопоставления, одно из которых проверяет ключи, а другое - значения.OversizeHandling -> (string)
Что WAF должен делать, если файлов cookie запроса больше или они больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные файлы cookie в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных так, как они отображаются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве поля для сопоставления компонента при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем может проверить WAF. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки больших размеров следующие:
-
CONTINUE- Обычно проверяйте доступные заголовки в соответствии с критериями проверки правила. -
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA3 запроса. Отпечаток JA3 представляет собой 32-символьный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA3 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA3.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Сопоставьте с отпечатком JA4 запроса. Отпечаток JA4 представляет собой 36-символьный хеш, полученный из TLS Client Hello входящего запроса. Этот отпечаток служит уникальным идентификатором конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток для каждого запроса, который имеет достаточно информации TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот выбор только с сопоставлением строкByteMatchStatement с PositionalConstraint, установленным в EXACTLY.Вы можете получить отпечаток JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток, он включает его в журналы. Информацию о полях журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Укажите строку отпечатка JA4 из журналов в спецификации сопоставления строк, чтобы сопоставить ее с любыми будущими запросами, имеющими ту же конфигурацию TLS.
FallbackBehavior -> (string)
Статус соответствия, который необходимо присвоить веб-запросу, если у запроса нет отпечатка JA4.
Вы можете указать следующие резервные поведения:
-
MATCH- Рассматривайте веб-запрос как соответствующий утверждению правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий утверждению правила.
UriFragment -> (структура)
Проверьте фрагменты URI запроса. Необходимо настроить scope и фильтры сопоставления шаблонов в объекте UriFragment, чтобы определить фрагмент URI, который проверяет WAF.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Необходимо настроить обработку содержимого фрагмента URI, превышающего размер, в объекте UriFragment. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF следует делать, если он не может полностью проанализировать тело JSON. Возможны следующие варианты:
-
EVALUATE_AS_STRING- Проверить тело как обычный текст. WAF применяет преобразования текста и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает содержимое только до первой ошибки синтаксического анализа, с которой сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Синтаксический анализ WAF не полностью проверяет входную строку JSON, поэтому синтаксический анализ может завершиться успешно даже для недействительного JSON. Когда синтаксический анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. JSON body в WAF Developer Guide .TextTransformations -> (list)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение. Преобразования текста используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса перед их использованием в качестве пользовательских ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполняет все преобразования указанного содержимого, начиная с наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Преобразования текста устраняют некоторые необычные форматы, которые злоумышленники используют в веб-запросах, чтобы попытаться обойти обнаружение.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения и расположения в полезной нагрузке запроса на создание учетной записи данных, таких как электронная почта пользователя и поля номера телефона. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа в ваше приложение и расположения в полезной нагрузке запроса на вход данных, таких как имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSetдля настройки уровня защиты, который вы хотите использовать для группы правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию вAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя:/form/username. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для формы HTML с элементом input с именем
username1спецификация поля имени пользователя:username1
PasswordField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля:/form/password. - Для типов полезной нагрузки с кодировкой формы используйте имена форм HTML. Например, для формы HTML с элементом input с именем
password1спецификация поля пароля:password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе WAF Bot Control rule group и WAF Bot Control в WAF Developer Guide .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применимо только к целевому уровню проверки.
Определяет, использовать ли машинное обучение (ML) для анализа вашего веб-трафика на предмет действий, связанных с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium, которые проверяют аномальное поведение, которое может указывать на распределенную, координированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в разделе Bot Control rules listing в WAF Developer Guide .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил защиты от захвата учетных записей (ATP), AWSManagedRulesATPRuleSet . Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Информацию об использовании управляемой группы правил ATP см. в разделе WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в WAF Developer Guide .
LoginPath -> (string)
Путь к конечной точке входа для вашего приложения. Например, для URL https://example.com/web/login , вы предоставите путь /web/login . Пути входа, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login , /web/login/ , /web/loginPage и /web/login/thisPage , но не соответствует пути входа /home/web/login или /website/login .
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя —username1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация поля имени пользователя —/form/username. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификация поля имени пользователя —username1
PasswordField -> (structure)
Название поля в полезных данных запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля —password1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. Информацию о синтаксисе указателя JSON см. в документации Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификация поля пароля —/form/password. - Для типов полезных данных, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификация поля пароля —password1.
ResponseInspection -> (structure)
Критерии проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания показателей отказов входа.
Примечание
Проверка ответов доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа в систему, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Название заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, строка может быть в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор для сопоставления значения в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросе на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетных записей.
Для получения информации об использовании управляемой группы правил ACFP см. группу правил предотвращения мошенничества при создании учетной записи WAF Fraud Control (ACFP) и предотвращение мошенничества при создании учетной записи WAF Fraud Control (ACFP) в Руководстве разработчика WAF.
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную регистрационную форму для нового пользователя. Эта страница должна принимать POST запросы.
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути к страницам создания учетных записей, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетных записей /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой отображается регистрационная форма для новых пользователей.
Примечание
Эта страница должна приниматьGET text/html запросы.Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути к страницам регистрации, начинающиеся с указанного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификацией поля имени пользователя являетсяusername1
Identifier -> (string)
Имя поля имени пользователя.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификацией поля имени пользователя является/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
username1, спецификацией поля имени пользователя являетсяusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификацией поля пароля является/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификацией поля пароля являетсяpassword1.
Identifier -> (string)
Имя поля пароля.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }, спецификацией поля пароля является/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
password1, спецификацией поля пароля являетсяpassword1.
EmailField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит электронную почту вашего клиента.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификацией поля электронной почты является/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификацией поля электронной почты являетсяemail1.
Identifier -> (string)
Имя поля электронной почты.
Способ указания зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "email": "THE_EMAIL" } }, спецификацией поля электронной почты является/form/email. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом input с именем
email1, спецификацией поля электронной почты являетсяemail1.
PhoneNumberFields -> (list)
Имена полей в полезной нагрузке запроса, которые содержат основной номер телефона вашего клиента.
Упорядочите поля номера телефона в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторами поля номера телефона являются/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторами поля номера телефона являютсяprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Имя поля в полезной нагрузке запроса, которое содержит часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного номера телефона.
Способ указания полей номера телефона зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }, идентификаторами поля номера телефона являются/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3, идентификаторами поля номера телефона являютсяprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Имена полей в полезной нагрузке запроса, которые содержат основной физический адрес вашего клиента.
Упорядочите поля адреса в массиве точно так, как они упорядочены в полезной нагрузке запроса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторами поля адреса являются/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторами полей адреса являютсяprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Имя поля в полезной нагрузке запроса, которое содержит часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Имя одного поля основного адреса.
Способ указания полей адреса зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите идентификаторы полей в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, идентификаторами поля адреса являются/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементами input с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3, идентификаторами полей адреса являютсяprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы создания учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, которые защищают дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно на попытки создания учетной записи клиента, подсчитывая успешные и неудачные попытки с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из сеансов клиентов и IP-адресов, у которых было слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (структура)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (список)
Коды состояния в ответе, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(целое число)
FailureCodes -> (список)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(целое число)
Header -> (структура)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (список)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (структура)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (список)
Строки в теле ответа, указывающие на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (список)
Строки в теле ответа, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, строка может находиться в любом месте тела и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (структура)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (список)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действия для использования вместо действий правила, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count, а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не возвращает ошибку и не применяет настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем в действии правила или в настройке по умолчанию для веб-ACL BlockAction вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge против веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дублирование имен заголовков не допускается.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (string)
LabelMatchStatement -> (structure)
Оператор правила для сопоставления с метками, которые были добавлены к веб-запросу правилами, которые уже были запущены в веб-ACL.
Оператор сопоставления меток предоставляет строку метки или пространства имен для поиска. Строка метки может представлять часть или всю полностью квалифицированную имя метки, которая была добавлена к веб-запросу. Полностью квалифицированные метки имеют префикс, необязательные пространства имен и имя метки. Префикс идентифицирует группу правил или контекст веб-ACL правила, которое добавило метку. Если вы не предоставите полностью квалифицированное имя в своей строке сопоставления меток, WAF выполнит поиск меток, которые были добавлены в том же контексте, что и оператор сопоставления меток.
Scope -> (string)
Key -> (string)
Строка для сопоставления. Настройка, которую вы предоставляете для этого, зависит от параметра Scope оператора сопоставления:
- Если
ScopeуказываетLABEL, то это указание должно включать имя и может включать любое количество предыдущих спецификаций пространства имен и префикс до предоставления полного квалифицированного имени метки. - Если
ScopeуказываетNAMESPACE, то эта спецификация может включать любое количество смежных строк пространства имен и может включать весь префикс пространства имен меток из группы правил или веб-ACL, где метка возникла.
Метки чувствительны к регистру, а компоненты метки должны быть разделены двоеточием, например NS1:NS2:name.
RegexMatchStatement -> (structure)
Оператор правила, используемый для поиска в компонентах веб-запроса соответствия одному регулярному выражению.
RegexString -> (string)
FieldToMatch -> (structure)
Часть веб-запроса, которую вы хотите, чтобы WAF проверил.
SingleHeader -> (structure)
Проверить один заголовок. Укажите имя заголовка для проверки, например, User-Agent или Referer. Этот параметр не чувствителен к регистру.
Пример JSON: "SingleHeader": { "Name": "haystack" }
Кроме того, вы можете отфильтровать и проверить все заголовки с помощью параметра Headers FieldToMatch.
Name -> (string)
SingleQueryArgument -> (structure)
Проверить один аргумент запроса. Укажите имя аргумента запроса для проверки, например UserName или SalesRegion. Имя может содержать до 30 символов и не учитывает регистр.
Пример JSON: "SingleQueryArgument": { "Name": "myArgument" }
Name -> (string)
AllQueryArguments -> (structure)
UriPath -> (structure)
/images/daily-ad.jpg.QueryString -> (structure)
?, если таковой имеется.Body -> (structure)
Проверить тело запроса как обычный текст. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта Body.
OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Method -> (structure)
JsonBody -> (structure)
Проверить тело запроса как JSON. Тело запроса следует сразу за заголовками запроса. Это та часть запроса, которая содержит любые дополнительные данные, которые вы хотите отправить на свой веб-сервер в качестве тела HTTP-запроса, например, данные из формы.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Для получения информации о том, как обрабатывать тела запросов большого размера, см. конфигурацию объекта JsonBody.
MatchPattern -> (structure)
Шаблоны для поиска в теле JSON. WAF проверяет результаты этих сопоставлений шаблонов в соответствии с критериями проверки правил.
All -> (structure)
Соответствует всем элементам. См. также MatchScope в JsonBody.
Вы должны указать либо этот параметр, либо параметр IncludedPaths, но не оба.
IncludedPaths -> (list)
Соответствие только указанным путям включения. См. также MatchScope в JsonBody.
Укажите пути включения, используя синтаксис JSON Pointer. Например, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. Для получения информации об этом синтаксисе см. документацию JavaScript Object Notation (JSON) Pointer рабочей группы Internet Engineering Task Force (IETF).
Вы должны указать либо этот параметр, либо параметр All, но не оба.
Примечание
Не используйте этот параметр для включения всех путей. Вместо этого используйте параметрAll.(string)
MatchScope -> (string)
Части JSON для сопоставления с использованием MatchPattern. Если вы укажете ALL, WAF будет сопоставлять ключи и значения.
All не требует, чтобы соответствие было найдено в ключах и соответствие было найдено в значениях. Для этого требуется, чтобы соответствие было найдено в ключах, в значениях или в обоих. Чтобы требовать соответствия в ключах и в значениях, используйте логическое оператор AND для объединения двух правил соответствия, одно из которых проверяет ключи, а другое - значения.InvalidFallbackBehavior -> (string)
Что WAF должен делать, если ему не удается полностью разобрать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки анализа, которую он обнаружит.
Примечание
Разбор WAF не полностью проверяет входную строку JSON, поэтому разбор может быть успешным даже для неверного JSON. Когда разбор успешен, WAF не применяет резервное поведение. Для получения дополнительной информации см. Тело JSON в Руководстве разработчика WAF.OversizeHandling -> (string)
Что WAF должен делать, если размер тела больше, чем WAF может проверить.
WAF не поддерживает проверку всего содержимого тела веб-запроса, если тело превышает лимит для типа ресурса. Когда тело веб-запроса больше лимита, базовый хост-сервис пересылает только содержимое, которое находится в пределах лимита, в WAF для проверки.
- Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8192 байта).
- Для CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access лимит по умолчанию составляет 16 КБ (16 384 байта), и вы можете увеличить лимит для каждого типа ресурса в веб-ACL
AssociationConfigза дополнительную плату за обработку. - Для Amplify используйте лимит CloudFront.
Варианты обработки больших размеров следующие:
-
CONTINUE- Проверьте доступное содержимое тела обычным образом в соответствии с критериями проверки правил. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Вы можете объединить параметры MATCH или NO_MATCH для обработки больших размеров с параметрами действия правила и веб-ACL, чтобы блокировать любой запрос, тело которого превышает лимит.
По умолчанию: CONTINUE
Headers -> (structure)
Проверьте заголовки запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Headers, чтобы определить набор заголовков и части заголовков, которые WAF проверяет.
Только первые 8 КБ (8192 байта) заголовков запроса и только первые 200 заголовков пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое заголовков превышающее размер в объекте Headers. WAF применяет фильтры сопоставления шаблонов к заголовкам, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества заголовков для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedHeaders, либо ExcludedHeaders.
Пример JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
All -> (структура)
IncludedHeaders -> (список)
Проверьте только заголовки, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedHeaders -> (список)
Проверьте только заголовки, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части заголовков для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
Cookies -> (структура)
Проверьте файлы cookie запроса. Вы должны настроить фильтры сопоставления области и шаблона в объекте Cookies, чтобы определить набор файлов cookie и части файлов cookie, которые WAF проверяет.
Только первые 8 КБ (8192 байта) файлов cookie запроса и только первые 200 файлов cookie пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любое содержимое файлов cookie превышающее размер в объекте Cookies. WAF применяет фильтры сопоставления шаблонов к файлам cookie, которые он получает от базовой службы хоста.
MatchPattern -> (структура)
Фильтр, используемый для идентификации подмножества файлов cookie для проверки в веб-запросе.
Вы должны указать ровно один параметр: либо All, IncludedCookies, либо ExcludedCookies.
Пример JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }
All -> (структура)
IncludedCookies -> (список)
Проверьте только файлы cookie, ключ которых соответствует одной из указанных здесь строк.
(string)
ExcludedCookies -> (список)
Проверьте только файлы cookie, ключи которых не соответствуют ни одной из указанных здесь строк.
(string)
MatchScope -> (string)
Части файлов cookie для сопоставления с критериями проверки правил. Если вы укажете ALL, WAF проверит как ключи, так и значения.
All не требует, чтобы совпадение было найдено в ключах и в значениях. Требуется, чтобы совпадение было найдено в ключах или в значениях, или в обоих. Чтобы требовать совпадения в ключах и в значениях, используйте логическое выражение AND для объединения двух правил сопоставления: одно, которое проверяет ключи, и другое, которое проверяет значения.OversizeHandling -> (string)
Что WAF должен делать, если файлы cookie запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого файлов cookie запроса, когда они превышают 8 КБ (8192 байта) или 200 общих файлов cookie. Базовая служба хоста пересылает максимум 200 файлов cookie и не более 8 КБ содержимого файлов cookie в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Обычно проверять доступные файлы cookie в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
HeaderOrder -> (структура)
Проверьте строку, содержащую список имен заголовков запроса, упорядоченных в том порядке, в котором они появляются в веб-запросе, который WAF получает для проверки. WAF генерирует строку, а затем использует ее в качестве компонента поля для сопоставления при проверке. WAF разделяет имена заголовков в строке, используя двоеточия и без добавленных пробелов, например host:user-agent:accept:authorization:referer.
OversizeHandling -> (string)
Что WAF должен делать, если заголовки запроса более многочисленны или больше, чем WAF может проверить. WAF не поддерживает проверку всего содержимого заголовков запроса, когда они превышают 8 КБ (8192 байта) или 200 общих заголовков. Базовая служба хоста пересылает максимум 200 заголовков и не более 8 КБ содержимого заголовков в WAF.
Варианты обработки негабаритных размеров следующие:
-
CONTINUE- Обычно проверять доступные заголовки в соответствии с критериями проверки правил. -
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA3Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA3 запроса. Отпечаток пальца JA3 представляет собой 32-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с установленным параметром PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA3 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA3 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует назначить веб-запросу, если запрос не имеет отпечатка пальца JA3.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
JA4Fingerprint -> (структура)
Доступно для использования с дистрибутивами Amazon CloudFront и Application Load Balancers. Соответствует отпечатку пальца JA4 запроса. Отпечаток пальца JA4 представляет собой 36-значный хэш, полученный из TLS Client Hello входящего запроса. Этот отпечаток пальца служит уникальным идентификатором для конфигурации TLS клиента. WAF вычисляет и регистрирует этот отпечаток пальца для каждого запроса, имеющего достаточную информацию TLS Client Hello для вычисления. Почти все веб-запросы включают эту информацию.
Примечание
Вы можете использовать этот вариант только с сопоставлением строкByteMatchStatement с установленным параметром PositionalConstraint в EXACTLY.Вы можете получить отпечаток пальца JA4 для клиентских запросов из журналов веб-ACL. Если WAF может вычислить отпечаток пальца, он включает его в журналы. Информацию о полях ведения журнала см. в разделе «Поля журнала» в Руководстве разработчика WAF.
Предоставьте строку отпечатка пальца JA4 из журналов в спецификации оператора сопоставления строк, чтобы сопоставить любые будущие запросы с той же конфигурацией TLS.
FallbackBehavior -> (string)
Статус соответствия, который следует назначить веб-запросу, если запрос не имеет отпечатка пальца JA4.
Вы можете указать следующие варианты поведения при отступлении:
-
MATCH- Рассматривать веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривать веб-запрос как не соответствующий оператору правила.
UriFragment -> (structure)
Проверьте фрагменты URI запроса. Вы должны настроить фильтры соответствия области и шаблона в объекте UriFragment, чтобы определить фрагмент URI, который WAF проверяет.
Только первые 8 КБ (8192 байта) фрагментов URI запроса и только первые 200 фрагментов URI пересылаются в WAF для проверки базовой службой хоста. Вы должны настроить, как обрабатывать любой фрагмент содержимого URI, превышающий размер, в объекте UriFragment. WAF применяет фильтры соответствия шаблону к файлам cookie, которые он получает от базовой службы хоста.
FallbackBehavior -> (string)
Что WAF должен делать, если не удается полностью проанализировать тело JSON. Варианты следующие:
-
EVALUATE_AS_STRING- Проверьте тело как обычный текст. WAF применяет текстовые преобразования и критерии проверки, которые вы определили для проверки JSON, к строке текста тела. -
MATCH- Рассматривайте веб-запрос как соответствующий оператору правила. WAF применяет действие правила к запросу. -
NO_MATCH- Рассматривайте веб-запрос как не соответствующий оператору правила.
Если вы не предоставите этот параметр, WAF анализирует и оценивает контент только до первой ошибки синтаксического анализа, с которой сталкивается.
Пример JSON: { "UriFragment": { "FallbackBehavior": "MATCH"} }
Примечание
Анализ WAF не полностью проверяет входную строку JSON, поэтому анализ может завершиться успешно даже для недействительного JSON. Когда анализ завершается успешно, WAF не применяет резервное поведение. Для получения дополнительной информации см. раздел JSON body в Руководстве разработчика WAF .TextTransformations -> (list)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение. Текстовые преобразования используются в операторах соответствия правилам для преобразования компонента запроса FieldToMatch перед его проверкой, а также используются в операторах правил на основе скорости для преобразования компонентов запроса, прежде чем использовать их в качестве настраиваемых ключей агрегации. Если вы укажете одно или несколько преобразований для применения, WAF выполнит все преобразования над указанным содержимым, начиная с настройки наименьшего приоритета, а затем использует преобразованное содержимое компонента.
(structure)
Текстовые преобразования устраняют некоторое необычное форматирование, которое злоумышленники используют в веб-запросах, пытаясь обойти обнаружение.
Priority -> (integer)
Type -> (string)
ManagedRuleGroupConfigs -> (list)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения данных в полезной нагрузке запроса на создание учетной записи, например, поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа вашего приложения и местоположения данных в полезной нагрузке запроса на вход, например, имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSet, чтобы настроить уровень защиты, который вы хотите, чтобы использовала группа правил Bot Control.
(structure)
Дополнительная информация, используемая управляемой группой правил. Многие управляемые группы правил не требуют этого.
Группы правил, используемые для интеллектуального смягчения угроз, требуют дополнительной настройки:
- Используйте объект конфигурации
AWSManagedRulesACFPRuleSetдля настройки управляемой группы правил предотвращения мошенничества при создании учетной записи. Конфигурация включает страницы регистрации и регистрации вашего приложения, а также местоположения данных в полезной нагрузке запроса на создание учетной записи, например, поля электронной почты и номера телефона пользователя. - Используйте объект конфигурации
AWSManagedRulesATPRuleSetдля настройки управляемой группы правил предотвращения захвата учетной записи. Конфигурация включает страницу входа вашего приложения и местоположения данных в полезной нагрузке запроса на вход, например, имя пользователя и пароль. - Используйте объект конфигурации
AWSManagedRulesBotControlRuleSet, чтобы настроить уровень защиты, который вы хотите, чтобы использовала группа правил Bot Control.
Например, спецификации см. в разделе примеров CreateWebACL .
LoginPath -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделеAWSManagedRulesATPRuleSet .PayloadType -> (string)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .UsernameField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля имени пользователя.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }, спецификация имени пользователя —/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
username1спецификация имени пользователя —username1
PasswordField -> (structure)
Примечание
Вместо этого параметра укажите свою конфигурацию в разделе конфигурации проверки запроса дляAWSManagedRulesATPRuleSet или AWSManagedRulesACFPRuleSet .Identifier -> (string)
Имя поля пароля.
Как вы это указываете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация пароля —/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена форм HTML. Например, для HTML-формы с элементом ввода с именем
password1спецификация пароля —password1.
AWSManagedRulesBotControlRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил Bot Control. Используйте это, чтобы указать уровень проверки, который вы хотите использовать. Информацию об использовании управляемой группы правил Bot Control см. в разделе Группа правил WAF Bot Control и WAF Bot Control в Руководстве разработчика WAF .
InspectionLevel -> (string)
EnableMachineLearning -> (boolean)
Применимо только к целевому уровню проверки.
Определяет, использовать ли машинное обучение (ML) для анализа вашего веб-трафика на предмет активности, связанной с ботами. Машинное обучение требуется для правил Bot Control TGT_ML_CoordinatedActivityLow и TGT_ML_CoordinatedActivityMedium, которые проверяют наличие аномального поведения, которое может указывать на распределенную, скоординированную активность ботов.
Для получения дополнительной информации об этом выборе см. список этих правил в таблице в списке правил Bot Control в Руководстве разработчика WAF .
По умолчанию: TRUE
AWSManagedRulesATPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения захвата учетной записи (ATP), AWSManagedRulesATPRuleSet. Используйте это, чтобы предоставить информацию о запросе на вход в группу правил. Для списков управления доступом к сети, которые защищают дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на вход.
Эта конфигурация заменяет отдельные поля конфигурации в ManagedRuleGroupConfig и предоставляет дополнительную конфигурацию функций.
Для получения информации об использовании управляемой группы правил ATP см. WAF Fraud Control account takeover prevention (ATP) rule group и WAF Fraud Control account takeover prevention (ATP) в Руководстве разработчика WAF.
LoginPath -> (string)
Путь к конечной точке входа в ваше приложение. Например, для URL https://example.com/web/login вы должны предоставить путь /web/login. Пути входа, которые начинаются с указанного вами пути, считаются совпадением. Например, /web/login соответствует путям входа /web/login, /web/login/, /web/loginPage и /web/login/thisPage, но не соответствует пути входа /home/web/login или /website/login.
Группа правил проверяет только HTTP POST запросы к указанной вами конечной точке входа.
RequestInspection -> (structure)
Критерии для проверки запросов на вход, используемые группой правил ATP для проверки использования учетных данных.
PayloadType -> (string)
UsernameField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
Identifier -> (string)
Имя поля имени пользователя.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Имя поля в полезной нагрузке запроса, которое содержит пароль вашего клиента.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля выглядит какpassword1.
Identifier -> (string)
Имя поля пароля.
Как вы это укажете, зависит от типа полезной нагрузки проверки запроса.
- Для полезных нагрузок JSON укажите имя поля в синтаксисе указателя JSON. Для получения информации о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer. Например, для полезной нагрузки JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезной нагрузки, закодированных в форме, используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля выглядит какpassword1.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы на вход, используемые группой правил ATP для отслеживания частоты сбоев входа.
Примечание
Проверка ответа доступна только в списках управления доступом к сети, которые защищают дистрибутивы Amazon CloudFront.Группа правил ATP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках входа в систему клиента, подсчитывая успешные и неудачные попытки для каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы от сеансов клиентов и IP-адресов, у которых было слишком много неудачных попыток входа в течение короткого промежутка времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа для индикаторов успеха и сбоя.
SuccessCodes -> (list)
Коды состояния в ответе, указывающие на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, указывающие на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и сбоя.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа для индикаторов успеха и сбоя.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным совпадением, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, строка может быть в любом месте в теле и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, строка может быть в любом месте в теле и должна быть точным совпадением, включая регистр. Каждая строка должна быть уникальной среди строк успеха и сбоя.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа для индикаторов успеха и сбоя. WAF может проверить первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор для значения, с которым нужно сопоставить в JSON. Идентификатор должен быть точным совпадением, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешную попытку входа в систему или создания учетной записи. Чтобы считаться успешным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачную попытку входа в систему или создания учетной записи. Чтобы считаться неудачным, значение должно быть точным совпадением, включая регистр. Каждое значение должно быть уникальным среди значений успеха и сбоя.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
AWSManagedRulesACFPRuleSet -> (structure)
Дополнительная конфигурация для использования управляемой группы правил предотвращения мошенничества при создании учетной записи (ACFP), AWSManagedRulesACFPRuleSet . Используйте это, чтобы предоставить информацию о запросах на создание учетной записи в группу правил. Для веб-ACL, защищающих дистрибутивы CloudFront, используйте это, чтобы также предоставить информацию о том, как ваш дистрибутив реагирует на запросы на создание учетной записи.
Информацию об использовании управляемой группы правил ACFP см. в разделе WAF Fraud Control предотвращения мошенничества при создании учетной записи (ACFP) и WAF Fraud Control предотвращения мошенничества при создании учетной записи (ACFP) в Руководстве разработчика WAF .
CreationPath -> (string)
Путь к конечной точке создания учетной записи для вашего приложения. Это страница на вашем веб-сайте, которая принимает заполненную форму регистрации нового пользователя. Эта страница должна принимать запросы POST .
Например, для URL https://example.com/web/newaccount , вы должны предоставить путь /web/newaccount . Пути страниц создания учетной записи, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/newaccount соответствует путям создания учетной записи /web/newaccount , /web/newaccount/ , /web/newaccountPage и /web/newaccount/thisPage , но не соответствует пути /home/web/newaccount или /website/newaccount .
RegistrationPagePath -> (string)
Путь к конечной точке регистрации учетной записи для вашего приложения. Это страница на вашем веб-сайте, на которой отображается форма регистрации для новых пользователей.
Примечание
Эта страница должна принимать запросы text/htmlGET .Например, для URL https://example.com/web/registration , вы должны предоставить путь /web/registration . Пути страниц регистрации, начинающиеся с предоставленного вами пути, считаются совпадением. Например, /web/registration соответствует путям регистрации /web/registration , /web/registration/ , /web/registrationPage и /web/registration/thisPage , но не соответствует пути /home/web/registration или /website/registration .
RequestInspection -> (structure)
Критерии для проверки запросов на создание учетной записи, используемые группой правил ACFP для проверки и отслеживания попыток создания учетной записи.
PayloadType -> (string)
UsernameField -> (structure)
Название поля в полезных данных запроса, содержащего имя пользователя вашего клиента.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
Identifier -> (string)
Название поля имени пользователя.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "username": "THE_USERNAME" } }спецификация поля имени пользователя выглядит как/form/username. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
username1, спецификация поля имени пользователя выглядит какusername1
PasswordField -> (structure)
Название поля в полезных данных запроса, содержащего пароль вашего клиента.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля выглядит какpassword1.
Identifier -> (string)
Название поля пароля.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "password": "THE_PASSWORD" } }спецификация поля пароля выглядит как/form/password. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
password1, спецификация поля пароля выглядит какpassword1.
EmailField -> (structure)
Название поля в полезных данных запроса, содержащего электронную почту вашего клиента.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты выглядит как/form/email. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты выглядит какemail1.
Identifier -> (string)
Название поля электронной почты.
Как вы это укажете, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите имя поля в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "email": "THE_EMAIL" } }спецификация поля электронной почты выглядит как/form/email. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементом ввода с именем
email1, спецификация поля электронной почты выглядит какemail1.
PhoneNumberFields -> (list)
Названия полей в полезных данных запроса, содержащих основной номер телефона вашего клиента.
Укажите поля номера телефона в массиве именно в том порядке, в котором они упорядочены в полезных данных запроса.
Как вы укажете поля номера телефона, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона выглядят как/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона выглядят какprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
(structure)
Название поля в полезных данных запроса, содержащего часть или весь основной номер телефона вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного номера телефона.
Как вы укажете поля номера телефона, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }идентификаторы полей номера телефона выглядят как/form/primaryphoneline1,/form/primaryphoneline2и/form/primaryphoneline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryphoneline1,primaryphoneline2иprimaryphoneline3идентификаторы полей номера телефона выглядят какprimaryphoneline1,primaryphoneline2иprimaryphoneline3.
AddressFields -> (list)
Названия полей в полезных данных запроса, содержащих основной физический адрес вашего клиента.
Укажите поля адреса в массиве именно в том порядке, в котором они упорядочены в полезных данных запроса.
Как вы укажете поля адреса, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса выглядят как/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса выглядят какprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
(structure)
Название поля в полезных данных запроса, содержащего часть или весь основной физический адрес вашего клиента.
Этот тип данных используется в типе данных RequestInspectionACFP .
Identifier -> (string)
Название одного поля основного адреса.
Как вы укажете поля адреса, зависит от типа полезных данных проверки запроса.
- Для полезных данных JSON укажите идентификаторы полей в синтаксисе указателя JSON. С информацией о синтаксисе указателя JSON см. документацию Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer . Например, для полезных данных JSON
{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }идентификаторы полей адреса выглядят как/form/primaryaddressline1,/form/primaryaddressline2и/form/primaryaddressline3. - Для типов полезных данных с кодировкой формы используйте имена HTML-форм. Например, для HTML-формы с элементами ввода с именами
primaryaddressline1,primaryaddressline2иprimaryaddressline3идентификаторы полей адреса выглядят какprimaryaddressline1,primaryaddressline2иprimaryaddressline3.
ResponseInspection -> (structure)
Критерии для проверки ответов на запросы о создании учетной записи, используемые группой правил ACFP для отслеживания показателей успешности создания учетной записи.
Примечание
Проверка ответов доступна только в веб-ACL, защищающих дистрибутивы Amazon CloudFront.Группа правил ACFP оценивает ответы, которые ваши защищенные ресурсы отправляют обратно при попытках создания учетной записи клиентами, подсчитывая успешные и неудачные попытки с каждого IP-адреса и сеанса клиента. Используя эту информацию, группа правил помечает и смягчает запросы из клиентских сеансов и IP-адресов, которые имели слишком много успешных попыток создания учетной записи за короткий промежуток времени.
StatusCode -> (structure)
Настраивает проверку кода состояния ответа на индикаторы успеха и неудачи.
SuccessCodes -> (list)
Коды состояния в ответе, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "SuccessCodes": [ 200, 201 ]
(integer)
FailureCodes -> (list)
Коды состояния в ответе, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, код состояния ответа должен соответствовать одному из них. Каждый код должен быть уникальным среди кодов состояния успеха и неудачи.
JSON example: "FailureCodes": [ 400, 404 ]
(integer)
Header -> (structure)
Настраивает проверку заголовка ответа на индикаторы успеха и неудачи.
Name -> (string)
Имя заголовка для сопоставления. Имя должно быть точным соответствием, включая регистр.
JSON example: "Name": [ "RequestResult" ]
SuccessValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and "SuccessValues": [ "AccountCreated", "Successful account creation" ]
(string)
FailureValues -> (list)
Значения в заголовке ответа с указанным именем, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues": [ "AccountCreationFailed" ]
(string)
BodyContains -> (structure)
Настраивает проверку тела ответа на индикаторы успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) тела ответа.
SuccessStrings -> (list)
Строки в теле ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, строка может находиться в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]
(string)
FailureStrings -> (list)
Строки в теле ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, строка может находиться в любом месте тела и должна быть точным соответствием, включая регистр. Каждая строка должна быть уникальной среди строк успеха и неудачи.
JSON example: "FailureStrings": [ "Request failed" ]
(string)
Json -> (structure)
Настраивает проверку JSON ответа на индикаторы успеха и неудачи. WAF может проверять первые 65 536 байт (64 КБ) JSON ответа.
Identifier -> (string)
Идентификатор значения для сопоставления в JSON. Идентификатор должен быть точным соответствием, включая регистр.
JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success" ]
SuccessValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на успешный вход в систему или попытку создания учетной записи. Чтобы считаться успешным, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "SuccessValues": [ "True", "Succeeded" ]
(string)
FailureValues -> (list)
Значения для указанного идентификатора в JSON ответа, которые указывают на неудачный вход в систему или попытку создания учетной записи. Чтобы считаться неудачей, значение должно быть точным соответствием, включая регистр. Каждое значение должно быть уникальным среди значений успеха и неудачи.
JSON example: "FailureValues": [ "False", "Failed" ]
(string)
EnableRegexInPath -> (boolean)
RuleActionOverrides -> (list)
Настройки действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группой правил.
(структура)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления веб-трафиком вашей группой правил.
Name -> (string)
Имя правила для переопределения.
Примечание
Убедитесь, что имена правил в ваших переопределениях верны. Если вы укажете имя правила, которое не соответствует имени ни одного правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Указывает WAF заблокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ на веб-запрос.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
For a list of status codes that you can use in your custom responses, see Supported status codes for custom response in the WAF Developer Guide .
CustomResponseBodyKey -> (string)
CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference the response body using this key.ResponseHeaders -> (list)
Заголовки HTTP для использования в ответе. Можно указать любое имя заголовка, кроме content-type . Дубликаты имен заголовков не допускаются.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Указывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Указывает WAF подсчитать веб-запрос, а затем продолжить оценку запроса, используя оставшиеся правила в web ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Указывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Указывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide .
InsertHeaders -> (list)
Заголовки HTTP для вставки в запрос. Дубликаты имен заголовков не допускаются.
For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (string)
Имя пользовательского заголовка.
For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf- , to avoid confusion with the headers that are already in the request. For example, for the header name sample , WAF inserts the header x-amzn-waf-sample .
Value -> (string)
RuleGroupReferenceStatement -> (structure)
Заявление, используемое Firewall Manager для запуска правил, определенных в группе правил. Этим управляет Firewall Manager для политики Firewall Manager WAF.
ARN -> (string)
ExcludedRules -> (list)
Правила в ссылочной группе правил, действия которых установлены в Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .(structure)
Указывает одно правило в группе правил, действие которого вы хотите переопределить на Count .
Примечание
Вместо этого параметра используйтеRuleActionOverrides . Он принимает любой допустимый параметр действия, включая Count .Name -> (string)
Count .RuleActionOverrides -> (list)
Параметры действий для использования вместо действий правил, настроенных внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
(structure)
Настройка действия для использования вместо действия правила, настроенного внутри группы правил. Вы указываете одно переопределение для каждого правила, действие которого вы хотите изменить.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.Вы можете использовать переопределения для тестирования, например, вы можете переопределить все действия правил на Count , а затем отслеживать результирующие метрики подсчета, чтобы понять, как группа правил будет обрабатывать ваш веб-трафик. Вы также можете навсегда переопределить некоторые или все действия, чтобы изменить способ управления группой правил вашим веб-трафиком.
Name -> (string)
Имя правила для переопределения.
Примечание
Будьте осторожны при проверке имен правил в ваших переопределениях. Если вы предоставите имя правила, которое не соответствует имени какого-либо правила в группе правил, WAF не вернет ошибку и не применит настройку переопределения.ActionToUse -> (structure)
Действие переопределения для использования вместо настроенного действия правила в группе правил.
Block -> (structure)
Предписывает WAF блокировать веб-запрос.
CustomResponse -> (structure)
Определяет пользовательский ответ для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
ResponseCode -> (integer)
Код состояния HTTP для возврата клиенту.
Список кодов состояния, которые можно использовать в ваших пользовательских ответах, см. в разделе Поддерживаемые коды состояния для пользовательского ответа в Руководстве разработчика WAF .
CustomResponseBodyKey -> (string)
CustomResponseBodies для WebACL или RuleGroup, где вы хотите его использовать. Затем, в действии правила или в действии веб-ACL по умолчанию, настройка BlockAction , вы ссылаетесь на тело ответа, используя этот ключ.ResponseHeaders -> (list)
HTTP-заголовки для использования в ответе. Вы можете указать любое имя заголовка, кроме content-type . Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Allow -> (structure)
Предписывает WAF разрешить веб-запрос.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Count -> (structure)
Предписывает WAF подсчитывать веб-запрос, а затем продолжать оценивать запрос, используя остальные правила в веб-ACL.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Captcha -> (structure)
Предписывает WAF запустить проверку CAPTCHA для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка CAPTCHA определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
Challenge -> (structure)
Предписывает WAF запустить проверку Challenge для веб-запроса.
CustomRequestHandling -> (structure)
Определяет пользовательскую обработку для веб-запроса, используемую, когда проверка challenge определяет, что токен запроса действителен и не истек.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF .
InsertHeaders -> (list)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков не допускается.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. Квоты WAF в Руководстве разработчика WAF .
(structure)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Он используется в CustomResponse и CustomRequestHandling .
Name -> (string)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf- , чтобы избежать путаницы с заголовками, которые уже находятся в запросе. Например, для имени заголовка sample , WAF вставляет заголовок x-amzn-waf-sample .
Value -> (string)
OverrideAction -> (structure)
Действие, которое следует использовать вместо действия, которое получается в результате оценки группы правил. Установите переопределяющее действие в значение none, чтобы оставить результат группы правил без изменений. Установите его в значение count, чтобы переопределить результат в значение count only.
Вы можете использовать это только для инструкций правил, которые ссылаются на группу правил, например RuleGroupReferenceStatement и ManagedRuleGroupStatement.
Примечание
Эта опция обычно устанавливается в значение none. Она не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это, а вместо этого используйте опцию переопределения действия правила с действиемCount в настройках ссылки на группу правил.Count -> (структура)
Переопределите результат оценки группы правил, чтобы подсчитывать только.
Примечание
Эта опция обычно устанавливается в значение none. Она не влияет на то, как оцениваются правила в группе правил. Если вы хотите, чтобы правила в группе правил только подсчитывали совпадения, не используйте это, а вместо этого используйте опцию переопределения действия правила с действиемCount в настройках ссылки на группу правил.CustomRequestHandling -> (структура)
Определяет пользовательскую обработку веб-запроса.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
InsertHeaders -> (список)
HTTP-заголовки для вставки в запрос. Дублирование имен заголовков запрещено.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
(структура)
Пользовательский заголовок для пользовательской обработки запросов и ответов. Это используется в CustomResponse и CustomRequestHandling.
Name -> (строка)
Имя пользовательского заголовка.
Для вставки пользовательского заголовка запроса, когда WAF вставляет заголовок в запрос, он добавляет к этому имени префикс x-amzn-waf-, чтобы избежать путаницы с заголовками, которые уже есть в запросе. Например, для имени заголовка sample WAF вставляет заголовок x-amzn-waf-sample.
Value -> (строка)
None -> (структура)
VisibilityConfig -> (структура)
Определяет и включает метрики Amazon CloudWatch и сбор образцов веб-запросов.
SampledRequestsEnabled -> (логическое)
Указывает, следует ли WAF сохранять выборку веб-запросов, которые соответствуют правилам. Вы можете просмотреть выборку запросов через консоль WAF.
Если вы настраиваете защиту данных для веб-ACL, защита применяется к данным выборки веб-запросов веб-ACL.
Примечание
Выборка запросов не предоставляет опцию редактирования полей, и любое редактирование полей, которое вы указываете в своей конфигурации ведения журнала, не влияет на выборку. Вы можете исключить поля из выборки запросов, отключив выборку в конфигурации видимости веб-ACL или настроив защиту данных для веб-ACL.CloudWatchMetricsEnabled -> (логическое)
Указывает, отправляет ли связанный ресурс метрики в Amazon CloudWatch. Список доступных метрик см. в разделе Метрики WAF в Руководстве разработчика WAF.
Для веб-ACL метрики относятся к веб-запросам, к которым применено действие по умолчанию веб-ACL. WAF применяет действие по умолчанию к веб-запросам, которые проходят проверку всех правил в веб-ACL, не будучи разрешены или заблокированы. Для получения дополнительной информации см. раздел Действие по умолчанию веб-ACL в Руководстве разработчика WAF.
MetricName -> (строка)
All и Default_Action.ManagedByFirewallManager -> (логическое)
RetrofittedByFirewallManager, PreProcessFirewallManagerRuleGroups и PostProcessFirewallManagerRuleGroups.LabelNamespace -> (строка)
Префикс пространства имен меток для этой веб-ACL. Все метки, добавленные правилами в этой веб-ACL, имеют этот префикс.
- Синтаксис префикса пространства имен меток для веб-ACL следующий:
awswaf:<account ID>:webacl:<web ACL name>: - Когда правило с меткой соответствует веб-запросу, WAF добавляет полное имя метки к запросу. Полное имя метки состоит из пространства имен метки из группы правил или веб-ACL, где определено правило, и метки из правила, разделенных двоеточием:
<label namespace>:<label from rule>
CustomResponseBodies -> (карта)
Карта ключей пользовательских ответов и тел контента. Когда вы создаете правило с действием блокировки, вы можете отправить пользовательский ответ на веб-запрос. Вы определяете их для веб-ACL, а затем используете их в правилах и действиях по умолчанию, которые вы определяете в веб-ACL.
Для получения информации о настройке веб-запросов и ответов см. раздел Настройка веб-запросов и ответов в WAF в Руководстве разработчика WAF.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
key -> (строка)
value -> (структура)
Тело ответа, которое следует использовать в пользовательском ответе на веб-запрос. На него ссылается ключ из CustomResponse CustomResponseBodyKey.
ContentType -> (строка)
Content.Content -> (строка)
Полезные данные пользовательского ответа.
Вы можете использовать экранированные строки JSON в контенте JSON. Для этого необходимо указать контент JSON в настройке ContentType.
Для получения информации об ограничениях по количеству и размеру для пользовательских настроек запросов и ответов см. раздел Квоты WAF в Руководстве разработчика WAF.
CaptchaConfig -> (структура)
Указывает, как WAF следует обрабатывать оценки CAPTCHA для правил, у которых нет собственных настроек CaptchaConfig. Если вы не укажете это, WAF использует свои настройки по умолчанию для CaptchaConfig.
ImmunityTimeProperty -> (структура)
Определяет, как долго временная метка CAPTCHA в токене остается действительной после того, как клиент успешно решит головоломку CAPTCHA.
ImmunityTime -> (long)
Количество времени в секундах, в течение которого временная метка CAPTCHA или challenge считается действительной WAF. Настройка по умолчанию — 300.
Для действия Challenge минимальная настройка — 300.
ChallengeConfig -> (структура)
Указывает, как WAF следует обрабатывать оценки challenge для правил, у которых нет собственных настроек ChallengeConfig. Если вы не укажете это, WAF использует свои настройки по умолчанию для ChallengeConfig.
ImmunityTimeProperty -> (структура)
Определяет, как долго временная метка challenge в токене остается действительной после того, как клиент успешно ответит на challenge.
ImmunityTime -> (long)
Количество времени в секундах, в течение которого временная метка CAPTCHA или challenge считается действительной WAF. Настройка по умолчанию — 300.
Для действия Challenge минимальная настройка — 300.
TokenDomains -> (список)
Указывает домены, которые WAF должен принимать в токене веб-запроса. Это позволяет использовать токены на нескольких защищенных веб-сайтах. Когда WAF предоставляет токен, он использует домен ресурса Amazon Web Services, который защищает веб-ACL. Если вы не укажете список доменов токенов, WAF принимает токены только для домена защищенного ресурса. С помощью списка доменов токенов WAF принимает домен хоста ресурса, а также все домены в списке доменов токенов, включая их префиксированные поддомены.
(строка)
AssociationConfig -> (структура)
Указывает пользовательские конфигурации для связей между веб-ACL и защищенными ресурсами.
Используйте это для настройки максимального размера тела запроса, которое ваши защищенные ресурсы пересылают в WAF для проверки. Вы можете настроить эту настройку для ресурсов CloudFront, API Gateway, Amazon Cognito, App Runner или Verified Access. Настройка по умолчанию — 16 КБ (16 384 байта).
Примечание
С вас взимается дополнительная плата, когда ваши защищенные ресурсы пересылают размеры тела, превышающие размер по умолчанию. Дополнительную информацию см. в разделе Цены на WAF.Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
RequestBody -> (карта)
Настраивает максимальный размер тела запроса, которое ваши защищенные ресурсы CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access пересылают в WAF для проверки. Размер по умолчанию — 16 КБ (16 384 байта). Вы можете изменить настройку для любого из доступных типов ресурсов.
Примечание
С вас взимается дополнительная плата, когда ваши защищенные ресурсы пересылают размеры тела, превышающие размер по умолчанию. Дополнительную информацию см. в разделе Цены на WAF.Пример JSON: { "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }
Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
key -> (строка)
value -> (структура)
Настраивает максимальный размер тела запроса, которое ваши защищенные ресурсы CloudFront, API Gateway, Amazon Cognito, App Runner и Verified Access пересылают в WAF для проверки. Размер по умолчанию — 16 КБ (16 384 байта). Вы можете изменить настройку для любого из доступных типов ресурсов.
Примечание
С вас взимается дополнительная плата, когда ваши защищенные ресурсы пересылают размеры тела, превышающие размер по умолчанию. Дополнительную информацию см. в разделе Цены на WAF.Пример JSON: { "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }
Для Application Load Balancer и AppSync лимит фиксирован на уровне 8 КБ (8 192 байта).
Это используется в AssociationConfig веб-ACL.
DefaultSizeInspectionLimit -> (строка)
Указывает максимальный размер компонента тела веб-запроса, который связанный ресурс CloudFront, API Gateway, Amazon Cognito, App Runner или Verified Access должен отправлять в WAF для проверки. Это относится к инструкциям в веб-ACL, которые проверяют тело или JSON-тело.
По умолчанию: 16 KB (16,384 bytes)
RetrofittedByFirewallManager -> (логическое)
ManagedByFirewallManager , PreProcessFirewallManagerRuleGroups и PostProcessFirewallManagerRuleGroups .
© Copyright 2025, Amazon Web Services. Created using Sphinx.