Spec-Zone.ru › Ansible 2.10

community.aws.aws_waf_condition – Создание и удаление условий WAF

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в плейбуке укажите: community.aws.aws_waf_condition.

Новое в версии 1.0.0: of community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Прочитайте документацию AWS по WAF https://aws.amazon.com/documentation/waf/

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров aws_access_key и profile устарело и после 2022-06-01 будет сделано взаимоисключающим.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла с набором сертификатов CA для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: набор CA считывается со стороны модуля и может потребоваться явное копирование с контроллера, если он не запущен локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Дополнительную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров aws_secret_key и profile устарело и после 2022-06-01 будет сделано взаимоисключающим.

псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
булево
    Варианты:
  • нет ←
  • да
Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения сценария. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
строка
URL для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если она задана.

псевдонимы: aws_endpoint_url, endpoint_url
filters
список / элементы=словарь
Список фильтров, по которым необходимо выполнить соответствие.
Для type=byte, допустимые ключи — field_to_match, position, header, transformation и target_string.
Для type=geo, единственный допустимый ключ — country.
Для type=ip, единственный допустимый ключ — ip_address.
Для type=regex, допустимые ключи — field_to_match, transformation и regex_pattern.
Для type=size, допустимые ключи — field_to_match, transformation, comparison и size.
Для type=sql, допустимые ключи — field_to_match и transformation.
Для type=xss, допустимые ключи — field_to_match и transformation.
Требуется при state=present.
comparison
строка
    Варианты:
  • EQ
  • NE
  • LE
  • LT
  • GE
  • GT
Тип сравнения, который необходимо выполнить.
Допустим только при type=size.
country
строка
Значение географического ограничения (обычно двухбуквенный код страны).
Единственный допустимый ключ при type=geo.
field_to_match
строка
    Варианты:
  • uri
  • query_string
  • header
  • method
  • body
Поле, по которому выполняется соответствие.
Допустимо при type=byte, type=regex, type=sql или type=xss.
header
строка
Какой конкретный заголовок должен сопоставляться.
Требуется при field_to_match=header.
Допустимо при type=byte.
ip_address
строка
IP-адрес или CIDR для сопоставления.
Единственный допустимый ключ при type=ip.
position
строка
    Варианты:
  • точно
  • начинается_с
  • заканчивается_на
  • содержит
  • содержит_слово
Место в поле, где должно произойти сопоставление.
Допустимо только при type=byte.
regex_pattern
словарь
Словарь, описывающий регулярные выражения, используемые для сопоставления.
Допустимо только при type=regex.
name
строка
Название, описывающее набор шаблонов.
regex_strings
список / элементы=строка
Список регулярных выражений для сопоставления.
size
целое число
Размер поля (в байтах).
Единственный допустимый ключ при type=size.
target_string
строка
Строка, которую необходимо найти.
Может составлять до 50 байт.
Допустимо при type=byte.
transformation
строка
    Варианты:
  • без
  • compress_white_space
  • html_entity_decode
  • нижнего_регистра
  • cmd_line
  • url_decode
Преобразование, которое необходимо применить к полю перед выполнением сопоставления.
Допустимо при type=byte, type=regex, type=sql или type=xss.
name
строка / обязательно
Имя условия межсайтовой атаки (Web Application Firewall) для управления.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределяет aws_access_key, aws_secret_key и security_token, и поддержка их одновременного использования с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
purge_filters
булево
    Варианты:
  • нет ←
  • да
Удалить ли существующие фильтры из условия, если они не переданы в filters.
region
строка
Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_token
строка
AWS STS токен безопасности. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров security_token и profile устарело и после 2022-06-01 будет сделано взаимоисключающим.

псевдонимы: aws_security_token, access_token
state
строка
    Варианты:
  • текущее ←
  • отсутствует
Нужно ли present или absent.
type
строка / обязательно
    Варианты:
  • байт
  • географическое
  • ip
  • регулярное_выражение
  • размер
  • sql
  • xss
Тип соответствия.
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если установлено значение "нет", SSL-сертификаты не будут проверены для версий boto >= 2.6.0.
waf_regional
булево
    Варианты:
  • нет ←
  • да
Использовать ли модуль waf-regional.

Примечания

Примечание

  • Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION, AWS_CA_BUNDLE
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto

Примеры

- name: create WAF byte condition
  community.aws.aws_waf_condition:
    name: my_byte_condition
    filters:
    - field_to_match: header
      position: STARTS_WITH
      target_string: Hello
      header: Content-type
    type: byte

- name: create WAF geo condition
  community.aws.aws_waf_condition:
    name: my_geo_condition
    filters:
      - country: US
      - country: AU
      - country: AT
    type: geo

- name: create IP address condition
  community.aws.aws_waf_condition:
    name: "{{ resource_prefix }}_ip_condition"
    filters:
      - ip_address: "10.0.0.0/8"
      - ip_address: "192.168.0.0/24"
    type: ip

- name: create WAF regex condition
  community.aws.aws_waf_condition:
    name: my_regex_condition
    filters:
      - field_to_match: query_string
        regex_pattern:
          name: greetings
          regex_strings:
            - '[hH]ello'
            - '^Hi there'
            - '.*Good Day to You'
    type: regex

