Spec-Zone.ru › Ansible 2.11

fortinet.fortios.fortios_waf_profile – Настройка межсетевого экрана веб-приложений в FortiOS и FortiGate Fortinet.

Примечание

Этот плагин входит в коллекцию fortinet.fortios (версия 1.1.8).

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

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

Новое в версии 2.8: of fortinet.fortios

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

Описание

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

Требования

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

  • ansible>=2.9.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_token
строка
Аутентификация на основе токенов. Сгенерировано в интерфейсе Fortigate.
state
строка
добавлен в 2.9 fortinet.fortios
    Варианты:
  • present
  • absent
Указывает, нужно ли создавать или удалять объект. Этот атрибут уже присутствовал в предыдущей версии на более глубоком уровне. Он был перенесен на этот внешний уровень.
vdom
строка
По умолчанию:
"root"
Виртуальная область, среди тех, которые были определены ранее. VDOM — виртуальная инстанция FortiGate, которую можно настроить и использовать как отдельную единицу.
waf_profile
словарь
Настройка межсетевого экрана веб-приложений.
address_list
словарь
Список заблокированных и разрешенных адресов.
blocked_address
список / элементы=строка
Заблокированный адрес.
name
строка / обязательно
Имя адреса. Источник firewall.address.name firewall.addrgrp.name.
blocked_log
строка
    Варианты:
  • enable
  • disable
Включить/выключить логирование заблокированных адресов.
severity
строка
    Варианты:
  • high
  • medium
  • low
Уровень серьезности.
status
строка
    Варианты:
  • enable
  • disable
Статус.
trusted_address
список / элементы=строка
Доверенный адрес.
name
строка / обязательно
Имя адреса. Источник firewall.address.name firewall.addrgrp.name.
comment
строка
Комментарий.
constraint
словарь
Ограничения протокола HTTP для WAF.
content_length
словарь
Длина контента HTTP в запросе.
action
строка
    Варианты:
  • allow
  • block
Действие.
length
целое число
Длина контента HTTP в байтах (от 0 до 2147483647).
log
строка
    Варианты:
  • enable
  • disable
Включить/выключить логирование.
severity
строка
    Варианты:
  • high
  • medium
  • low
Уровень серьезности.
status
строка
    Варианты:
  • enable
  • disable
Включить/выключить ограничение.
exception
список / элементы=строка
Исключение ограничения HTTP.
address
строка
Адрес хоста. Источник firewall.address.name firewall.addrgrp.name.
content_length
строка
    Варианты:
  • enable
  • disable
Длина контента HTTP в запросе.
header_length
строка
    Варианты:
  • enable
  • disable
Длина заголовка HTTP в запросе.
hostname
строка
    Варианты:
  • enable
  • disable
Включить/выключить проверку имени хоста.
id
целое число / обязательно
Идентификатор исключения.
line_length
строка
    Варианты:
  • enable
  • disable
Длина строки HTTP в запросе.
malformed
строка
    Варианты:
  • enable
  • disable
Включить/выключить проверку неправильного формата HTTP запроса.
max_cookie
строка
    Варианты:
  • enable
  • disable
Максимальное количество файлов cookie в HTTP запросе.
max_header_line
строка
    Варианты:
  • enable
  • disable
Максимальное количество строк заголовка HTTP.
max_range_segment
строка
    Варианты:
  • enable
  • disable
Максимальное количество фрагментов диапазона в строке HTTP диапазона.
max_url_param
строка
    Варианты:
  • enable
  • disable
Максимальное количество параметров в URL.
method
строка
    Варианты:
  • enable
  • disable
Включить/выключить проверку HTTP метода.
param_length
строка
    Варианты:
  • enable
  • disable
Максимальная длина параметра в URL, HTTP POST запросе или теле HTTP.
pattern
строка
Шаблон URL.
regex
строка
    Варианты:
  • enable
  • disable
Включить/выключить соответствие шаблону на основе регулярных выражений.
url_param_length
строка
    Варианты:
  • enable
  • disable
Максимальная длина параметра в URL.
version
строка
    Варианты:
  • enable
  • disable
Включить/выключить проверку версии HTTP.
header_length
словарь
Длина заголовка HTTP в запросе.
action
строка
    Варианты:
  • allow
  • block
Действие.
length
целое число
Длина заголовка HTTP в байтах (от 0 до 2147483647).
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
hostname
dictionary
Включить/отключить проверку имени хоста.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
line_length
dictionary
Длина строки HTTP в запросе.
action
string
    Choices:
  • allow
  • block
