fortinet.fortios.fortios_waf_profile модуль — Настройка брандмауэра веб-приложений в Fortinet FortiOS и FortiGate.
Примечание
Этот модуль входит в коллекцию fortinet.fortios (версия 2.3.7).
Эта коллекция может быть уже установлена, если вы используете пакет 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.15
Параметры
Параметр | Комментарии |
|---|---|
access_token строка | Аутентификация на основе токена. Сгенерирована из графического интерфейса Fortigate. |
enable_log логический | Включить/выключить ведение журнала для задачи. Варианты:
|
member_path строка | Путь к атрибуту члена для обработки. Разделяется символом косой черты, если атрибутов более одного. Параметр, помеченный member_path, подходит для выполнения операции с членом. |
member_state строка | Добавить или удалить члена по указанному пути к атрибуту. Когда member_state задано, опция state игнорируется. Варианты:
|
state строка / обязательно | Указывает, нужно ли создать или удалить объект. Варианты:
|
vdom строка | Виртуальная область (vdom) из предварительно определённых. Vdom — это виртуальный экземпляр FortiGate, который можно настроить и использовать как отдельное устройство. По умолчанию: |
waf_profile словарь | Настройка конфигурации межсетевого экрана веб-приложений. |
|
address_list словарь |
Список разрешённых и заблокированных адресов. |
|
blocked_address список / элементы=словарь |
Заблокированный адрес. |
|
name строка / обязательно |
Имя адреса. Источник firewall.address.name firewall.addrgrp.name. |
|
blocked_log строка |
Включить/выключить ведение журнала по заблокированным адресам. Варианты:
|
|
severity строка |
Уровень важности. Варианты:
|
|
status строка |
Статус. Варианты:
|
|
trusted_address список / элементы=словарь |
Доверенный адрес. |
|
name строка / обязательно |
Имя адреса. Источник firewall.address.name firewall.addrgrp.name. |
|
comment строка |
Комментарий. |
|
constraint словарь |
Ограничения протокола HTTP WAF. |
|
content_length словарь |
Длина содержимого HTTP в запросе. |
|
action строка |
Действие. Варианты:
|
|
length целое число |
Длина содержимого HTTP в байтах (0 до 2147483647). |
|
log строка |
Включить/выключить ведение журнала. Варианты:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/выключить ограничение. Choices:
|
|
exception list / elements=dictionary |
Исключение ограничения HTTP. |
|
address string |
IP-адрес хоста. Источник firewall.address.name firewall.addrgrp.name. |
|
content_length string |
Длина содержимого HTTP в запросе. Choices:
|
|
header_length string |
Длина заголовка HTTP в запросе. Choices:
|
|
hostname string |
Включить/выключить проверку имени хоста. Choices:
|
|
id integer / required |
ID исключения. см. <a href=’#notes’>Примечания</a>. |
|
line_length string |
Длина строки HTTP в запросе. Choices:
|
|
malformed string |
Включить/выключить проверку некорректных запросов HTTP. Choices:
|
|
max_cookie string |
Максимальное количество файлов cookie в запросе HTTP. Choices:
|
|
max_header_line string |
Максимальное количество строк заголовка HTTP. Choices:
|
|
max_range_segment string |
Максимальное количество сегментов диапазона в строке диапазона HTTP. Choices:
|
|
max_url_param string |
Максимальное количество параметров в URL. Choices:
|
|
method string |
Включить/выключить проверку метода HTTP. Choices:
|
|
param_length string |
Максимальная длина параметра в URL, запросе HTTP POST или теле HTTP. Choices:
|
|
pattern string |
Шаблон URL. |
|
regex string |
Включить/выключить соответствие шаблонов на основе регулярных выражений. Choices:
|
|
url_param_length string |
Максимальная длина параметра в URL. Choices:
|
|
version string |
Включить/выключить проверку версии HTTP. Choices:
|
|
header_length dictionary |
Длина HTTP-заголовка в запросе. |
|
action string |
Действие. Choices:
|
|
length integer |
Длина HTTP-заголовка в байтах (от 0 до 2147483647). |
|
log string |
Включить/выключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/выключить ограничение. Choices:
|
|
hostname dictionary |
Включить/выключить проверку имени хоста. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/выключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/выключить ограничение. Choices:
|
|
line_length dictionary |
Длина строки HTTP в запросе. |
|
action string |
Действие. Choices:
|
|
length integer |
Длина строки HTTP в байтах (от 0 до 2147483647). |
|
log string |
Включить/выключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/выключить ограничение. Choices:
|
|
malformed dictionary |
Включить/выключить проверку некорректных HTTP-запросов. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/выключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
max_cookie dictionary |
Максимальное количество файлов cookie в HTTP-запросе. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
max_cookie integer |
Максимальное количество файлов cookie в HTTP-запросе (от 0 до 2147483647). |
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
max_header_line dictionary |
Максимальное количество строк HTTP-заголовка. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
max_header_line integer |
Максимальное количество строк HTTP-заголовка (от 0 до 2147483647). |
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
max_range_segment dictionary |
Максимальное количество сегментов диапазона в строке диапазона HTTP. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
max_range_segment integer |
Максимальное количество сегментов диапазона в строке диапазона HTTP (от 0 до 2147483647). |
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
max_url_param dictionary |
Максимальное количество параметров в URL. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
max_url_param integer |
Максимальное количество параметров в URL (0 to 2147483647). |
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
method dictionary |
Включить/отключить проверку метода HTTP. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
param_length dictionary |
Максимальная длина параметра в URL, HTTP POST запросе или HTTP теле. |
|
action string |
Действие. Choices:
|
|
length integer |
Максимальная длина параметра в URL, HTTP POST запросе или HTTP теле в байтах (0 to 2147483647). |
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
severity string |
Серьезность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
url_param_length dictionary |
Максимальная длина параметра в URL. |
|
action string |
Действие. Choices:
|
|
length integer |
Максимальная длина параметра URL в байтах (0 to 2147483647). |
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
severity string |
Серьёзность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
version dictionary |
Включить/отключить проверку версии HTTP. |
|
action string |
Действие. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
severity string |
Серьёзность. Choices:
|
|
status string |
Включить/отключить ограничение. Choices:
|
|
extended_log string |
Включить/отключить расширенное ведение журнала. Choices:
|
|
external string |
Отключить/Включить внешний HTTP-инспекции. Choices:
|
|
method dictionary |
Ограничение метода. |
|
default_allowed_methods list / elements=string |
Методы. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
method_policy list / elements=dictionary |
Политика HTTP-метода. |
|
address string |
IP-адрес узла. Источник firewall.address.name firewall.addrgrp.name. |
|
allowed_methods list / elements=string |
Разрешённые методы. Choices:
|
|
id integer / required |
ID политики HTTP-метода. см. <a href=’#notes’>Примечания</a>. |
|
pattern string |
Шаблон URL. |
|
regex string |
Включить/отключить соответствие шаблону на основе регулярных выражений. Choices:
|
|
severity string |
Серьёзность. Choices:
|
|
status string |
Статус. Choices:
|
|
name string / required |
Имя профиля WAF. |
|
signature dictionary |
Подписи WAF. |
|
credit_card_detection_threshold integer |
Минимальное количество кредитных карт для обнаружения нарушения. |
|
custom_signature list / elements=dictionary |
Пользовательская подпись. |
|
action string |
Действие. Choices:
|
|
case_sensitivity string |
Регистрозависимость в шаблоне. Choices:
|
|
direction string |
Направление трафика. Choices:
|
|
log string |
Включить/отключить ведение журнала. Choices:
|
|
name string / required |
Имя подписи. |
|
pattern string |
Шаблон соответствия. |
|
severity string |
Серьезность. Choices:
|
|
status string |
Статус. Choices:
|
|
target list / elements=string |
Соответствие цели HTTP. Choices:
|
|
disabled_signature list / elements=dictionary |
Отключенные подписи. |
|
id integer / required |
Идентификатор подписи. см. <a href=’#notes’>Примечания</a>. Источник waf.signature.id. |
|
disabled_sub_class list / elements=dictionary |
Отключенные подклассы подписей. |
|
id integer / required |
Идентификатор подкласса подписи. см. <a href=’#notes’>Примечания</a>. Источник waf.sub-class.id. |
|
main_class list / elements=dictionary |
Главный класс подписи. |
|
action string |
Действие. Choices:
|
|
id integer / required |
Идентификатор главного класса подписи. см. <a href=’#notes’>Примечания</a>. Источник waf.main-class.id. |
|
log string |
Включить/выключить ведение журнала. Варианты:
|
|
severity string |
Серьезность. Варианты:
|
|
status string |
Статус. Варианты:
|
|
url_access list / elements=dictionary |
Список доступа к URL. |
|
access_pattern list / elements=dictionary |
Шаблон доступа к URL. |
|
id integer / required |
ID шаблона доступа к URL. см. <a href=’#notes’>Примечания</a>. |
|
negate string |
Включить/выключить отрицание соответствия. Варианты:
|
|
pattern string |
Шаблон URL. |
|
regex string |
Включить/выключить соответствие шаблонов на основе регулярных выражений. Варианты:
|
|
srcaddr string |
Исходный адрес. Исходный firewall.address.name firewall.addrgrp.name. |
|
action string |
Действие. Варианты:
|
|
address string |
Адрес хоста. Исходный firewall.address.name firewall.addrgrp.name. |
|
id integer / required |
ID доступа к URL. см. <a href=’#notes’>Примечания</a>. |
|
log string |
Включить/выключить ведение журнала. Варианты:
|
|
severity string |
Серьезность. Варианты:
|
Примечания
Примечание
- Устаревший fortiosapi был объявлен устаревшим, httpapi является предпочтительным способом запуска playbooks
- Модуль поддерживает 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 строка | Номер сборки образа fortigate Возвращается: всегда Пример: |
http_method строка | Последний метод, используемый для подготовки контента в FortiGate Возвращается: всегда Пример: |
http_status строка | Последний результат, предоставленный FortiGate при последней операции Возвращается: всегда Пример: |
mkey строка | Главный ключ (идентификатор), используемый в последнем запросе к FortiGate Возвращается: успешно Пример: |
name строка | Имя таблицы, используемой для выполнения запроса Возвращается: всегда Пример: |
path строка | Путь к таблице, используемой для выполнения запроса Возвращается: всегда Пример: |
revision строка | Внутренний номер ревизии Возвращается: всегда Пример: |
serial строка | Серийный номер устройства Возвращается: всегда Пример: |
status строка | Указание результата операции Возвращается: всегда Пример: |
vdom строка | Используемый виртуальный домен Возвращается: всегда Пример: |
version строка | Версия FortiGate Возвращается: всегда Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/fortinet/fortios/fortios_waf_profile_module.html