Spec-Zone.ru › Ansible

Модуль fortinet.fortios.fortios_waf_profile — настройка конфигурации межсетевого экрана веб-приложений в Fortinet FortiOS и FortiGate.

Примечание

Этот модуль входит в коллекцию fortinet.fortios (версия 2.5.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install fortinet.fortios. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: fortinet.fortios.fortios_waf_profile.

Добавлено в fortinet.fortios 2.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль позволяет настраивать устройство FortiGate или FortiOS (FOS), задавая и изменяя параметры функций waf и категории профилей. В примерах приведены все параметры и значения, которые необходимо адаптировать к источникам данных перед использованием. Проверено на FOS v6.0.0

Требования

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

  • ansible>=2.16

Параметры

Параметр

Комментарии

access_token

string

Аутентификация на основе токена. Создан в графическом интерфейсе Fortigate.

enable_log

boolean

Включить/отключить ведение журнала для задачи.

Варианты:

  • false ← (по умолчанию)
  • true

member_path

string

Путь к атрибуту элемента, с которым нужно выполнить операцию.

Если атрибутов несколько, они разделяются символом косой черты.

Параметр с указанным member_path можно использовать для выполнения операции с элементом.

member_state

string

Добавить или удалить элемент по указанному пути атрибута.

Если задан member_state, параметр state игнорируется.

Варианты:

  • "present"
  • "absent"

state

string / обязательный

Указывает, следует ли создать или удалить объект.

Варианты:

  • "present"
  • "absent"

vdom

string

Виртуальный домен из числа ранее определённых. VDOM — это виртуальный экземпляр FortiGate, который можно настроить и использовать как отдельное устройство.

По умолчанию: "root"

waf_profile

dictionary

Настройка межсетевого экрана веб-приложений.

address_list

dictionary

Списки блокировки и разрешённых адресов.

blocked_address

list / elements=dictionary

Заблокированный адрес.

name

string / обязательный

Имя адреса. Источник: firewall.address.name, firewall.addrgrp.name.

blocked_log

string

Включить/отключить ведение журнала для заблокированных адресов.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Состояние.

Варианты:

  • "enable"
  • "disable"

trusted_address

list / elements=dictionary

Доверенный адрес.

name

string / обязательный

Имя адреса. Источник: firewall.address.name, firewall.addrgrp.name.

comment

string

Комментарий.

constraint

dictionary

Ограничения протокола HTTP для WAF.

content_length

dictionary

Длина содержимого HTTP-запроса.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

length

integer

Длина содержимого HTTP в байтах (от 0 до 2147483647).

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить/отключить ограничение.

Варианты:

  • "enable"
  • "disable"

exception

list / elements=dictionary

Исключение для ограничений HTTP.

address

string

Адрес узла. Источник: firewall.address.name, firewall.addrgrp.name.

content_length

string

Длина содержимого HTTP-запроса.

Варианты:

  • "enable"
  • "disable"

header_length

string

Длина заголовка HTTP-запроса.

Варианты:

  • "enable"
  • "disable"

hostname

string

Включить/отключить проверку имени узла.

Варианты:

  • "enable"
  • "disable"

id

integer / обязательный

Идентификатор исключения. См. <a href=’#notes’>Примечания</a>.

line_length

string

Длина строки HTTP-запроса.

Варианты:

  • "enable"
  • "disable"

malformed

string

Включить/отключить проверку HTTP-запросов с неверным форматом.

Варианты:

  • "enable"
  • "disable"

max_cookie

string

Максимальное количество файлов cookie в HTTP-запросе.

Варианты:

  • "enable"
  • "disable"

max_header_line

string

Максимальное количество строк заголовка HTTP.

Варианты:

  • "enable"
  • "disable"

max_range_segment

string

Максимальное количество сегментов диапазона в строке диапазона HTTP.

Варианты:

  • "enable"
  • "disable"

max_url_param

string

Максимальное количество параметров в URL.

Варианты:

  • "enable"
  • "disable"

method

string

Включить/отключить проверку метода HTTP.

Варианты:

  • "enable"
  • "disable"

param_length

string

Максимальная длина параметра в URL, HTTP POST-запросе или теле HTTP-сообщения.

Варианты:

  • "enable"
  • "disable"

pattern

string

Шаблон URL.

regex

string

Включить/отключить сопоставление с шаблоном на основе регулярного выражения.

Варианты:

  • "enable"
  • "disable"

url_param_length

string

Максимальная длина параметра в URL.

Варианты:

  • "enable"
  • "disable"

version

string

Включить/отключить проверку версии HTTP.

Варианты:

  • "enable"
  • "disable"

header_length

dictionary

Длина заголовка HTTP-запроса.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

length

integer

Длина заголовка HTTP в байтах (от 0 до 2147483647).

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить/отключить ограничение.

Варианты:

  • "enable"
  • "disable"

hostname

dictionary

Включить/отключить проверку имени узла.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить/отключить ограничение.

Варианты:

  • "enable"
  • "disable"

line_length

dictionary

Длина строки HTTP-запроса.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

length

integer

Длина строки HTTP в байтах (от 0 до 2147483647).

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

malformed

dictionary

Включить или отключить проверку некорректных HTTP-запросов.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

max_cookie

dictionary

Максимальное количество файлов cookie в HTTP-запросе.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

max_cookie

integer

Максимальное количество файлов cookie в HTTP-запросе (от 0 до 2147483647).

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

max_header_line

dictionary

Максимальное количество строк заголовка HTTP.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

max_header_line

integer

Максимальное количество строк заголовка HTTP (от 0 до 2147483647).

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

max_range_segment

dictionary

Максимальное количество сегментов диапазона в строке диапазона HTTP.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

max_range_segment

integer

Максимальное количество сегментов диапазона в строке диапазона HTTP (от 0 до 2147483647).

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

max_url_param

dictionary

Максимальное количество параметров в URL.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

max_url_param

integer

Максимальное количество параметров в URL (от 0 до 2147483647).

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

method

dictionary

Включить или отключить проверку метода HTTP.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

param_length

dictionary

Максимальная длина параметра в URL, HTTP POST-запросе или теле HTTP-запроса.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

length

integer

Максимальная длина параметра в URL, HTTP POST-запросе или теле HTTP-запроса в байтах (от 0 до 2147483647).

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

url_param_length

dictionary

Максимальная длина параметра в URL.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

length

integer

Максимальная длина параметра URL в байтах (от 0 до 2147483647).

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

version

dictionary

Включить или отключить проверку версии HTTP.

action

string

Действие.

Варианты:

  • "allow"
  • "block"

log

string

Включить или отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Степень серьезности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Включить или отключить ограничение.

Варианты:

  • "enable"
  • "disable"

extended_log

string

Включить или отключить расширенное ведение журнала.

Варианты:

  • "enable"
  • "disable"

external

string

Отключить или включить внешнюю проверку HTTP.

Варианты:

  • "disable"
  • "enable"

method

dictionary

Ограничение методов.

default_allowed_methods

list / elements=string

Методы.

Варианты:

  • "get"
  • "post"
  • "put"
  • "head"
  • "connect"
  • "trace"
  • "options"
  • "delete"
  • "others"

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

method_policy

list / elements=dictionary

Политика методов HTTP.

address

string

Адрес узла. Источник: firewall.address.name, firewall.addrgrp.name.

allowed_methods

list / elements=string

Разрешённые методы.

Варианты:

  • "get"
  • "post"
  • "put"
  • "head"
  • "connect"
  • "trace"
  • "options"
  • "delete"
  • "others"

id

integer / обязательный

Идентификатор политики методов HTTP. См. <a href=’#notes’>Примечания</a>.

pattern

string

Шаблон URL.

regex

string

Включить/отключить сопоставление с шаблоном на основе регулярного выражения.

Варианты:

  • "enable"
  • "disable"

severity

string

Уровень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Статус.

Варианты:

  • "enable"
  • "disable"

name

string / обязательный

Имя профиля WAF.

signature

dictionary

Сигнатуры WAF.

credit_card_detection_threshold

integer

Минимальное количество кредитных карт для обнаружения нарушения.

custom_signature

list / elements=dictionary

Пользовательская сигнатура.

action

string

Действие.

Варианты:

  • "allow"
  • "block"
  • "erase"

case_sensitivity

string

Чувствительность шаблона к регистру.

Варианты:

  • "disable"
  • "enable"

direction

string

Направление трафика.

Варианты:

  • "request"
  • "response"

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

name

string / обязательный

Имя сигнатуры.

pattern

string

Шаблон сопоставления.

severity

string

Уровень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Статус.

Варианты:

  • "enable"
  • "disable"

target

list / elements=string

Цель сопоставления HTTP.

Варианты:

  • "arg"
  • "arg-name"
  • "req-body"
  • "req-cookie"
  • "req-cookie-name"
  • "req-filename"
  • "req-header"
  • "req-header-name"
  • "req-raw-uri"
  • "req-uri"
  • "resp-body"
  • "resp-hdr"
  • "resp-status"

disabled_signature

list / elements=dictionary

Отключённые сигнатуры.

id

integer / обязательный

Идентификатор сигнатуры. См. <a href=’#notes’>Примечания</a>. Источник: waf.signature.id.

disabled_sub_class

list / elements=dictionary

Отключённые подклассы сигнатур.

id

integer / обязательный

Идентификатор подкласса сигнатуры. См. <a href=’#notes’>Примечания</a>. Источник: waf.sub-class.id.

main_class

list / elements=dictionary

Основной класс сигнатур.

action

string

Действие.

Варианты:

  • "allow"
  • "block"
  • "erase"

id

integer / обязательный

Идентификатор основного класса сигнатур. См. <a href=’#notes’>Примечания</a>. Источник: waf.main-class.id.

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Уровень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

status

string

Статус.

Варианты:

  • "enable"
  • "disable"

url_access

list / elements=dictionary

Список правил доступа к URL.

access_pattern

list / elements=dictionary

Шаблон доступа к URL.

id

integer / обязательный

Идентификатор шаблона доступа к URL. См. <a href=’#notes’>Примечания</a>.

negate

string

Включить/отключить инверсию условия сопоставления.

Варианты:

  • "enable"
  • "disable"

pattern

string

Шаблон URL.

regex

string

Включить/отключить сопоставление с шаблоном на основе регулярного выражения.

Варианты:

  • "enable"
  • "disable"

srcaddr

string

Исходный адрес. Источник: firewall.address.name, firewall.addrgrp.name.

action

string

Действие.

Варианты:

  • "bypass"
  • "permit"
  • "block"

address

string

Адрес узла. Источник: firewall.address.name, firewall.addrgrp.name.

id

integer / обязательный

Идентификатор правила доступа к URL. См. <a href=’#notes’>Примечания</a>.

log

string

Включить/отключить ведение журнала.

Варианты:

  • "enable"
  • "disable"

severity

string

Уровень серьёзности.

Варианты:

  • "high"
  • "medium"
  • "low"

Примечания

Примечание

  • Устаревшая библиотека fortiosapi больше не поддерживается; для запуска плейбуков рекомендуется использовать httpapi
  • Модуль поддерживает check_mode.

Примеры

- name: Configure Web application firewall configuration.
  fortinet.fortios.fortios_waf_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      waf_profile:
          address_list:
              blocked_address:
                  -
                      name: "default_name_5 (source firewall.address.name firewall.addrgrp.name)"
              blocked_log: "enable"
              severity: "high"
              status: "enable"
              trusted_address:
                  -
                      name: "default_name_10 (source firewall.address.name firewall.addrgrp.name)"
          comment: "Comment."
          constraint:
              content_length:
                  action: "allow"
                  length: "67108864"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              exception:
                  -
                      address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
                      content_length: "enable"
                      header_length: "enable"
                      hostname: "enable"
                      id: "24"
                      line_length: "enable"
                      malformed: "enable"
                      max_cookie: "enable"
                      max_header_line: "enable"
                      max_range_segment: "enable"
                      max_url_param: "enable"
                      method: "enable"
                      param_length: "enable"
                      pattern: "<your_own_value>"
                      regex: "enable"
                      url_param_length: "enable"
                      version: "enable"
              header_length:
                  action: "allow"
                  length: "8192"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              hostname:
                  action: "allow"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              line_length:
                  action: "allow"
                  length: "1024"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              malformed:
                  action: "allow"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              max_cookie:
                  action: "allow"
                  log: "enable"
                  max_cookie: "16"
                  severity: "high"
                  status: "enable"
              max_header_line:
                  action: "allow"
                  log: "enable"
                  max_header_line: "32"
                  severity: "high"
                  status: "enable"
              max_range_segment:
                  action: "allow"
                  log: "enable"
                  max_range_segment: "5"
                  severity: "high"
                  status: "enable"
              max_url_param:
                  action: "allow"
                  log: "enable"
                  max_url_param: "16"
                  severity: "high"
                  status: "enable"
              method:
                  action: "allow"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              param_length:
                  action: "allow"
                  length: "8192"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              url_param_length:
                  action: "allow"
                  length: "8192"
                  log: "enable"
                  severity: "high"
                  status: "enable"
              version:
                  action: "allow"
                  log: "enable"
                  severity: "high"
                  status: "enable"
          extended_log: "enable"
          external: "disable"
          method:
              default_allowed_methods: "get"
              log: "enable"
              method_policy:
                  -
                      address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
                      allowed_methods: "get"
                      id: "113"
                      pattern: "<your_own_value>"
                      regex: "enable"
              severity: "high"
              status: "enable"
          name: "default_name_118"
          signature:
              credit_card_detection_threshold: "3"
              custom_signature:
                  -
                      action: "allow"
                      case_sensitivity: "disable"
                      direction: "request"
                      log: "enable"
                      name: "default_name_126"
                      pattern: "<your_own_value>"
                      severity: "high"
                      status: "enable"
                      target: "arg"
              disabled_signature:
                  -
                      id: "132 (source waf.signature.id)"
              disabled_sub_class:
                  -
                      id: "134 (source waf.sub-class.id)"
              main_class:
                  -
                      action: "allow"
                      id: "137 (source waf.main-class.id)"
                      log: "enable"
                      severity: "high"
                      status: "enable"
          url_access:
              -
                  access_pattern:
                      -
                          id: "143"
                          negate: "enable"
                          pattern: "<your_own_value>"
                          regex: "enable"
                          srcaddr: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
                  action: "bypass"
                  address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
                  id: "150"
                  log: "enable"
                  severity: "high"

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

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

Ключ

Описание

build

string

Номер сборки образа FortiGate

Возвращается: всегда

Пример: "1547"

http_method

string

Последний метод, использованный для предоставления содержимого в FortiGate

Возвращается: всегда

Пример: "PUT"

http_status

string

Последний результат, возвращенный FortiGate при выполнении последней операции

Возвращается: всегда

Пример: "200"

mkey

string

Мастер-ключ (идентификатор), использованный при последнем вызове FortiGate

Возвращается: успешно

Пример: "id"

name

string

Имя таблицы, использованной для выполнения запроса

Возвращается: всегда

Пример: "urlfilter"

path

string

Путь к таблице, использованной для выполнения запроса

Возвращается: всегда

Пример: "webfilter"

revision

string

Внутренний номер ревизии

Возвращается: всегда

Пример: "17.0.2.10658"

serial

string

Серийный номер устройства

Возвращается: всегда

Пример: "FGVMEVYYQT3AB5352"

status

string

Результат выполнения операции

Возвращается: всегда

Пример: "success"

vdom

string

Используемый виртуальный домен

Возвращается: всегда

Пример: "root"

version

string

Версия FortiGate

Возвращается: всегда

Пример: "v5.6.3"

Авторы

  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Hongbin Lu (@fgtdev-hblu)
  • Frank Shen (@frankshen01)
  • Miguel Angel Munoz (@mamunozgonzalez)
  • Nicolas Thomas (@thomnico)

Ссылки на коллекцию

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/fortinet/fortios/fortios_waf_profile_module.html

Spec-Zone.ru

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