Действие.
length
integer
Длина строки HTTP в байтах (от 0 до 2147483647).
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
malformed
dictionary
Включить/отключить проверку некорректного запроса HTTP.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
max_cookie
dictionary
Максимальное количество файлов cookie в запросе HTTP.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
max_cookie
integer
Максимальное количество файлов cookie в запросе HTTP (от 0 до 2147483647).
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
max_header_line
dictionary
Максимальное количество строк заголовков HTTP.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
max_header_line
integer
Максимальное количество строк заголовков HTTP (от 0 до 2147483647).
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
max_range_segment
dictionary
Максимальное количество сегментов диапазона в строке HTTP range.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
max_range_segment
integer
Максимальное количество сегментов диапазона в строке HTTP range (от 0 до 2147483647).
severity
string
    Choices:
  • high
  • medium
  • low
Уровень серьезности.
status
string
    Choices:
  • enable
  • disable
Включить/отключить ограничение.
max_url_param
dictionary
Максимальное количество параметров в URL.
action
string
    Choices:
  • allow
  • block
Действие.
log
string
    Choices:
  • enable
  • disable
Включить/отключить логирование.
max_url_param
integer
Максимальное количество параметров в URL (от 0 до 2147483647).
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ограничение.
метод
словарь
Включить/выключить проверку HTTP-метода.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
Действие.
журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ведение журнала.
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ограничение.
длина_параметра
словарь
Максимальная длина параметра в URL, HTTP POST-запросе или HTTP-теле.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
Действие.
длина
целое число
Максимальная длина параметра в URL, HTTP POST-запросе или HTTP-теле в байтах (от 0 до 2147483647).
журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ведение журнала.
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ограничение.
длина_параметра_url
словарь
Максимальная длина параметра в URL.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
Действие.
длина
целое число
Максимальная длина параметра URL в байтах (от 0 до 2147483647).
журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ведение журнала.
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ограничение.
версия
словарь
Включить/выключить проверку HTTP-версии.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
Действие.
журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ведение журнала.
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ограничение.
расширенный_журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить расширенное ведение журнала.
внешний
строка
    Варианты:
  • выключить
  • включить
Отключить/Включить внешнюю проверку HTTP.
метод
словарь
Ограничение метода.
по умолчанию_разрешенные_методы
строка
    Варианты:
  • get
  • post
  • put
  • head
  • connect
  • trace
  • options
  • delete
  • others
Методы.
журнал
строка
    Варианты:
  • включить
  • выключить
Включить/выключить ведение журнала.
политика_метода
список / элементы=строка
Политика HTTP-метода.
адрес
строка
Адрес хоста. Источник брандмауэра. firewall.address.name firewall.addrgrp.name.
разрешенные_методы
строка
    Варианты:
  • get
  • post
  • put
  • head
  • connect
  • trace
  • options
  • delete
  • others
Разрешенные методы.
id
целое число / обязательно
Идентификатор политики HTTP-метода.
шаблон
строка
Шаблон URL.
регулярное_выражение
строка
    Варианты:
  • включить
  • выключить
Включить/выключить соответствие шаблону на основе регулярного выражения.
серьёзность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьёзность.
статус
строка
    Варианты:
  • включить
  • выключить
Статус.
имя
строка / обязательно
Имя профиля WAF.
подпись
словарь
Подписи WAF.
пороговое_значение_обнаружения_кредитной_карты
целое число
Минимальное количество кредитных карт для обнаружения нарушения.
пользовательская_подпись
список / элементы=строка
Пользовательская подпись.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
  • стереть
Действие.
чувствительность_к_регистру
строка
    Варианты:
  • отключить
  • включить
Чувствительность к регистру в шаблоне.
направление
строка
    Варианты:
  • запрос
  • ответ
Направление трафика.
журнал
строка
    Варианты:
  • включить
  • отключить
Включить/отключить ведение журнала.
имя
строка / обязательно
Имя подписи.
шаблон
строка
Шаблон соответствия.
серьезность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьезность.
статус
строка
    Варианты:
  • включить
  • отключить
Статус.
цель
строка
    Варианты:
  • 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
