fortinet.fortios.fortios_firewall_proxy_policy 模块 – 配置 Fortinet 的 FortiOS 和 FortiGate 中的代理策略。

注意

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

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

要安装它,请使用: ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_proxy_policy

字典

配置代理策略。

access_proxy

列表 / 元素=字典

IPv4 访问代理。

name

字符串 / 必需

访问代理名称。来源 firewall.access-proxy.name。

access_proxy6

列表 / 元素=字典

IPv6 访问代理。

name

字符串 / 必需

访问代理名称。来源 firewall.access-proxy6.name。

action

字符串

接受或拒绝与策略参数匹配的流量。

选项

  • "accept"

  • "deny"

  • "redirect"

application_list

字符串

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

av_profile

字符串

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

block_notification

字符串

启用/禁用阻止通知。

选项

  • "enable"

  • "disable"

casb_profile

字符串

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

cifs_profile

字符串

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

comments

字符串

可选注释。

decrypted_traffic_mirror

字符串

解密流量镜像。来源 firewall.decrypted-traffic-mirror.name。

detect_https_in_http_request

字符串

启用/禁用在 HTTP 请求中检测 HTTPS。

选项

  • "enable"

  • "disable"

device_ownership

字符串

启用后,所有权强制将按策略级别执行。

选项

  • "enable"

  • "disable"

diameter_filter_profile

字符串

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

disclaimer

字符串

Web 代理免责声明设置:按域、策略或用户。

选项

  • "disable"

  • "domain"

  • "policy"

  • "user"

dlp_profile

字符串

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

dlp_sensor

字符串

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

dnsfilter_profile

字符串

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

dstaddr

列表 / 元素=字典

目标地址对象。

name

字符串 / 必需

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

dstaddr6

列表 / 元素=字典

IPv6 目标地址对象。

name

字符串 / 必需

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

dstaddr_negate

字符串

启用后,目标地址与任何地址匹配,**除**指定的目标地址外。

选项

  • "enable"

  • "disable"

dstintf

列表 / 元素=字典

目标接口名称。

name

字符串 / 必需

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

emailfilter_profile

字符串

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

file_filter_profile

字符串

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

global_label

字符串

全局基于 Web 的管理器可见标签。

groups

列表 / 元素=字典

组对象的名称。

name

字符串 / 必需

组名称。来源 user.group.name。

http_tunnel_auth

字符串

启用/禁用 HTTP 隧道身份验证。

选项

  • "enable"

  • "disable"

icap_profile

字符串

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

internet_service

字符串

启用/禁用为此策略使用 Internet 服务。如果启用,则不使用目标地址和服务。

选项

  • "enable"

  • "disable"

internet_service6

字符串

启用/禁用为此策略使用 Internet 服务 IPv6。如果启用,则不使用目标 IPv6 地址和服务。

选项

  • "enable"

  • "disable"

internet_service6_custom

列表 / 元素=字典

自定义 Internet 服务 IPv6 名称。

name

字符串 / 必需

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

internet_service6_custom_group

列表 / 元素=字典

自定义 Internet 服务 IPv6 组名称。

name

字符串 / 必需

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

internet_service6_group

列表 / 元素=字典

Internet 服务 IPv6 组名称。

name

字符串 / 必需

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

internet_service6_name

列表 / 元素=字典

Internet 服务 IPv6 名称。

name

字符串 / 必需

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

internet_service6_negate

字符串

启用后,Internet 服务将匹配除选定的 Internet 服务 IPv6 之外的任何 Internet 服务 IPv6。

选项

  • "enable"

  • "disable"

internet_service_custom

列表 / 元素=字典

自定义 Internet 服务名称。

name

字符串 / 必需

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

internet_service_custom_group

列表 / 元素=字典

自定义 Internet 服务组名称。

name

字符串 / 必需

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

internet_service_group

列表 / 元素=字典

Internet 服务组名称。

name

字符串 / 必需

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

internet_service_id

列表 / 元素=字典

Internet 服务 ID。

id

整数 / 必需

Internet 服务 ID。参见 <a href=’#notes’>注释</a>。来源 firewall.internet-service.id。

internet_service_name

列表 / 元素=字典

Internet 服务名称。

name

字符串 / 必需

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

internet_service_negate

字符串

启用后,Internet 服务将匹配除选定的 Internet 服务之外的任何 Internet 服务。

选项

  • "enable"

  • "disable"

ips_sensor

字符串

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

ips_voip_filter

字符串

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

label

字符串

VDOM 特定的 GUI 可见标签。

log_http_transaction

字符串

启用/禁用 HTTP 事务日志。

选项

  • "enable"

  • "disable"

logtraffic

字符串

启用/禁用通过策略记录流量。

选项

  • "全部"

  • "utm"

  • "disable"

logtraffic_start

字符串

启用/禁用策略日志流量开始。

选项

  • "enable"

  • "disable"

mms_profile

字符串

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

name

字符串

策略名称。

policyid

整数 / 必需

