fortinet.fortios.fortios_firewall_security_policy 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 NGFW IPv4/IPv6 应用策略。

注意

此模块是 fortinet.fortios 集合(版本 2.3.8)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要更多要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定:fortinet.fortios.fortios_firewall_security_policy

fortinet.fortios 2.0.0 中的新功能

概要

  • 此模块能够通过允许用户设置和修改防火墙功能和 security_policy 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数和值,在使用前需要调整为数据源。使用 FOS v6.0.0 测试。

要求

执行此模块的主机需要满足以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 Fortigate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务的日志记录。

选项

  • false ← (默认)

  • true

firewall_security_policy

字典

配置 NGFW IPv4/IPv6 应用策略。

action

字符串

策略操作(接受/拒绝)。

选项

  • "accept"

  • "deny"

app_category

列表 / 元素=字典

应用类别 ID 列表。

id

整数 / 必需

类别 ID。请参阅 <a href=’#notes’>注释</a>。

app_group

列表 / 元素=字典

应用组名称。

name

字符串 / 必需

应用组名称。源 application.group.name。

application

列表 / 元素=字典

应用 ID 列表。

id

整数 / 必需

应用 ID。请参阅 <a href=’#notes’>注释</a>。

application_list

字符串

现有应用列表的名称。源 application.list.name。

av_profile

字符串

现有防病毒配置文件的名称。源 antivirus.profile.name。

casb_profile

字符串

现有 CASB 配置文件的名称。源 casb.profile.name。

cifs_profile

字符串

现有 CIFS 配置文件的名称。源 cifs.profile.name。

comments

字符串

注释。

diameter_filter_profile

字符串

现有 Diameter 过滤器配置文件的名称。源 diameter-filter.profile.name。

dlp_profile

字符串

现有 DLP 配置文件的名称。源 dlp.profile.name。

dlp_sensor

字符串

现有 DLP 传感器的名称。源 dlp.sensor.name。

dnsfilter_profile

字符串

现有 DNS 过滤器配置文件的名称。源 dnsfilter.profile.name。

dstaddr

列表 / 元素=字典

目标 IPv4 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource .name。

dstaddr4

列表 / 元素=字典

目标 IPv4 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name。

dstaddr6

列表 / 元素=字典

目标 IPv6 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name。

dstaddr6_negate

字符串

启用后,dstaddr6 指定目标地址必须_不_是。

选项

  • "enable"

  • "disable"

dstaddr_negate

字符串

启用后,dstaddr 指定目标地址必须_不_是。

选项

  • "enable"

  • "disable"

dstintf

列表 / 元素=字典

传出(出口)接口。

name

字符串 / 必需

接口名称。源 system.interface.name system.zone.name system.sdwan.zone.name。

emailfilter_profile

字符串

现有电子邮件过滤器配置文件的名称。源 emailfilter.profile.name。

enforce_default_app_port

字符串

启用/禁用允许的应用程序的默认应用端口强制执行。

选项

  • "enable"

  • "disable"

file_filter_profile

字符串

现有文件过滤器配置文件的名称。源 file-filter.profile.name。

fsso_groups

列表 / 元素=字典

FSSO 组的名称。

name

字符串 / 必需

FSSO 组的名称。源 user.adgrp.name。

global_label

字符串

当 GUI 处于全局视图模式时,显示的策略标签。

groups

列表 / 元素=字典

可以使用此策略进行身份验证的用户组的名称。

name

字符串 / 必需

用户组名称。源 user.group.name。

icap_profile

字符串

现有 ICAP 配置文件的名称。源 icap.profile.name。

internet_service

字符串

为此策略启用/禁用 Internet 服务的使用。如果启用,则不使用目标地址、服务和默认应用端口强制执行。

选项

  • "enable"

  • "disable"

internet_service6

字符串

为此策略启用/禁用 IPv6 Internet 服务的使用。如果启用,则不使用目标地址、服务和默认应用端口强制执行。

选项

  • "enable"

  • "disable"

internet_service6_custom

列表 / 元素=字典

自定义 IPv6 Internet 服务名称。

name

字符串 / 必需

自定义 IPv6 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service6_custom_group

列表 / 元素=字典

自定义 IPv6 Internet 服务组名称。

name

字符串 / 必需

自定义 IPv6 Internet 服务组名称。源 firewall.internet-service-custom-group.name。

internet_service6_group

列表 / 元素=字典

Internet 服务组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service6_name

列表 / 元素=字典

IPv6 Internet 服务名称。

name

字符串 / 必需

IPv6 Internet 服务名称。源 firewall.internet-service-name.name。

internet_service6_negate

字符串

启用后,internet-service6 指定服务必须_不_是。