Цель соответствия HTTP.
выключенные_подписи
список / элементы=строка
Выключенные подписи
id
целое число / обязательно
Идентификатор подписи. Источник waf.signature.id.
выключенные_подклассы
список / элементы=строка
Выключенные подклассы подписей.
id
целое число / обязательно
Идентификатор подкласса подписи. Источник waf.sub-class.id.
основной_класс
список / элементы=строка
Основной класс подписи.
действие
строка
    Варианты:
  • разрешить
  • заблокировать
  • стереть
Действие.
id
целое число / обязательно
Идентификатор основного класса подписи. Источник waf.main-class.id.
журнал
строка
    Варианты:
  • включить
  • отключить
Включить/отключить ведение журнала.
серьезность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьезность.
статус
строка
    Варианты:
  • включить
  • отключить
Статус.
состояние
строка
    Варианты:
  • существующий
  • отсутствует
Устарело
Начиная с Ansible 2.9, рекомендуется использовать параметр 'состояние' верхнего уровня.
Указывает, нужно ли создавать или удалять объект.
доступ_к_url
список / элементы=строка
Список доступа к URL
шаблон_доступа_к_url
список / элементы=строка
Шаблон доступа к URL.
id
целое число / обязательно
Идентификатор шаблона доступа к URL.
отрицание
строка
    Варианты:
  • включить
  • отключить
Включить/отключить отрицание соответствия.
шаблон
строка
Шаблон URL.
regex
строка
    Варианты:
  • включить
  • отключить
Включить/отключить соответствие шаблону на основе регулярных выражений.
адрес_источника
строка
Адрес источника. Источник firewall.address.name firewall.addrgrp.name.
действие
строка
    Варианты:
  • пропустить
  • разрешить
  • заблокировать
Действие.
адрес
строка
Адрес хоста. Источник firewall.address.name firewall.addrgrp.name.
id
целое число / обязательно
Идентификатор доступа к URL.
журнал
строка
    Варианты:
  • включить
  • отключить
Включить/отключить ведение журнала.
серьезность
строка
    Варианты:
  • высокая
  • средняя
  • низкая
Серьезность.

Примечания

Примечание

  • Модуль fortiosapi устарел, httpapi предпочтительный способ выполнения playbooks

Примеры

- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Web application firewall configuration.
    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: "15"
                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: "39"
                log: "enable"
                severity: "high"
                status: "enable"
            hostname:
                action: "allow"
                log: "enable"
                severity: "high"
                status: "enable"
            line_length:
                action: "allow"
                length: "50"
                log: "enable"
                severity: "high"
                status: "enable"
            malformed:
                action: "allow"
                log: "enable"
                severity: "high"
                status: "enable"
            max_cookie:
                action: "allow"
                log: "enable"
                max_cookie: "62"
                severity: "high"
                status: "enable"
            max_header_line:
                action: "allow"
                log: "enable"
                max_header_line: "68"
                severity: "high"
                status: "enable"
            max_range_segment:
                action: "allow"
                log: "enable"
                max_range_segment: "74"
                severity: "high"
                status: "enable"
            max_url_param:
                action: "allow"
                log: "enable"
                max_url_param: "80"
                severity: "high"
                status: "enable"
            method:
                action: "allow"
                log: "enable"
                severity: "high"
                status: "enable"
            param_length:
                action: "allow"
                length: "90"
                log: "enable"
                severity: "high"
                status: "enable"
            url_param_length:
                action: "allow"
                length: "96"
                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: "120"
            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"

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

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

Ключ Возвращаемое Описание
сборка
строка
всегда
Номер сборки образа FortiGate

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

Пример:
PUT
http_статус
строка
всегда
Последний результат, предоставленный FortiGate при последней применённой операции

Пример:
200
mkey
строка
успех
Главный ключ (id), использованный в последнем вызове FortiGate

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

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

Пример:
webfilter
ревизия
строка
всегда
Внутренний номер ревизии

Пример:
17.0.2.10658
серийный_номер
строка
всегда
Серийный номер устройства

Пример:
FGVMEVYYQT3AB5352
статус
строка
всегда
Указание результата операции

Пример:
успех
vdom
строка
всегда
Используемый виртуальный домен

Пример:
root
версия
строка
всегда
Версия FortiGate

Пример:
v5.6.3


Авторы

  • Линк Чжэн (@chillancezen)
  • Дже Ксюэ (@JieX19)
  • Хунбин Лю (@fgtdev-hblu)
  • Фрэнк Шень (@frankshen01)
  • Мигель Анхель Муньос (@mamunozgonzalez)
  • Николас Томас (@thomnico)

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

Spec-Zone.ru

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