策略 ID。参见 <a href=’#notes’>注释</a>。

poolname

列表 / 元素=字典

IP 池对象的名称。

name

字符串 / 必需

IP 池名称。来源 firewall.ippool.name。

profile_group

字符串

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

profile_protocol_options

字符串

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

profile_type

字符串

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

选项

  • "单个"

  • "组"

proxy

字符串

显式代理的类型。

选项

  • "显式-web"

  • "透明-web"

  • "ftp"

  • "ssh"

  • "ssh-tunnel"

  • "访问代理"

  • "ztna-proxy"

  • "wanopt"

redirect_url

字符串

用于进一步显式 Web 代理处理的重定向 URL。

replacemsg_override_group

字符串

身份验证替换消息覆盖组。来源 system.replacemsg-group.name。

scan_botnet_connections

字符串

启用/禁用扫描到僵尸网络服务器的连接。

选项

  • "disable"

  • "阻止"

  • "监控"

schedule

字符串

计划对象的名称。来源 firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name。

sctp_filter_profile

字符串

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

service

列表 / 元素=字典

服务对象的名称。

name

字符串 / 必需

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

service_negate

字符串

启用后,服务将匹配除指定的目的地服务之外的任何服务。

选项

  • "enable"

  • "disable"

session_ttl

整数

此策略接受的会话的 TTL(秒)(0 表示使用系统值)。

spamfilter_profile

字符串

现有垃圾邮件过滤器配置文件的名称。来源 spamfilter.profile.name。

srcaddr

列表 / 元素=字典

源地址对象。

name

字符串 / 必需

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

srcaddr6

列表 / 元素=字典

IPv6 源地址对象。

name

字符串 / 必需

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

srcaddr_negate

字符串

启用后,源地址将匹配除指定的源地址之外的任何地址。

选项

  • "enable"

  • "disable"

srcintf

列表 / 元素=字典

源接口名称。

name

字符串 / 必需

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

ssh_filter_profile

字符串

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

ssh_policy_redirect

字符串

将 SSH 流量重定向到匹配的透明代理策略。

选项

  • "enable"

  • "disable"

ssl_ssh_profile

字符串

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

status

字符串

启用/禁用策略的活动状态。

选项

  • "enable"

  • "disable"

transparent

字符串

启用后,使用客户端的 IP 地址连接到服务器。

选项

  • "enable"

  • "disable"

users

列表 / 元素=字典

用户对象的名称。

name

字符串 / 必需

组名称。来源 user.local.name user.certificate.name。

utm_status

字符串

启用 UTM 配置文件/传感器/列表的使用。

选项

  • "enable"

  • "disable"

uuid

字符串

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

videofilter_profile

字符串

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

virtual_patch_profile

字符串

现有虚拟补丁配置文件的名称。来源 virtual-patch.profile.name。

voip_profile

字符串

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

waf_profile

字符串

现有 Web 应用程序防火墙配置文件的名称。来源 waf.profile.name。

webcache

字符串

启用/禁用 Web 缓存。

选项

  • "enable"

  • "disable"

webcache_https

字符串

启用/禁用 HTTPS 的 Web 缓存(需要在 ssl-ssh-profile 中启用深度检测)。

选项

  • "disable"

  • "enable"

webfilter_profile

字符串

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

webproxy_forward_server

字符串

Web 代理转发服务器名称。来源 web-proxy.forward-server.name web-proxy.forward-server-group.name。

webproxy_profile

字符串

Web 代理配置文件的名称。来源 web-proxy.profile.name。

ztna_ems_tag

列表 / 元素=字典

ZTNA EMS 标签名称。

name

字符串 / 必需

EMS 标签名称。来源 firewall.address.name firewall.addrgrp.name。

ztna_proxy

列表 / 元素=字典

IPv4 ZTNA 流量转发代理。

name

字符串 / 必需

ZTNA 流量转发代理名称。来源 ztna.traffic-forward-proxy.name。

ztna_tags_match_logic

字符串

ZTNA 标签匹配逻辑。

选项

  • "或"

  • "和"

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • "存在"

  • "不存在"

state

字符串 / 必需

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

选项

  • "存在"

  • "不存在"

vdom

字符串

虚拟域,在先前定义的虚拟域中。VDOM 是 FortiGate 的虚拟实例,可以将其配置并用作不同的单元。

默认值: "root"

注释

注意

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

  • 旧的 fortiosapi 已弃用,httpapi 是运行剧本的首选方式。

  • 该模块支持 check_mode。

示例