选项

  • "enable"

  • "disable"

internet_service6_src

字符串

为此策略启用/禁用在源中使用 IPv6 Internet 服务。如果启用,则不使用源地址。

选项

  • "enable"

  • "disable"

internet_service6_src_custom

列表 / 元素=字典

自定义 IPv6 Internet 服务源名称。

name

字符串 / 必需

自定义 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service6_src_custom_group

列表 / 元素=字典

自定义 Internet Service6 源组名称。

name

字符串 / 必需

自定义 Internet Service6 组名称。源 firewall.internet-service-custom-group.name。

internet_service6_src_group

列表 / 元素=字典

Internet Service6 源组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service6_src_name

列表 / 元素=字典

IPv6 Internet Service 源名称。

name

字符串 / 必需

Internet Service 名称。源 firewall.internet-service-name.name。

internet_service6_src_negate

字符串

启用后,internet-service6-src 指定服务必须 *不* 是什么。

选项

  • "enable"

  • "disable"

internet_service_custom

列表 / 元素=字典

自定义 Internet Service 名称。

name

字符串 / 必需

自定义 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service_custom_group

列表 / 元素=字典

自定义 Internet Service 组名称。

name

字符串 / 必需

自定义 Internet Service 组名称。源 firewall.internet-service-custom-group.name。

internet_service_group

列表 / 元素=字典

Internet 服务组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service_id

列表 / 元素=字典

Internet Service ID。

id

整数 / 必需

Internet Service ID。请参阅 <a href=’#notes’>备注</a>。源 firewall.internet-service.id。

internet_service_name

列表 / 元素=字典

Internet Service 名称。

name

字符串 / 必需

Internet Service 名称。源 firewall.internet-service-name.name。

internet_service_negate

字符串

启用后,internet-service 指定服务必须 *不* 是什么。

选项

  • "enable"

  • "disable"

internet_service_src

字符串

启用/禁用在此策略的源中使用 Internet Services。如果启用,则不使用源地址。

选项

  • "enable"

  • "disable"

internet_service_src_custom

列表 / 元素=字典

自定义 Internet Service 源名称。

name

字符串 / 必需

自定义 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service_src_custom_group

列表 / 元素=字典

自定义 Internet Service 源组名称。

name

字符串 / 必需

自定义 Internet Service 组名称。源 firewall.internet-service-custom-group.name。

internet_service_src_group

列表 / 元素=字典

Internet Service 源组名称。

name

字符串 / 必需

Internet 服务组名称。源 firewall.internet-service-group.name。

internet_service_src_id

列表 / 元素=字典

Internet Service 源 ID。

id

整数 / 必需

Internet Service ID。请参阅 <a href=’#notes’>备注</a>。源 firewall.internet-service.id。

internet_service_src_name

列表 / 元素=字典

Internet Service 源名称。

name

字符串 / 必需

Internet Service 名称。源 firewall.internet-service-name.name。

internet_service_src_negate

字符串

启用后,internet-service-src 指定服务必须 *不* 是什么。

选项

  • "enable"

  • "disable"

ips_sensor

字符串

现有 IPS 传感器的名称。源 ips.sensor.name。

ips_voip_filter

字符串

现有 VoIP (ips) 配置文件的名称。源 voip.profile.name。

learning_mode

字符串

启用以允许所有内容,但记录所有有意义的数据以进行安全信息收集。将生成学习报告。

选项

  • "enable"

  • "disable"

logtraffic

字符串

启用或禁用日志记录。记录所有会话或安全配置文件会话。

选项

  • "all"

  • "utm"

  • "disable"

logtraffic_start

字符串

在会话开始时记录日志。

选项

  • "enable"

  • "disable"

mms_profile

字符串

现有 MMS 配置文件的名称。源 firewall.mms-profile.name。

name

字符串

策略名称。

nat46

字符串

启用/禁用 NAT46。

选项

  • "enable"

  • "disable"

nat64

字符串

启用/禁用 NAT64。

选项

  • "enable"

  • "disable"

policyid

整数 / 必需

策略 ID。请参阅 <a href=’#notes’>备注</a>。

profile_group

字符串

配置文件组的名称。源 firewall.profile-group.name。

profile_protocol_options

字符串

现有协议选项配置文件的名称。源 firewall.profile-protocol-options.name。

profile_type

字符串

确定防火墙策略是仅允许安全配置文件组还是仅允许单个配置文件。

选项

  • "single"

  • "group"

schedule

字符串

计划名称。源 firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name。

sctp_filter_profile

字符串

现有 SCTP 过滤器配置文件的名称。源 sctp-filter.profile.name。

send_deny_packet

字符串

启用后,当会话被防火墙策略拒绝或阻止时发送回复。

