Spec-Zone.ru › Ansible 2.7

aws_waf_condition – создание и удаление условий WAF

Новое в версии 2.5.

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

Обзор

  • Прочитайте документацию 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.

псевдонимы: ec2_access_key, access_key
aws_secret_key
-
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

псевдонимы: ec2_secret_key, secret_key
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.
filters
-
Список фильтров для сопоставления
Для type=byte, допустимые ключи — field_to_match, position, header, transformation.
Для 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
field_to_match может быть одним из uri, query_string, header method и body
Если field_to_match — header, то необходимо также указать header
transformation может быть одним из none, compress_white_space, html_entity_decode, lowercase, cmd_line, url_decode
position может быть одним из exactly, starts_with, ends_with, contains, contains_word.
comparison может быть одним из EQ, NE, LE, LT, GE, GT.
target_string имеет максимальную длину 50 байт.
regex_pattern — словарь с ключом name и списком строк regex_strings для сопоставления.
name
- / обязательно
Имя условия межсайтовой атаки (WAF condition), подлежащего управлению
profile
-
добавлено в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_filters
-
Удалять ли существующие фильтры из условия, если они не переданы в filters. По умолчанию — false
region
-
Регион AWS. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_token
-
добавлено в 1.6
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
state
-
    Варианты:
  • present ←
  • absent
Должно ли условие быть present или absent
type
-
    Варианты:
  • byte
  • geo
  • ip
  • regex
  • size
  • sql
  • xss
Тип сопоставления
validate_certs
boolean
добавлено в 1.5
    Варианты:
  • no
  • yes ←
При значении "no" сертификаты SSL не будут проверяться для boto-версий >= 2.6.0.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, 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
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это необходимо, но их также можно настроить в файле конфигурации boto

Примеры

- name: create WAF byte condition
  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
  aws_waf_condition:
    name: my_geo_condition
    filters:
      - country: US
      - country: AU
      - country: AT
    type: geo

- name: create IP address condition
  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
  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
  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
  aws_waf_condition:
    name: my_sql_condition
    filters:
      - field_to_match: query_string
        transformation: url_decode
    type: sql

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

Возвращаемые значения

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

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

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

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

field_to_match
сложное
всегда
Поле для сопоставления

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

Пример:
content-type
type
строка
Тип поля

Пример:
HEADER
positional_constraint
строка
Позиция в поле для сопоставления

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

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

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

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

type
строка
Тип географического ограничения

Пример:
Страна
value
строка
Значение географического ограничения (обычно код страны)

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

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

type
строка
всегда
Тип IP-адреса (IPV4 или IPV6)

Пример:
IPV4
value
строка
всегда
IP-адрес

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

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

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

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

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

type
строка
при type = regex и наличии состояния
Имя поля

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

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

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

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

comparison_operator
строка
Оператор сравнения

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

type
строка
Имя поля

Пример:
QUERY_STRING
size
целое число
Размер для сравнения с полем

Пример:
300
преобразование_текста
строка
преобразование, применяемое к тексту перед сопоставлением

Пример:
NONE
id_набора_сопоставлений_sql_инъекции
строка
когда тип sql и состояние присутствует
ID набора сопоставлений SQL-инъекции

Пример:
de84b4b3-578b-447e-a9a0-0db35c995656
кортежи_сопоставлений_sql_инъекции
сложное
когда тип sql и состояние присутствует
Список наборов сопоставлений SQL-инъекции

поле_для_сопоставления
сложное
Поле, к которому применяется сопоставление SQL-инъекции

тип
строка
Имя поля

Пример:
QUERY_STRING
преобразование_текста
строка
преобразование, применяемое к тексту перед сопоставлением

Пример:
URL_DECODE
id_набора_сопоставлений_xss
строка
когда тип xss и состояние присутствует
ID набора сопоставлений XSS

Пример:
de84b4b3-578b-447e-a9a0-0db35c995656
кортежи_сопоставлений_xss
сложное
когда тип xss и состояние присутствует
Список наборов сопоставлений XSS

поле_для_сопоставления
сложное
Поле, к которому применяется сопоставление XSS

тип
строка
Имя поля

Пример:
QUERY_STRING
преобразование_текста
строка
преобразование, применяемое к тексту перед сопоставлением

Пример:
URL_DECODE


Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • 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.7/modules/aws_waf_condition_module.html

Spec-Zone.ru

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