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 Services IPv6。如果启用,则不使用目标 IPv6 地址和服务。

选择

  • "enable"

  • "disable"

internet_service6_custom

列表 / 元素=字典

自定义 Internet Service IPv6 名称。

name

字符串 / 必需

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

internet_service6_custom_group

列表 / 元素=字典

自定义 Internet Service IPv6 组名称。

name

字符串 / 必需

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

internet_service6_group

列表 / 元素=字典

Internet Service IPv6 组名称。

name

字符串 / 必需

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

internet_service6_name

列表 / 元素=字典

Internet Service IPv6 名称。

name

字符串 / 必需

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

internet_service6_negate

字符串

启用后,Internet 服务将与除选定的 Internet Service IPv6 之外的任何 Internet Service 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

整数 / 必需

互联网服务 ID。请参阅 注释。来源:firewall.internet-service.id。

internet_service_name

列表 / 元素=字典

互联网服务名称。

name

字符串 / 必需

互联网服务名称。来源:firewall.internet-service-name.name。

internet_service_negate

字符串

启用后,互联网服务将匹配除所选互联网服务之外的任何互联网服务。

选择

  • "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

字符串

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

选择

  • "all"

  • "utm"

  • "disable"

logtraffic_start

字符串

启用/禁用策略日志流量启动。

选择

  • "enable"

  • "disable"

mms_profile

字符串

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

name

字符串

策略名称。

policyid

整数 / 必需

策略 ID。请参阅 注释

poolname

列表 / 元素=字典

IP 池对象的名称。

name

字符串 / 必需

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

profile_group

字符串

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

profile_protocol_options

字符串

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

profile_type

字符串

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

选择

  • "single"

  • "group"

proxy

字符串

显式代理的类型。

选择

  • "explicit-web"

  • "transparent-web"

  • "ftp"

  • "ssh"

  • "ssh-tunnel"

  • "access-proxy"

  • "ztna-proxy"

  • "wanopt"

redirect_url

字符串

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

replacemsg_override_group

字符串

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

scan_botnet_connections

字符串

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

选择

  • "disable"

  • "block"

  • "monitor"

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.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 标签匹配逻辑。

选择

  • "or"

  • "and"

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 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"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)