选项

  • "disable"

  • "enable"

service

列表 / 元素=字典

服务和服务组名称。

name

字符串 / 必需

服务名称。源 firewall.service.custom.name firewall.service.group.name。

service_negate

字符串

启用后,service 指定服务必须 *不* 是什么。

选项

  • "enable"

  • "disable"

srcaddr

列表 / 元素=字典

源 IPv4 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name system.external-resource.name。

srcaddr4

列表 / 元素=字典

源 IPv4 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name。

srcaddr6

列表 / 元素=字典

源 IPv6 地址名称和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address6.name firewall.addrgrp6.name system.external-resource.name。

srcaddr6_negate

字符串

启用后,srcaddr6 指定源地址必须 *不* 是什么。

选项

  • "enable"

  • "disable"

srcaddr_negate

字符串

启用后,srcaddr 指定源地址必须 *不* 是什么。

选项

  • "enable"

  • "disable"

srcintf

列表 / 元素=字典

传入(入口)接口。

name

字符串 / 必需

接口名称。源 system.interface.name system.zone.name system.sdwan.zone.name。

ssh_filter_profile

字符串

现有 SSH 过滤器配置文件的名称。源 ssh-filter.profile.name。

ssl_ssh_profile

字符串

现有 SSL SSH 配置文件的名称。源 firewall.ssl-ssh-profile.name。

status

字符串

启用或禁用此策略。

选项

  • "enable"

  • "disable"

url_category

list / elements=string

URL 类别或组。

users

列表 / 元素=字典

可以使用此策略进行身份验证的单个用户的名称。

name

字符串 / 必需

用户名。源 user.local.name。

utm_status

字符串

启用安全配置文件。

选项

  • "enable"

  • "disable"

uuid

字符串

通用唯一标识符 (UUID;自动分配但可以手动重置)。

uuid_idx

integer

uuid-idx

videofilter_profile

字符串

现有 VideoFilter 配置文件的名称。源 videofilter.profile.name。

virtual_patch_profile

字符串

现有 virtual-patch 配置文件的名称。源 virtual-patch.profile.name。

voip_profile

字符串

现有 VoIP (voipd) 配置文件的名称。源 voip.profile.name。

webfilter_profile

字符串

现有 Web 过滤器配置文件的名称。源 webfilter.profile.name。

member_path

字符串

要操作的成员属性路径。

如果存在多个属性,则用斜杠字符分隔。

标有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

vdom

字符串

虚拟域,在先前定义的域中。vdom 是 FortiGate 的虚拟实例,可以配置为不同的单元并使用。

默认值: "root"

备注

注意

  • 我们强烈建议使用您自己的值作为 policyid 而不是 0,虽然“0”是一个特殊的占位符,允许后端为对象分配最新的可用编号,但它确实有局限性。请在问答中找到更多详细信息。

  • 传统的 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方式

  • 该模块支持 check_mode。

示例