- name: Configure proxy policies.
  fortinet.fortios.fortios_firewall_proxy_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_proxy_policy:
          access_proxy:
              -
                  name: "default_name_4 (source firewall.access-proxy.name)"
          access_proxy6:
              -
                  name: "default_name_6 (source firewall.access-proxy6.name)"
          action: "accept"
          application_list: "<your_own_value> (source application.list.name)"
          av_profile: "<your_own_value> (source antivirus.profile.name)"
          block_notification: "enable"
          casb_profile: "<your_own_value> (source casb.profile.name)"
          cifs_profile: "<your_own_value> (source cifs.profile.name)"
          comments: "<your_own_value>"
          decrypted_traffic_mirror: "<your_own_value> (source firewall.decrypted-traffic-mirror.name)"
          detect_https_in_http_request: "enable"
          device_ownership: "enable"
          diameter_filter_profile: "<your_own_value> (source diameter-filter.profile.name)"
          disclaimer: "disable"
          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_23 (source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name firewall
                    .vip.name firewall.vipgrp.name system.external-resource.name)"
          dstaddr_negate: "enable"
          dstaddr6:
              -
                  name: "default_name_26 (source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system
                    .external-resource.name)"
          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)"
          file_filter_profile: "<your_own_value> (source file-filter.profile.name)"
          global_label: "<your_own_value>"
          groups:
              -
                  name: "default_name_33 (source user.group.name)"
          http_tunnel_auth: "enable"
          icap_profile: "<your_own_value> (source icap.profile.name)"
          internet_service: "enable"
          internet_service_custom:
              -
                  name: "default_name_38 (source firewall.internet-service-custom.name)"
          internet_service_custom_group:
              -
                  name: "default_name_40 (source firewall.internet-service-custom-group.name)"
          internet_service_group:
              -
                  name: "default_name_42 (source firewall.internet-service-group.name)"
          internet_service_id:
              -
                  id: "44 (source firewall.internet-service.id)"
          internet_service_name:
              -
                  name: "default_name_46 (source firewall.internet-service-name.name)"
          internet_service_negate: "enable"
          internet_service6: "enable"
          internet_service6_custom:
              -
                  name: "default_name_50 (source firewall.internet-service-custom.name)"
          internet_service6_custom_group:
              -
                  name: "default_name_52 (source firewall.internet-service-custom-group.name)"
          internet_service6_group:
              -
                  name: "default_name_54 (source firewall.internet-service-group.name)"
          internet_service6_name:
              -
                  name: "default_name_56 (source firewall.internet-service-name.name)"
          internet_service6_negate: "enable"
          ips_sensor: "<your_own_value> (source ips.sensor.name)"
          ips_voip_filter: "<your_own_value> (source voip.profile.name)"
          label: "<your_own_value>"
          log_http_transaction: "enable"
          logtraffic: "all"
          logtraffic_start: "enable"
          mms_profile: "<your_own_value> (source firewall.mms-profile.name)"
          name: "default_name_65"
          policyid: "<you_own_value>"
          poolname:
              -
                  name: "default_name_68 (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"
          proxy: "explicit-web"
          redirect_url: "<your_own_value>"
          replacemsg_override_group: "<your_own_value> (source system.replacemsg-group.name)"
          scan_botnet_connections: "disable"
          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)"
          service:
              -
                  name: "default_name_79 (source firewall.service.custom.name firewall.service.group.name)"
          service_negate: "enable"
          session_ttl: "0"
          spamfilter_profile: "<your_own_value> (source spamfilter.profile.name)"
          srcaddr:
              -
                  name: "default_name_84 (source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name system
                    .external-resource.name)"
          srcaddr_negate: "enable"
          srcaddr6:
              -
                  name: "default_name_87 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
          srcintf:
              -
                  name: "default_name_89 (source system.interface.name system.zone.name system.sdwan.zone.name)"
          ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)"
          ssh_policy_redirect: "enable"
          ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)"
          status: "enable"
          transparent: "enable"
          users:
              -
                  name: "default_name_96 (source user.local.name user.certificate.name)"
          utm_status: "enable"
          uuid: "<your_own_value>"
          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)"
          waf_profile: "<your_own_value> (source waf.profile.name)"
          webcache: "enable"
          webcache_https: "disable"
          webfilter_profile: "<your_own_value> (source webfilter.profile.name)"
          webproxy_forward_server: "<your_own_value> (source web-proxy.forward-server.name web-proxy.forward-server-group.name)"
          webproxy_profile: "<your_own_value> (source web-proxy.profile.name)"
          ztna_ems_tag:
              -
                  name: "default_name_109 (source firewall.address.name firewall.addrgrp.name)"
          ztna_proxy:
              -
                  name: "default_name_111 (source ztna.traffic-forward-proxy.name)"
          ztna_tags_match_logic: "or"

返回值

常见的返回值已记录在 此处,以下是此模块特有的字段

描述

build

字符串

FortiGate 映像的版本号

返回:始终

示例: "1547"

http_method

字符串

上次用于将内容置备到 FortiGate 的方法

返回:始终

示例: "PUT"

http_status

字符串

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

返回:始终

示例: "200"

mkey

字符串

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

返回:成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回:始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回:始终

示例: "webfilter"

revision

字符串

内部修订号

返回:始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回:始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回:始终

示例: "success"

vdom

字符串

使用的虚拟域

返回:始终

示例: "root"

version

字符串

FortiGate 的版本

返回:始终

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 卢洪滨 (@fgtdev-hblu)

  • 沈芳 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)