- name: create WAF size condition
  community.aws.aws_waf_condition:
    name: my_size_condition
    filters:
      - field_to_match: query_string
        size: 300
        comparison: GT
    type: size

- name: create WAF sql injection condition
  community.aws.aws_waf_condition:
    name: my_sql_condition
    filters:
      - field_to_match: query_string
        transformation: url_decode
    type: sql

- name: create WAF xss condition
  community.aws.aws_waf_condition:
    name: my_xss_condition
    filters:
      - field_to_match: query_string
        transformation: url_decode
    type: xss

Значения возврата

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

Ключ Возвращаемое значение Описание
condition
complex
всегда
Условие, возвращаемое операцией.

byte_match_set_id
string
всегда
Идентификатор набора совпадений байтов.

Пример:
c4882c96-837b-44a2-a762-4ea87dbf812b
byte_match_tuples
complex
всегда
Список кортежей совпадений байтов.

field_to_match
complex
всегда
Поле для сравнения.

data
string
успех
Конкретный заголовок (если тип - заголовок).

Пример:
content-type
type
string
успех
Тип поля.

Пример:
HEADER
positional_constraint
string
успех
Позиция в поле для сравнения.

Пример:
STARTS_WITH
target_string
string
успех
Строка для поиска.

Пример:
Hello
text_transformation
string
успех
Преобразование, применяемое к полю перед сравнением.

Пример:
NONE
condition_id
string
при наличии состояния
Идентификатор условия, не зависящий от типа.

Пример:
dd74b1ff-8c06-4a4f-897a-6b23605de413
geo_match_constraints
complex
при типе geo и наличии состояния
Список географических ограничений.

type
string
успех
Тип географического ограничения.

Пример:
Country
value
string
успех
Значение географического ограничения (обычно код страны).

Пример:
AT
geo_match_set_id
string
при типе geo и наличии состояния
Идентификатор набора географических совпадений.

Пример:
dd74b1ff-8c06-4a4f-897a-6b23605de413
ip_set_descriptors
complex
при типе ip и наличии состояния
список фильтров IP-адресов

type
string
всегда
Тип IP-адреса (IPV4 или IPV6).

Пример:
IPV4
value
string
всегда
IP-адрес.

Пример:
10.0.0.0/8
ip_set_id
string
при типе ip и наличии состояния
Идентификатор условия.

Пример:
78ad334a-3535-4036-85e6-8e11e745217b
name
string
при наличии состояния
Имя условия.

Пример:
my_waf_condition
regex_match_set_id
string
при типе regex и наличии состояния
Идентификатор набора совпадений по регулярным выражениям.

Пример:
5ea3f6a8-3cd3-488b-b637-17b79ce7089c
regex_match_tuples
complex
при типе regex и наличии состояния
Список совпадений по регулярным выражениям.

field_to_match
complex
успех
Поле, к которому применяется совпадение по регулярному выражению.

type
string
при типе regex и наличии состояния
Имя поля.

Пример:
QUERY_STRING
regex_pattern_set_id
string
успех
Идентификатор набора регулярных выражений.

Пример:
6fdf7f2d-9091-445c-aef2-98f3c051ac9e
text_transformation
string
успех
Преобразование, применяемое к тексту перед сравнением.

Пример:
NONE
size_constraint_set_id
string
при типе size и наличии состояния
Идентификатор набора ограничений размера.

Пример:
de84b4b3-578b-447e-a9a0-0db35c995656
size_constraints
complex
при типе size и наличии состояния
Список ограничений размера.

comparison_operator
string
успех
Оператор сравнения.

Пример:
GT
field_to_match
complex
успех
Поле, к которому применяется ограничение размера.

type
string
успех
Имя поля.

Пример:
QUERY_STRING
size
integer
успех
Размер для сравнения с полем.

Пример:
300
text_transformation
string
успех
Преобразование, применяемое к тексту перед сравнением.

Пример:
NONE
sql_injection_match_set_id
string
при типе sql и наличии состояния
Идентификатор набора совпадений SQL-инъекций.

Пример:
de84b4b3-578b-447e-a9a0-0db35c995656
sql_injection_match_tuples
complex
при типе sql и наличии состояния
Список наборов совпадений SQL-инъекций.

field_to_match
complex
успех
Поле, к которому применяется сравнение на SQL-инъекцию.

type
string
успех
Имя поля.

Пример:
QUERY_STRING
text_transformation
string
успех
Преобразование, применяемое к тексту перед сравнением.

Пример:
URL_DECODE
xss_match_set_id
string
при типе xss и наличии состояния
Идентификатор набора совпадений XSS.

Пример:
de84b4b3-578b-447e-a9a0-0db35c995656
xss_match_tuples
complex
при типе xss и наличии состояния
Список наборов совпадений XSS.

field_to_match
complex
успех
Поле, к которому применяется сравнение XSS.

type
string
успех
Имя поля

Пример:
QUERY_STRING
text_transformation
string
успех
Преобразование, применяемое к тексту перед сравнением.

Пример:
URL_DECODE


Авторы

  • Will Thames (@willthames)
  • Mike Mochan (@mmochan)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/aws_waf_condition_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API