fortinet.fortios.fortios_firewall_dos_policy 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 IPv4 DoS 策略。

注意

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

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

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

要在剧本中使用它,请指定:fortinet.fortios.fortios_firewall_dos_policy

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_dos_policy

字典

配置 IPv4 DoS 策略。

anomaly

列表 / 元素=字典

异常名称。

action

字符串

达到阈值时采取的操作。

选项

  • "pass"

  • "block"

  • "proxy"

log

字符串

启用/禁用异常日志记录。

选项

  • "enable"

  • "disable"

name

字符串 / 必需

异常名称。

quarantine

字符串

隔离方法。

选项

  • "none"

  • "attacker"

quarantine_expiry

字符串

隔离持续时间。(格式

quarantine_log

字符串

启用/禁用隔离日志记录。

选项

  • "disable"

  • "enable"

status

字符串

启用/禁用此异常。

选项

  • "disable"

  • "enable"

synproxy_tcp_mss

字符串

确定 syn 代理模块回复的数据包的 TCP 最大分段大小 (MSS) 值。

选项

  • "0"

  • "256"

  • "512"

  • "1024"

  • "1300"

  • "1360"

  • "1460"

  • "1500"

synproxy_tcp_sack

字符串

启用/禁用 syn 代理模块回复的数据包的 TCP 选择性确认 (SACK)。

选项

  • "enable"

  • "disable"

synproxy_tcp_timestamp

字符串

启用/禁用 syn 代理模块回复的数据包的 TCP 时间戳选项。

选项

  • "enable"

  • "disable"

synproxy_tcp_window

字符串

确定 syn 代理模块回复的数据包的 TCP 窗口大小。

选项

  • "4096"

  • "8192"

  • "16384"

  • "32768"

synproxy_tcp_windowscale

字符串

确定 syn 代理模块回复的数据包的 TCP 窗口缩放选项值。

选项

  • "0"

  • "1"

  • "2"

  • "3"

  • "4"

  • "5"

  • "6"

  • "7"

  • "8"

  • "9"

  • "10"

  • "11"

  • "12"

  • "13"

  • "14"

synproxy_tos

字符串

确定 syn 代理模块回复的数据包的 TCP 区分服务代码点值(服务类型)。

选项

  • "0"

  • "10"

  • "12"

  • "14"

  • "18"

  • "20"

  • "22"

  • "26"

  • "28"

  • "30"

  • "34"

  • "36"

  • "38"

  • "40"

  • "46"

  • "255"

synproxy_ttl

字符串

确定 syn 代理模块回复的数据包的生存时间 (TTL) 值。

选项

  • "32"

  • "64"

  • "128"

  • "255"

threshold

整数

异常阈值。检测到的实例数(每秒数据包数或并发会话数),触发异常操作。

threshold_default

整数

每分钟检测到的实例数,触发操作 (1 - 2147483647)。请注意,每个异常都有不同的阈值分配给它。

comments

字符串

注释。

dstaddr

列表 / 元素=字典

来自可用地址的目标地址名称。

name

字符串 / 必需

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

interface

字符串

来自可用接口的入站接口名称。来源 system.zone.name system.interface.name。

name

字符串

策略名称。

policyid

整数 / 必需

策略 ID。参见 备注

service

列表 / 元素=字典

来自可用选项的服务对象。

name

字符串 / 必需

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

srcaddr

列表 / 元素=字典

来自可用地址的源地址名称。

name

字符串 / 必需

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

status

字符串

启用/禁用此策略。

选项

  • "enable"

  • "disable"

member_path

字符串

要操作的成员属性路径。

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

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

member_state

字符串

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

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

选项

  • "present"

  • "absent"

state

字符串 / 必需

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

选项

  • "present"

  • "absent"

vdom

字符串

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

默认: "root"

备注

注意

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

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

  • 此模块支持 check_mode。

示例

- name: Configure IPv4 DoS policies.
  fortinet.fortios.fortios_firewall_dos_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_dos_policy:
          anomaly:
              -
                  action: "pass"
                  log: "enable"
                  name: "default_name_6"
                  quarantine: "none"
                  quarantine_expiry: "<your_own_value>"
                  quarantine_log: "disable"
                  status: "disable"
                  synproxy_tcp_mss: "0"
                  synproxy_tcp_sack: "enable"
                  synproxy_tcp_timestamp: "enable"
                  synproxy_tcp_window: "4096"
                  synproxy_tcp_windowscale: "0"
                  synproxy_tos: "0"
                  synproxy_ttl: "32"
                  threshold: "0"
                  threshold_default: "0"
          comments: "<your_own_value>"
          dstaddr:
              -
                  name: "default_name_22 (source firewall.address.name firewall.addrgrp.name)"
          interface: "<your_own_value> (source system.zone.name system.interface.name)"
          name: "default_name_24"
          policyid: "<you_own_value>"
          service:
              -
                  name: "default_name_27 (source firewall.service.custom.name firewall.service.group.name)"
          srcaddr:
              -
                  name: "default_name_29 (source firewall.address.name firewall.addrgrp.name)"
          status: "enable"

返回值

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

描述

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)

  • Nicolas Thomas (@thomnico)