fortinet.fortios.fortios_firewall_policy – Настройка политик IPv4 в FortiOS и FortiGate Fortinet.
Примечание
Этот плагин входит в коллекцию fortinet.fortios (версия 1.1.8).
Для его установки используйте: ansible-galaxy collection install fortinet.fortios.
Для использования в playbook, укажите: fortinet.fortios.fortios_firewall_policy.
Новое в версии 2.8: of fortinet.fortios
Обзор
- Этот модуль позволяет настроить устройство FortiGate или FortiOS (FOS), позволяя пользователю устанавливать и изменять параметры и категории правил брандмауэра. Примеры включают все параметры и значения, которые необходимо настроить в источниках данных перед использованием. Тестировано на FOS v6.0.0
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- ansible>=2.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| access_token строка | Аутентификация на основе токена. Сгенерировано в графическом интерфейсе Fortigate. | |||
| action строка |
| индикатор действия для перемещения объекта в списке | ||
| after строка | mkey целевого идентификатора | |||
| before строка | mkey целевого идентификатора | |||
| firewall_policy словарь | Настройка политик IPv4. | |||
| action строка |
| Действие политики (разрешить/заблокировать/ipsec). | ||
| app_category список / элементы=строка | Список идентификаторов категорий приложений. | |||
| id целое число / обязательно | Идентификаторы категорий. | |||
| app_group список / элементы=строка | Имена групп приложений. | |||
| name строка / обязательно | Имена групп приложений. Имя группы приложения. (Source application.group.name). | |||
| application список / элементы=строка | Список идентификаторов приложений. | |||
| id целое число / обязательно | Идентификаторы приложений. | |||
| application_list строка | Имя существующего списка приложений. (Source application.list.name). | |||
| auth_cert строка | Сертификат HTTPS-сервера для аутентификации политики. (Source vpn.certificate.local.name). | |||
| auth_path строка |
| Включить/выключить маршрутизацию на основе аутентификации. | ||
| auth_redirect_addr строка | Адрес перенаправления HTTP-в-HTTPS для аутентификации брандмауэра. | |||
| av_profile строка | Имя существующего профиля антивируса. (Source antivirus.profile.name). | |||
| block_notification строка |
| Включить/выключить уведомления о блокировке. | ||
| captive_portal_exempt строка |
| Включить, чтобы исключить некоторых пользователей из портала captive. | ||
| capture_packet строка |
| Включить/выключить захват пакетов. | ||
| comments строка | Комментарий. | |||
| custom_log_fields список / элементы=строка | Пользовательские поля, которые необходимо добавить к сообщениям журнала для этой политики. | |||
| field_id строка | Пользовательское поле журнала. (Source log.custom-field.id). | |||
| delay_tcp_npu_session строка |
| Включить задержку сессии TCP NPU для гарантии порядка пакетов трехстороннего рукопожатия. | ||
| devices список / элементы=строка | Имена устройств или групп устройств, которые могут быть сопоставлены политикой. | |||
| name строка / обязательно | Имя устройства или группы. (Source user.device.alias user.device-group.name user.device-category.name). | |||
| diffserv_forward строка |
| Включить изменение значений DiffServ пакета на указанное значение diffservcode-forward. | ||
| diffserv_reverse строка |
| Включить изменение значений обратного (ответного) DiffServ пакета на указанное значение diffservcode-rev. | ||
| diffservcode_forward строка | Изменить DiffServ пакета на это значение. | |||
| diffservcode_rev строка | Изменить DiffServ обратного (ответного) пакета на это значение. | |||
| disclaimer строка |
| Включить/выключить отказ от ответственности при аутентификации пользователя. | ||
| dlp_sensor строка | Имя существующего датчика DLP. (Source dlp.sensor.name). | |||
| dnsfilter_profile строка | Имя существующего профиля фильтрации DNS. (Source dnsfilter.profile.name). | |||
| dscp_match строка |
| Включить проверку DSCP. | ||
| dscp_negate строка |
| Включить проверку DSCP с отрицанием. | ||
| dscp_value строка | Значение DSCP. | |||
| dsri строка |
| Включить DSRI для игнорирования ответов HTTP-сервера. | ||
| dstaddr список / элементы=строка | Названия адресов и групп адресов назначения. | |||
| name строка / обязательно | Имя адреса. (Source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name). | |||
| dstaddr_negate строка |
| При включении dstaddr указывает, что адрес назначения НЕ должен быть указанным. | ||
| dstintf список / элементы=строка | Выходной интерфейс. | |||
| name строка / обязательно | Имя интерфейса. (Source system.interface.name system.zone.name). | |||
| firewall_session_dirty строка |
| Как обрабатывать сессии, если конфигурация этой политики брандмауэра меняется. | ||
| fixedport строка |
| Включить, чтобы предотвратить изменение исходного порта сессии исходным NAT. | ||
| fsso строка |
| Включить/выключить Fortinet Single Sign-On. | ||
| fsso_agent_for_ntlm строка | Агент FSSO для аутентификации NTLM. (Source user.fsso.name). | |||
| global_label строка | Метка политики, отображаемая при отображении графического интерфейса в режиме «Глобальный вид». | |||
| groups список / элементы=строка | Имена групп пользователей, которые могут пройти аутентификацию по этой политике. | |||
| name строка / обязательно | Имя группы. (Source user.group.name). | |||
| icap_profile строка | Имя существующего профиля ICAP. (Source icap.profile.name). | |||
| identity_based_route string | Имя правила маршрутизации, основанного на идентификации. Исходное значение firewall.identity-based-route.name. | |||
| inbound string |
| Политика VPN IPsec: только трафик из удалённой сети может инициировать VPN. | ||
| internet_service string |
| Включить/выключить использование Интернет-услуг для этой политики. Если включено, адрес назначения и услуга не используются. | ||
| internet_service_custom list / elements=string | Пользовательское имя Интернет-услуги. | |||
| name string / required | Пользовательское имя Интернет-услуги. Исходное значение firewall.internet-service-custom.name. | |||
| internet_service_id list / elements=string | Идентификатор Интернет-услуги. | |||
| id integer / required | Идентификатор Интернет-услуги. Исходное значение firewall.internet-service.id. | |||
| internet_service_negate string |
| При включении internet-service указывает, какой службы быть НЕ должно. | ||
| internet_service_src string |
| Включить/выключить использование Интернет-услуг в источнике для этой политики. Если включено, исходный адрес не используется. | ||
| internet_service_src_custom list / elements=string | Пользовательское имя источника Интернет-услуги. | |||
| name string / required | Пользовательское имя Интернет-услуги. Исходное значение firewall.internet-service-custom.name. | |||
| internet_service_src_id list / elements=string | Идентификатор источника Интернет-услуги. | |||
| id integer / required | Идентификатор Интернет-услуги. Исходное значение firewall.internet-service.id. | |||
| internet_service_src_negate string |
| При включении internet-service-src указывает, какой службы быть НЕ должно. | ||
| ippool string |
| Включить для использования IP-пулов для источника NAT. | ||
| ips_sensor string | Имя существующего датчика IPS. Исходное значение ips.sensor.name. | |||
| label string | Метка политики, отображаемая в режиме отображения по разделам в графическом интерфейсе. | |||
| learning_mode string |
| Включить, чтобы разрешить всё, но записывать все значимые данные для сбора информации о безопасности. Будет сгенерирован отчёт обучения. | ||
| logtraffic string |
| Включить или отключить логирование. Записывать все сессии или сессии профиля безопасности. | ||
| logtraffic_start string |
| Записывать логи при запуске и завершении сессии. | ||
| match_vip string |
| Включить для соответствия пакетам, адреса назначения которых были изменены VIP. | ||
| name string | Имя политики. | |||
| nat string |
| Включить/выключить исходный NAT. | ||
| natinbound string |
| Политика VPN IPsec: применить NAT назначения к входящему трафику. | ||
| natip string | Политика VPN IPsec: IP-адрес исходного NAT для исходящего трафика. | |||
| natoutbound string |
| Политика VPN IPsec: применить NAT источника к исходящему трафику. | ||
| ntlm string |
| Включить/выключить аутентификацию NTLM. | ||
| ntlm_enabled_browsers list / elements=string | Значение HTTP-User-Agent поддерживаемых браузеров. | |||
| user_agent_string string | Строка User-Agent. | |||
| ntlm_guest string |
| Включить/выключить доступ гостевого пользователя NTLM. | ||
| outbound string |
| Политика VPN IPsec: только трафик из внутренней сети может инициировать VPN. | ||
| per_ip_shaper string | Ограничение трафика на IP-уровень. Исходное значение firewall.shaper.per-ip-shaper.name. | |||
| permit_any_host string |
| Принять пакеты UDP от любого хоста. | ||
| permit_stun_host string |
| Принять пакеты UDP от любого хоста Session Traversal Utilities for NAT (STUN). | ||
| policyid integer / required | Идентификатор политики. | |||
| poolname list / elements=string | Имена IP-пулов. | |||
| name string / required | Имя IP-пула. Исходное значение firewall.ippool.name. | |||
| profile_group string | Имя группы профилей. Исходное значение firewall.profile-group.name. | |||
| profile_protocol_options string | Имя существующего профиля параметров протокола. Исходное значение firewall.profile-protocol-options.name. | |||
| profile_type string |
| Определить, разрешает ли политика брандмауэра группы профилей безопасности или только отдельные профили. | ||
| radius_mac_auth_bypass string |
| Включить обход аутентификации MAC. Обойденный MAC-адрес должен быть получен с сервера RADIUS. | ||
| redirect_url string | URL, на который перенаправляются пользователи после просмотра и принятия отметки об отказе или аутентификации. | |||
| replacemsg_override_group string | Переопределить группу сообщений замены по умолчанию для этой политики. Исходное значение system.replacemsg-group.name. | |||
| rsso string |
| Включить/выключить RADIUS single sign-on (RSSO). | ||
| rtp_addr list / elements=string | Имена адресов, если это политика RTP NAT. | |||
| name string / required | Имя адреса. Исходное значение firewall.address.name или firewall.addrgrp.name. | |||
| rtp_nat string |
| Включить NAT для протокола Real Time Protocol (RTP). | ||
| scan_botnet_connections string |
| Блокировать или отслеживать подключения к серверам ботнета или отключить сканирование ботнета. | ||
| schedule string | Имя расписания. Источник firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name. | |||
| schedule_timeout string |
| Включить, чтобы при истечении времени действия объекта расписания принудительно завершить текущие сеансы. Отключение позволит им завершаться из-за бездействия. | ||
| send_deny_packet string |
| Включить, чтобы отправлять ответ, когда сеанс отклоняется или блокируется политикой брандмауэра. | ||
| service list / elements=string | Имена служб и групп служб. | |||
| name string / required | Имена служб и групп служб. Источник firewall.service.custom.name firewall.service.group.name. | |||
| service_negate string |
| При включении служба указывает, чем служба НЕ должна быть. | ||
| session_ttl integer | Время жизни (TTL) в секундах для сеансов, принятых этой политикой (0 означает использование системного значения). | |||
| spamfilter_profile string | Имя существующего профиля фильтра спама. Источник spamfilter.profile.name. | |||
| srcaddr list / elements=string | Имена исходных адресов и групп адресов. | |||
| name string / required | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | |||
| srcaddr_negate string |
| При включении srcaddr указывает, что исходный адрес НЕ должен быть. | ||
| srcintf list / elements=string | Входящий (входящий) интерфейс. | |||
| name string / required | Имя интерфейса. Источник system.interface.name system.zone.name. | |||
| ssh_filter_profile string | Имя существующего профиля фильтра SSH. Источник ssh-filter.profile.name. | |||
| ssl_mirror string |
| Включить для копирования расшифрованного трафика SSL на интерфейс FortiGate (называется зеркальным отображением SSL). | ||
| ssl_mirror_intf list / elements=string | Имя интерфейса зеркала SSL. | |||
| name string / required | Имя интерфейса зеркалирования. Источник system.interface.name system.zone.name. | |||
| ssl_ssh_profile string | Имя существующего профиля SSL SSH. Источник firewall.ssl-ssh-profile.name. | |||
| state string |
| Устарело Начиная с Ansible 2.9, рекомендуется использовать параметр «state» на верхнем уровне. Указывает, нужно ли создать или удалить объект. | ||
| status string |
| Включить или отключить эту политику. | ||
| tcp_mss_receiver integer | Максимальный размер сегмента TCP (MSS) приемника. | |||
| tcp_mss_sender integer | Максимальный размер сегмента TCP (MSS) отправителя. | |||
| tcp_session_without_syn string |
| Включить/отключить создание сеанса TCP без флага SYN. | ||
| timeout_send_rst string |
| Включить/отключить отправку пакетов RST при истечении срока действия сеансов TCP. | ||
| traffic_shaper string | Формировщик трафика. Источник firewall.shaper.traffic-shaper.name. | |||
| traffic_shaper_reverse string | Обратный формировщик трафика. Источник firewall.shaper.traffic-shaper.name. | |||
| url_category list / elements=string | Список идентификаторов категорий URL. | |||
| id integer / required | Идентификатор категории URL. | |||
| users list / elements=string | Имена отдельных пользователей, которые могут пройти аутентификацию с этой политикой. | |||
| name string / required | Имена отдельных пользователей, которые могут пройти аутентификацию с этой политикой. Источник user.local.name. | |||
| utm_status string |
| Включить, чтобы добавить один или несколько профилей безопасности (антивирус, IPS и т. д.) в политику брандмауэра. | ||
| uuid string | Универсальный уникальный идентификатор (UUID; автоматически назначается, но может быть переустановлен вручную). | |||
| vlan_cos_fwd integer | Приоритет пользователя VLAN в направлении переадресации: 255 — передача, 0 — низший, 7 — высший. | |||
| vlan_cos_rev integer | Приоритет пользователя VLAN в обратном направлении: 255 — передача, 0 — низший, 7 — высший. | |||
| vlan_filter string | Установить фильтры VLAN. | |||
| voip_profile string | Имя существующего профиля VoIP. Источник voip.profile.name. | |||
| vpntunnel string | Политизированный VPN IPsec: имя первой фазы IPsec VPN. Источник vpn.ipsec.phase1.name vpn.ipsec.manualkey.name. | |||
| waf_profile string | Имя существующего профиля межсетевого экрана веб-приложений. Источник waf.profile.name. | |||
| wanopt string |
| Включить/отключить оптимизацию WAN. | ||
| wanopt_detection string |
| Режим автоматического определения оптимизации WAN. | ||
| wanopt_passive_opt string |
| Параметры пассивного режима оптимизации WAN. Этот параметр определяет, какой IP-адрес будет использоваться для подключения к серверу. | ||
| wanopt_peer string | Партнёр оптимизации WAN. Источник wanopt.peer.peer-host-id. | |||
| wanopt_profile string | Профиль оптимизации WAN. Источник wanopt.profile.name. | |||
| wccp string |
| Включить/отключить пересылку трафика, соответствующего этой политике, на настроенный сервер WCCP. | ||
| webcache string |
| Включить/выключить кэш веб-страниц. | ||
| webcache_https string |
| Включить/выключить кэш веб-страниц для HTTPS. | ||
| webfilter_profile string | Имя существующего профиля веб-фильтра. Источник webfilter.profile.name. | |||
| wsso string |
| Включить/выключить WiFi Single Sign On (WSSO). | ||
| self string | mkey идентификатора self | |||
| state string добавлен в 2.9 от fortinet.fortios |
| Указывает, нужно ли создать или удалить объект. Этот атрибут уже был в предыдущей версии на более глубоком уровне. Он был вынесен на этот внешний уровень. | ||
| vdom string | По умолчанию: "root" | Виртуальная область, среди тех, что определены ранее. Vdom — это виртуальный экземпляр FortiGate, который можно настроить и использовать как отдельное устройство. | ||
Примечания
Примечание
- Устаревший fortiosapi был исключен из использования, httpapi предпочтительнее для запуска playbooks
- Измените порядок объектов, переместив self после (перед) другого.
- При перемещении объекта необходимо указать только один из [after, before].
Примеры
- 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: Configure IPv4 policies.
fortios_firewall_policy:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_policy:
action: "accept"
app_category:
-
id: "5"
app_group:
-
name: "default_name_7 (source application.group.name)"
application:
-
id: "9"
application_list: "<your_own_value> (source application.list.name)"
auth_cert: "<your_own_value> (source vpn.certificate.local.name)"
auth_path: "enable"
auth_redirect_addr: "<your_own_value>"
av_profile: "<your_own_value> (source antivirus.profile.name)"
block_notification: "enable"
captive_portal_exempt: "enable"
capture_packet: "enable"
comments: "<your_own_value>"
custom_log_fields:
-
field_id: "<your_own_value> (source log.custom-field.id)"
delay_tcp_npu_session: "enable"
devices:
-
name: "default_name_23 (source user.device.alias user.device-group.name user.device-category.name)"
diffserv_forward: "enable"
diffserv_reverse: "enable"
diffservcode_forward: "<your_own_value>"
diffservcode_rev: "<your_own_value>"
disclaimer: "enable"
dlp_sensor: "<your_own_value> (source dlp.sensor.name)"
dnsfilter_profile: "<your_own_value> (source dnsfilter.profile.name)"
dscp_match: "enable"
dscp_negate: "enable"
dscp_value: "<your_own_value>"
dsri: "enable"
dstaddr:
-
name: "default_name_36 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name)"
dstaddr_negate: "enable"
dstintf:
-
name: "default_name_39 (source system.interface.name system.zone.name)"
firewall_session_dirty: "check-all"
fixedport: "enable"
fsso: "enable"
fsso_agent_for_ntlm: "<your_own_value> (source user.fsso.name)"
global_label: "<your_own_value>"
groups:
-
name: "default_name_46 (source user.group.name)"
icap_profile: "<your_own_value> (source icap.profile.name)"
identity_based_route: "<your_own_value> (source firewall.identity-based-route.name)"
inbound: "enable"
internet_service: "enable"
internet_service_custom:
-
name: "default_name_52 (source firewall.internet-service-custom.name)"
internet_service_id:
-
id: "54 (source firewall.internet-service.id)"
internet_service_negate: "enable"
internet_service_src: "enable"
internet_service_src_custom:
-
name: "default_name_58 (source firewall.internet-service-custom.name)"
internet_service_src_id:
-
id: "60 (source firewall.internet-service.id)"
internet_service_src_negate: "enable"
ippool: "enable"
ips_sensor: "<your_own_value> (source ips.sensor.name)"
label: "<your_own_value>"
learning_mode: "enable"
logtraffic: "all"
logtraffic_start: "enable"
match_vip: "enable"
name: "default_name_69"
nat: "enable"
natinbound: "enable"
natip: "<your_own_value>"
natoutbound: "enable"
ntlm: "enable"
ntlm_enabled_browsers:
-
user_agent_string: "<your_own_value>"
ntlm_guest: "enable"
outbound: "enable"
per_ip_shaper: "<your_own_value> (source firewall.shaper.per-ip-shaper.name)"
permit_any_host: "enable"
permit_stun_host: "enable"
policyid: "82"
poolname:
-
name: "default_name_84 (source firewall.ippool.name)"
profile_group: "<your_own_value> (source firewall.profile-group.name)"
profile_protocol_options: "<your_own_value> (source firewall.profile-protocol-options.name)"
profile_type: "single"
radius_mac_auth_bypass: "enable"
redirect_url: "<your_own_value>"
replacemsg_override_group: "<your_own_value> (source system.replacemsg-group.name)"
rsso: "enable"
rtp_addr:
-
name: "default_name_93 (source firewall.address.name firewall.addrgrp.name)"
rtp_nat: "disable"
scan_botnet_connections: "disable"
schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
schedule_timeout: "enable"
send_deny_packet: "disable"
service:
-
name: "default_name_100 (source firewall.service.custom.name firewall.service.group.name)"
service_negate: "enable"
session_ttl: "102"
spamfilter_profile: "<your_own_value> (source spamfilter.profile.name)"
srcaddr:
-
name: "default_name_105 (source firewall.address.name firewall.addrgrp.name)"
srcaddr_negate: "enable"
srcintf:
-
name: "default_name_108 (source system.interface.name system.zone.name)"
ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)"
ssl_mirror: "enable"
ssl_mirror_intf:
-
name: "default_name_112 (source system.interface.name system.zone.name)"
ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)"
status: "enable"
tcp_mss_receiver: "115"
tcp_mss_sender: "116"
tcp_session_without_syn: "all"
timeout_send_rst: "enable"
traffic_shaper: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
traffic_shaper_reverse: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
url_category:
-
id: "122"
users:
-
name: "default_name_124 (source user.local.name)"
utm_status: "enable"
uuid: "<your_own_value>"
vlan_cos_fwd: "127"
vlan_cos_rev: "128"
vlan_filter: "<your_own_value>"
voip_profile: "<your_own_value> (source voip.profile.name)"
vpntunnel: "<your_own_value> (source vpn.ipsec.phase1.name vpn.ipsec.manualkey.name)"
waf_profile: "<your_own_value> (source waf.profile.name)"
wanopt: "enable"
wanopt_detection: "active"
wanopt_passive_opt: "default"
wanopt_peer: "<your_own_value> (source wanopt.peer.peer-host-id)"
wanopt_profile: "<your_own_value> (source wanopt.profile.name)"
wccp: "enable"
webcache: "enable"
webcache_https: "disable"
webfilter_profile: "<your_own_value> (source webfilter.profile.name)"
wsso: "enable"
- name: move firewall.policy
fortios_firewall_policy:
vdom: "root"
action: "move"
self: "<mkey of self identifier>"
after: "<mkey of target identifier>"
#before: "<mkey of target identifier>"
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| build string | всегда | Номер сборки образа fortigate Пример: 1547 |
| http_method string | всегда | Последний метод, использованный для подготовки содержимого в FortiGate Пример: PUT |
| http_status string | всегда | Последний результат, полученный от FortiGate после последней операции Пример: 200 |
| mkey string | успех | Главный ключ (id), использованный в последнем вызове FortiGate Пример: id |
| name string | всегда | Имя таблицы, использованной для выполнения запроса Пример: urlfilter |
| path string | всегда | Путь таблицы, использованной для выполнения запроса Пример: webfilter |
| revision string | всегда | Внутренний номер пересмотра Пример: 17.0.2.10658 |
| serial string | всегда | Серийный номер устройства Пример: FGVMEVYYQT3AB5352 |
| status string | всегда | Указание результата операции Пример: успех |
| 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/fortinet/fortios/fortios_firewall_policy_module.html