fortios_firewall_policy – Настройка правил IPv4 в FortiOS и FortiGate Fortinet
Новая версия 2.8.
Описание
- Этот модуль позволяет настроить устройство FortiGate или FortiOS (FOS), позволяя пользователю устанавливать и изменять функции и категории правил брандмауэра. Примеры включают все параметры и значения, которые необходимо настроить в источниках данных перед использованием. Тестировалось с FOS v6.0.5
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- fortiosapi>=0.9.8
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| firewall_policy словарь | Значение по умолчанию: null | Настройка правил политики IPv4. | ||
| action строка |
| Действие политики (разрешить/запретить/ipsec). | ||
| app_category список | Список идентификаторов категорий приложений. | |||
| id целое число / обязательно | Идентификаторы категорий. | |||
| app_group список | Имена групп приложений. | |||
| name строка / обязательно | Имена групп приложений. Имя группы приложения. Источник application.group.name. | |||
| application список | Список идентификаторов приложений. | |||
| id целое число / обязательно | Идентификаторы приложений. | |||
| application_list строка | Имя существующего списка приложений. Источник application.list.name. | |||
| auth_cert строка | Сертификат HTTPS-сервера для аутентификации политики. Источник vpn.certificate.local.name. | |||
| auth_path строка |
| Включить/выключить маршрутизацию на основе аутентификации. | ||
| auth_redirect_addr строка | Адрес переадресации HTTP в HTTPS для аутентификации брандмауэра. | |||
| av_profile строка | Имя существующего профиля антивируса. Источник antivirus.profile.name. | |||
| block_notification строка |
| Включить/выключить уведомления о блокировке. | ||
| captive_portal_exempt строка |
| Включить, чтобы освободить некоторых пользователей от портала captive. | ||
| capture_packet строка |
| Включить/выключить захват пакетов. | ||
| comments строка | Комментарий. | |||
| custom_log_fields список | Пользовательские поля для добавления в журналы сообщений для этой политики. | |||
| field_id строка | Пользовательское поле журнала. Источник log.custom-field.id. | |||
| delay_tcp_npu_session строка |
| Включить задержку сеансов TCP NPU для гарантии порядка пакетов в 3-стороннем рукопожатии. | ||
| devices список | Имена устройств или групп устройств, которые могут быть сопоставлены политикой. | |||
| name строка / обязательно | Имя устройства или группы. Источник 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. Источник dlp.sensor.name. | |||
| dnsfilter_profile строка | Имя существующего профиля фильтра DNS. Источник dnsfilter.profile.name. | |||
| dscp_match строка |
| Включить проверку DSCP. | ||
| dscp_negate строка |
| Включить отрицающее сопоставление DSCP. | ||
| dscp_value строка | Значение DSCP. | |||
| dsri строка |
| Включить DSRI для игнорирования ответов HTTP-сервера. | ||
| dstaddr список | Адрес назначения и имена групп адресов. | |||
| name строка / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name. | |||
| dstaddr_negate строка |
| При включении dstaddr указывает, что адрес назначения НЕ должен быть указанным. | ||
| dstintf список | Выходящий интерфейс (egress). | |||
| name строка / обязательно | Имя интерфейса. Источник system.interface.name system.zone.name. | |||
| firewall_session_dirty строка |
| Как обработать сеансы, если конфигурация этой политики брандмауэра изменяется. | ||
| fixedport string |
| Включить, чтобы предотвратить изменение исходного порта сеанса с помощью источника NAT. | ||
| fsso string |
| Включить/выключить Fortinet Single Sign-On. | ||
| fsso_agent_for_ntlm string | Агент FSSO для аутентификации NTLM. Пользователь из источника user.fsso.name. | |||
| global_label string | Метка политики, отображаемая в режиме глобального просмотра интерфейса. | |||
| groups list | Имена групп пользователей, которые могут пройти аутентификацию по данной политике. | |||
| name string / обязательно | Имя группы. Источник user.group.name. | |||
| icap_profile string | Имя существующего профиля ICAP. Источник icap.profile.name. | |||
| identity_based_route string | Имя правила маршрутизации на основе идентификации. Источник firewall.identity-based-route.name. | |||
| inbound string |
| Политика IPsec VPN: только трафик из удалённой сети может инициировать VPN. | ||
| internet_service string |
| Включить/выключить использование Интернет-служб для этой политики. Если включено, адрес назначения и служба не используются. | ||
| internet_service_custom list | Наименование пользовательской Интернет-службы. | |||
| name string / обязательно | Имя пользовательской Интернет-службы. Источник firewall.internet-service-custom.name. | |||
| internet_service_id list | Идентификатор Интернет-службы. | |||
| id integer / обязательно | Идентификатор Интернет-службы. Источник firewall.internet-service.id. | |||
| internet_service_negate string |
| При включении internet-service указывает, какой сервис НЕ должен использоваться. | ||
| internet_service_src string |
| Включить/выключить использование Интернет-служб в источнике для данной политики. Если включено, адрес источника не используется. | ||
| internet_service_src_custom list | Имя пользовательской Интернет-службы источника. | |||
| name string / обязательно | Имя пользовательской Интернет-службы источника. Источник firewall.internet-service-custom.name. | |||
| internet_service_src_id list | Идентификатор Интернет-службы источника. | |||
| id integer / обязательно | Идентификатор Интернет-службы. Источник 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 |
| Политика IPsec VPN: применить NAT назначения к входящему трафику. | ||
| natip string | Политика IPsec VPN: IP-адрес исходного NAT для исходящего трафика. | |||
| natoutbound string |
| Политика IPsec VPN: применить исходный NAT к исходящему трафику. | ||
| ntlm string |
| Включить/выключить аутентификацию NTLM. | ||
| ntlm_enabled_browsers list | Значение 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 от любого хоста STUN (Session Traversal Utilities for NAT). | ||
| policyid integer / обязательно | Идентификатор политики. | |||
| poolname list | Имена IP-пулов. | |||
| name string / обязательно | Имя 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 единый вход (RSSO). | ||
| rtp_addr list | Имена адресов, если это политика RTP NAT. | |||
| name string / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | |||
| rtp_nat string |
| Включить Real Time Protocol (RTP) NAT. | ||
| 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 | Имена служб и групп служб. | |||
| name string / обязательно | Имена служб и групп служб. Источник firewall.service.custom.name firewall.service.group.name. | |||
| service_negate string |
| При включении service указывает, что служба НЕ должна быть. | ||
| session_ttl integer | TTL в секундах для сессий, принятых этой политикой (0 означает использование системного значения session TTL). | |||
| spamfilter_profile string | Имя существующего профиля фильтра спама. Источник spamfilter.profile.name. | |||
| srcaddr list | Имена исходного адреса и группы адресов. | |||
| name string / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | |||
| srcaddr_negate string |
| При включении srcaddr указывает, что исходный адрес НЕ должен быть. | ||
| srcintf list | Входящий (входной) интерфейс. | |||
| name string / обязательно | Имя интерфейса. Источник 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 | Имя интерфейса копирования SSL. | |||
| name string / обязательно | Имя интерфейса копирования. Источник system.interface.name system.zone.name. | |||
| ssl_ssh_profile string | Имя существующего профиля SSL SSH. Источник firewall.ssl-ssh-profile.name. | |||
| state string |
| Устарело Начиная с Ansible 2.9, рекомендуется использовать параметр 'state' на верхнем уровне. Указывает, создавать или удалять объект. | ||
| статус строка |
| Включить или выключить эту политику. | ||
| tcp_mss_receiver целое число | Максимальный размер сегмента TCP-приёмника (MSS). | |||
| tcp_mss_sender целое число | Максимальный размер сегмента TCP-отправителя (MSS). | |||
| tcp_session_without_syn строка |
| Включить/выключить создание TCP-сессии без флага SYN. | ||
| timeout_send_rst строка |
| Включить/выключить отправку пакетов RST при истечении срока действия TCP-сессий. | ||
| traffic_shaper строка | Формирователь трафика. Источник firewall.shaper.traffic-shaper.name. | |||
| traffic_shaper_reverse строка | Обратный формирователь трафика. Источник firewall.shaper.traffic-shaper.name. | |||
| url_category список | Список идентификаторов категории URL. | |||
| id целое число / обязательно | Идентификатор категории URL. | |||
| users список | Имена отдельных пользователей, которые могут пройти аутентификацию с помощью этой политики. | |||
| name строка / обязательно | Имена отдельных пользователей, которые могут пройти аутентификацию с помощью этой политики. Источник user.local.name. | |||
| utm_status строка |
| Включить, чтобы добавить один или несколько профилей безопасности (AV, IPS и т. д.) в политику брандмауэра. | ||
| uuid строка | Универсальный уникальный идентификатор (UUID; автоматически назначается, но может быть сброшен вручную). | |||
| vlan_cos_fwd целое число | Приоритет пользователя при передаче VLAN: 255 — проброс, 0 — минимальный, 7 — максимальный. | |||
| vlan_cos_rev целое число | Приоритет пользователя при обратном направлении VLAN: 255 — проброс, 0 — минимальный, 7 — максимальный. | |||
| vlan_filter строка | Установить фильтры VLAN. | |||
| voip_profile строка | Имя существующего профиля VoIP. Источник voip.profile.name. | |||
| vpntunnel строка | Политика IPsec VPN: имя первой фазы IPsec VPN. Источник vpn.ipsec.phase1.name vpn.ipsec.manualkey.name. | |||
| waf_profile строка | Имя существующего профиля брандмауэра веб-приложений. Источник waf.profile.name. | |||
| wanopt строка |
| Включить/выключить оптимизацию WAN. | ||
| wanopt_detection строка |
| Режим автоматического обнаружения оптимизации WAN. | ||
| wanopt_passive_opt строка |
| Параметры пассивного режима оптимизации WAN. Этот параметр определяет, какой IP-адрес будет использоваться для подключения к серверу. | ||
| wanopt_peer строка | Партнёр оптимизации WAN. Источник wanopt.peer.peer-host-id. | |||
| wanopt_profile строка | Профиль оптимизации WAN. Источник wanopt.profile.name. | |||
| wccp строка |
| Включить/выключить пересылку трафика, соответствующего данной политике, на настроенный сервер WCCP. | ||
| webcache строка |
| Включить/выключить кэш веб-страниц. | ||
| webcache_https строка |
| Включить/выключить кэш веб-страниц для HTTPS. | ||
| webfilter_profile строка | Имя существующего профиля фильтра веб-страниц. Источник webfilter.profile.name. | |||
| wsso строка |
| Включить/выключить единый вход в систему Wi-Fi (WSSO). | ||
| хост строка | IP-адрес FortiOS или FortiGate. | |||
| https булево |
| Указывает, должны ли запросы к FortiGate использовать протокол HTTPS. | ||
| пароль строка | По умолчанию: "" | Пароль FortiOS или FortiGate. | ||
| ssl_verify булево добавлен в 2.9 |
| Обеспечивает, что сертификат FortiGate должен быть проверен надлежащим центром сертификации. | ||
| состояние строка добавлен в 2.9 |
| Указывает, нужно ли создать или удалить объект. Этот атрибут уже присутствовал в предыдущих версиях на более глубоком уровне. Он был перенесён на этот внешний уровень. | ||
| имя пользователя строка | Имя пользователя FortiOS или FortiGate. | |||
| vdom строка | По умолчанию: "root" | Виртуальная область, среди тех, которые определены ранее. VDOM — это виртуальная инстанция FortiGate, которую можно настроить и использовать как отдельное устройство. | ||
Примечания
Примечание
- Требуется библиотека fortiosapi, разработанная Fortinet
- Запустить как local_action в вашей книге задач
Примеры
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
ssl_verify: "False"
tasks:
- name: Configure IPv4 policies.
fortios_firewall_policy:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
https: "False"
state: "present"
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"
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| build строка | всегда | Номер сборки образа FortiGate Пример: 1547 |
| http_method строка | всегда | Последний метод, используемый для предоставления контента в FortiGate Пример: PUT |
| http_status строка | всегда | Последний результат, предоставленный FortiGate после последней операции Пример: 200 |
| mkey строка | успех | Главный ключ (id), используемый в последнем вызове FortiGate Пример: id |
| name строка | всегда | Имя таблицы, используемой для выполнения запроса Пример: urlfilter |
| path строка | всегда | Путь к таблице, используемой для выполнения запроса Пример: webfilter |
| revision строка | всегда | Внутренний номер ревизии Пример: 17.0.2.10658 |
| serial строка | всегда | Серийный номер устройства Пример: FGVMEVYYQT3AB5352 |
| status строка | всегда | Указание результата операции Пример: успех |
| vdom строка | всегда | Используемый виртуальный домен Пример: root |
| version строка | всегда | Версия FortiGate Пример: v5.6.3 |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.9/modules/fortios_firewall_policy_module.html