- name: Configure NGFW IPv4/IPv6 application policies.
  fortinet.fortios.fortios_firewall_security_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_security_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)"
          av_profile: "<your_own_value> (source antivirus.profile.name)"
          casb_profile: "<your_own_value> (source casb.profile.name)"
          cifs_profile: "<your_own_value> (source cifs.profile.name)"
          comments: "<your_own_value>"
          diameter_filter_profile: "<your_own_value> (source diameter-filter.profile.name)"
          dlp_profile: "<your_own_value> (source dlp.profile.name)"
          dlp_sensor: "<your_own_value> (source dlp.sensor.name)"
          dnsfilter_profile: "<your_own_value> (source dnsfilter.profile.name)"
          dstaddr:
              -
                  name: "default_name_20 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource
                    .name)"
          dstaddr_negate: "enable"
          dstaddr4:
              -
                  name: "default_name_23 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name)"
          dstaddr6:
              -
                  name: "default_name_25 (source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system
                    .external-resource.name)"
          dstaddr6_negate: "enable"
          dstintf:
              -
                  name: "default_name_28 (source system.interface.name system.zone.name system.sdwan.zone.name)"
          emailfilter_profile: "<your_own_value> (source emailfilter.profile.name)"
          enforce_default_app_port: "enable"
          file_filter_profile: "<your_own_value> (source file-filter.profile.name)"
          fsso_groups:
              -
                  name: "default_name_33 (source user.adgrp.name)"
          global_label: "<your_own_value>"
          groups:
              -
                  name: "default_name_36 (source user.group.name)"
          icap_profile: "<your_own_value> (source icap.profile.name)"
          internet_service: "enable"
          internet_service_custom:
              -
                  name: "default_name_40 (source firewall.internet-service-custom.name)"
          internet_service_custom_group:
              -
                  name: "default_name_42 (source firewall.internet-service-custom-group.name)"
          internet_service_group:
              -
                  name: "default_name_44 (source firewall.internet-service-group.name)"
          internet_service_id:
              -
                  id: "46 (source firewall.internet-service.id)"
          internet_service_name:
              -
                  name: "default_name_48 (source firewall.internet-service-name.name)"
          internet_service_negate: "enable"
          internet_service_src: "enable"
          internet_service_src_custom:
              -
                  name: "default_name_52 (source firewall.internet-service-custom.name)"
          internet_service_src_custom_group:
              -
                  name: "default_name_54 (source firewall.internet-service-custom-group.name)"
          internet_service_src_group:
              -
                  name: "default_name_56 (source firewall.internet-service-group.name)"
          internet_service_src_id:
              -
                  id: "58 (source firewall.internet-service.id)"
          internet_service_src_name:
              -
                  name: "default_name_60 (source firewall.internet-service-name.name)"
          internet_service_src_negate: "enable"
          internet_service6: "enable"
          internet_service6_custom:
              -
                  name: "default_name_64 (source firewall.internet-service-custom.name)"
          internet_service6_custom_group:
              -
                  name: "default_name_66 (source firewall.internet-service-custom-group.name)"
          internet_service6_group:
              -
                  name: "default_name_68 (source firewall.internet-service-group.name)"
          internet_service6_name:
              -
                  name: "default_name_70 (source firewall.internet-service-name.name)"
          internet_service6_negate: "enable"
          internet_service6_src: "enable"
          internet_service6_src_custom:
              -
                  name: "default_name_74 (source firewall.internet-service-custom.name)"
          internet_service6_src_custom_group:
              -
                  name: "default_name_76 (source firewall.internet-service-custom-group.name)"
          internet_service6_src_group:
              -
                  name: "default_name_78 (source firewall.internet-service-group.name)"
          internet_service6_src_name:
              -
                  name: "default_name_80 (source firewall.internet-service-name.name)"
          internet_service6_src_negate: "enable"
          ips_sensor: "<your_own_value> (source ips.sensor.name)"
          ips_voip_filter: "<your_own_value> (source voip.profile.name)"
          learning_mode: "enable"
          logtraffic: "all"
          logtraffic_start: "enable"
          mms_profile: "<your_own_value> (source firewall.mms-profile.name)"
          name: "default_name_88"
          nat46: "enable"
          nat64: "enable"
          policyid: "<you_own_value>"
          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"
          schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)"
          sctp_filter_profile: "<your_own_value> (source sctp-filter.profile.name)"
          send_deny_packet: "disable"
          service:
              -
                  name: "default_name_99 (source firewall.service.custom.name firewall.service.group.name)"
          service_negate: "enable"
          srcaddr:
              -
                  name: "default_name_102 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
          srcaddr_negate: "enable"
          srcaddr4:
              -
                  name: "default_name_105 (source firewall.address.name firewall.addrgrp.name)"
          srcaddr6:
              -
                  name: "default_name_107 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
          srcaddr6_negate: "enable"
          srcintf:
              -
                  name: "default_name_110 (source system.interface.name system.zone.name system.sdwan.zone.name)"
          ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)"
          ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)"
          status: "enable"
          url_category: "<your_own_value>"
          users:
              -
                  name: "default_name_116 (source user.local.name)"
          utm_status: "enable"
          uuid: "<your_own_value>"
          uuid_idx: "2147483647"
          videofilter_profile: "<your_own_value> (source videofilter.profile.name)"
          virtual_patch_profile: "<your_own_value> (source virtual-patch.profile.name)"
          voip_profile: "<your_own_value> (source voip.profile.name)"
          webfilter_profile: "<your_own_value> (source webfilter.profile.name)"

返回值

通用返回值已在此处记录 此处,以下是此模块独有的字段

Key

描述

build

字符串

FortiGate 映像的构建号

返回: always

示例: "1547"

http_method

字符串

最后一次用于将内容配置到 FortiGate 中的方法

返回: always

示例: "PUT"

http_status

字符串

FortiGate 上次应用操作时给出的最后结果

返回: always

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主键 (id)

返回: success

示例: "id"

name

字符串

用于满足请求的表的名称

返回: always

示例: "urlfilter"

path

字符串

用于满足请求的表的路径

返回: always

示例: "webfilter"

revision

字符串

内部修订号

返回: always

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回: always

示例: "FGVMEVYYQT3AB5352"

status

字符串

指示操作的结果

返回: always

示例: "success"

vdom

字符串

使用的虚拟域

返回: always

示例: "root"

version

字符串

FortiGate 的版本

返回: always

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)