:source: fortios_firewall_dos_policy.py
:orphan:
.. fortios_firewall_dos_policy:
fortios_firewall_dos_policy -- Configure IPv4 DoS policies in Fortinet's FortiOS and FortiGate.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. versionadded:: 2.0.0
.. contents::
:local:
:depth: 1
Synopsis
--------
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and dos_policy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
------------
The below requirements are needed on the host that executes this module.
- ansible>=2.16
Tips
----
Using member operation to add an element to an existing object.
FortiOS Version Compatibility
-----------------------------
Supported Version Ranges: v6.0.0 -> v7.6.6
Parameters
----------
.. raw:: html
- access_token - Token-based authentication. Generated from GUI of Fortigate. type: str required: false
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- vdom - Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit. type: str default: root
- member_path - Member attribute path to operate on. type: str
- member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
- state - Indicates whether to create or remove the object. type: str required: true choices: present, absent
- firewall_dos_policy - Configure IPv4 DoS policies. type: dict
more...
| Supported Version Ranges |
| firewall_dos_policy |
v6.0.0 -> 7.6.6 |
- anomaly - Anomaly name. type: list member_path: anomaly:name
more...
| Supported Version Ranges |
| anomaly |
v6.0.0 -> 7.6.6 |
- action - Action taken when the threshold is reached. type: str choices: pass, block, proxy
more...
|
Supported Version Ranges |
| action |
v6.0.0 -> 7.6.6 |
| [pass] |
v6.0.0 -> 7.6.6 |
| [block] |
v6.0.0 -> 7.6.6 |
| [proxy] |
v6.0.0 -> 7.6.6 |
- log - Enable/disable anomaly logging. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| log |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
- name - Anomaly name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- quarantine - Quarantine method. type: str choices: none, attacker
more...
|
Supported Version Ranges |
| quarantine |
v6.0.0 -> 7.6.6 |
| [none] |
v6.0.0 -> 7.6.6 |
| [attacker] |
v6.0.0 -> 7.6.6 |
- quarantine_expiry - Duration of quarantine. (Format type: str
more...
|
Supported Version Ranges |
| quarantine_expiry |
v6.0.0 -> 7.6.6 |
- quarantine_log - Enable/disable quarantine logging. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| quarantine_log |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
- status - Enable/disable this anomaly. type: str choices: disable, enable
more...
|
Supported Version Ranges |
| status |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
- synproxy_tcp_mss - Determine TCP maximum segment size (MSS) value for packets replied by syn proxy module. type: str choices: 0, 256, 512, 1024, 1300, 1360, 1460, 1500
more...
|
Supported Version Ranges |
| synproxy_tcp_mss |
v7.4.2 -> v7.4.2 |
| [0] |
v7.4.2 -> v7.4.2 |
| [256] |
v7.4.2 -> v7.4.2 |
| [512] |
v7.4.2 -> v7.4.2 |
| [1024] |
v7.4.2 -> v7.4.2 |
| [1300] |
v7.4.2 -> v7.4.2 |
| [1360] |
v7.4.2 -> v7.4.2 |
| [1460] |
v7.4.2 -> v7.4.2 |
| [1500] |
v7.4.2 -> v7.4.2 |
- synproxy_tcp_sack - enable/disable TCP selective acknowledage (SACK) for packets replied by syn proxy module. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| synproxy_tcp_sack |
v7.4.2 -> v7.4.2 |
| [enable] |
v7.4.2 -> v7.4.2 |
| [disable] |
v7.4.2 -> v7.4.2 |
- synproxy_tcp_timestamp - enable/disable TCP timestamp option for packets replied by syn proxy module. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| synproxy_tcp_timestamp |
v7.4.2 -> v7.4.2 |
| [enable] |
v7.4.2 -> v7.4.2 |
| [disable] |
v7.4.2 -> v7.4.2 |
- synproxy_tcp_window - Determine TCP Window size for packets replied by syn proxy module. type: str choices: 4096, 8192, 16384, 32768
more...
|
Supported Version Ranges |
| synproxy_tcp_window |
v7.4.2 -> v7.4.2 |
| [4096] |
v7.4.2 -> v7.4.2 |
| [8192] |
v7.4.2 -> v7.4.2 |
| [16384] |
v7.4.2 -> v7.4.2 |
| [32768] |
v7.4.2 -> v7.4.2 |
- synproxy_tcp_windowscale - Determine TCP window scale option value for packets replied by syn proxy module. type: str choices: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
more...
|
Supported Version Ranges |
| synproxy_tcp_windowscale |
v7.4.2 -> v7.4.2 |
| [0] |
v7.4.2 -> v7.4.2 |
| [1] |
v7.4.2 -> v7.4.2 |
| [2] |
v7.4.2 -> v7.4.2 |
| [3] |
v7.4.2 -> v7.4.2 |
| [4] |
v7.4.2 -> v7.4.2 |
| [5] |
v7.4.2 -> v7.4.2 |
| [6] |
v7.4.2 -> v7.4.2 |
| [7] |
v7.4.2 -> v7.4.2 |
| [8] |
v7.4.2 -> v7.4.2 |
| [9] |
v7.4.2 -> v7.4.2 |
| [10] |
v7.4.2 -> v7.4.2 |
| [11] |
v7.4.2 -> v7.4.2 |
| [12] |
v7.4.2 -> v7.4.2 |
| [13] |
v7.4.2 -> v7.4.2 |
| [14] |
v7.4.2 -> v7.4.2 |
- synproxy_tos - Determine TCP differentiated services code point value (type of service). type: str choices: 0, 10, 12, 14, 18, 20, 22, 26, 28, 30, 34, 36, 38, 40, 46, 255
more...
|
Supported Version Ranges |
| synproxy_tos |
v7.4.2 -> v7.4.2 |
| [0] |
v7.4.2 -> v7.4.2 |
| [10] |
v7.4.2 -> v7.4.2 |
| [12] |
v7.4.2 -> v7.4.2 |
| [14] |
v7.4.2 -> v7.4.2 |
| [18] |
v7.4.2 -> v7.4.2 |
| [20] |
v7.4.2 -> v7.4.2 |
| [22] |
v7.4.2 -> v7.4.2 |
| [26] |
v7.4.2 -> v7.4.2 |
| [28] |
v7.4.2 -> v7.4.2 |
| [30] |
v7.4.2 -> v7.4.2 |
| [34] |
v7.4.2 -> v7.4.2 |
| [36] |
v7.4.2 -> v7.4.2 |
| [38] |
v7.4.2 -> v7.4.2 |
| [40] |
v7.4.2 -> v7.4.2 |
| [46] |
v7.4.2 -> v7.4.2 |
| [255] |
v7.4.2 -> v7.4.2 |
- synproxy_ttl - Determine Time to live (TTL) value for packets replied by syn proxy module. type: str choices: 32, 64, 128, 255
more...
|
Supported Version Ranges |
| synproxy_ttl |
v7.4.2 -> v7.4.2 |
| [32] |
v7.4.2 -> v7.4.2 |
| [64] |
v7.4.2 -> v7.4.2 |
| [128] |
v7.4.2 -> v7.4.2 |
| [255] |
v7.4.2 -> v7.4.2 |
- threshold - Anomaly threshold. Number of detected instances (packets per second or concurrent session number) that triggers the anomaly action. type: int
more...
|
Supported Version Ranges |
| threshold |
v6.0.0 -> 7.6.6 |
- threshold_default - Number of detected instances per minute which triggers action (1 - 2147483647). Note that each anomaly has a different threshold value assigned to it. type: int
more...
|
Supported Version Ranges |
| threshold_default |
v6.0.0 -> v7.0.5 |
v7.2.0 -> v7.2.0 |
- comments - Comment. type: str
more...
|
Supported Version Ranges |
| comments |
v6.0.0 -> 7.6.6 |
- dstaddr - Destination address name from available addresses. type: list member_path: dstaddr:name
more...
| Supported Version Ranges |
| dstaddr |
v6.0.0 -> 7.6.6 |
- name - Address name. Source firewall.address.name firewall.addrgrp.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- interface - Incoming interface name from available interfaces. Source system.zone.name system.sdwan.zone.name system.interface.name. type: str
more...
|
Supported Version Ranges |
| interface |
v6.0.0 -> 7.6.6 |
- name - Policy name. type: str
more...
|
Supported Version Ranges |
| name |
v6.4.0 -> v6.4.0 |
v6.4.4 -> 7.6.6 |
- policyid - Policy ID. see Notes. type: int required: true
more...
|
Supported Version Ranges |
| policyid |
v6.0.0 -> 7.6.6 |
- service - Service object from available options. type: list member_path: service:name
more...
| Supported Version Ranges |
| service |
v6.0.0 -> 7.6.6 |
- name - Service name. Source firewall.service.custom.name firewall.service.group.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- srcaddr - Source address name from available addresses. type: list member_path: srcaddr:name
more...
| Supported Version Ranges |
| srcaddr |
v6.0.0 -> 7.6.6 |
- name - Address name. Source firewall.address.name firewall.addrgrp.name. type: str required: true
more...
|
Supported Version Ranges |
| name |
v6.0.0 -> 7.6.6 |
- status - Enable/disable this policy. type: str choices: enable, disable
more...
|
Supported Version Ranges |
| status |
v6.0.0 -> 7.6.6 |
| [enable] |
v6.0.0 -> 7.6.6 |
| [disable] |
v6.0.0 -> 7.6.6 |
Notes
-----
.. note::
- We highly recommend using your own value as the policyid instead of 0, while '0' is a special placeholder that allows the backend to assign the latest available number for the object, it does have limitations. Please find more details in Q&A.
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
- The module supports check_mode.
Examples
--------
.. code-block:: yaml+jinja
- name: Configure IPv4 DoS policies.
fortinet.fortios.fortios_firewall_dos_policy:
vdom: "{{ vdom }}"
state: "present"
access_token: ""
firewall_dos_policy:
anomaly:
-
action: "pass"
log: "enable"
name: "default_name_6"
quarantine: "none"
quarantine_expiry: ""
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: ""
dstaddr:
-
name: "default_name_22 (source firewall.address.name firewall.addrgrp.name)"
interface: " (source system.zone.name system.sdwan.zone.name system.interface.name)"
name: "default_name_24"
policyid: ""
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"
Return Values
-------------
Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:
.. raw:: html
- build - Build number of the fortigate image returned: always type: str sample: 1547
- http_method - Last method used to provision the content into FortiGate returned: always type: str sample: PUT
- http_status - Last result given by FortiGate on last operation applied returned: always type: str sample: 200
- mkey - Master key (id) used in the last call to FortiGate returned: success type: str sample: id
- name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
- path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
- revision - Internal revision number returned: always type: str sample: 17.0.2.10658
- serial - Serial number of the unit returned: always type: str sample: FGVMEVYYQT3AB5352
- status - Indication of the operation's result returned: always type: str sample: success
- vdom - Virtual domain used returned: always type: str sample: root
- version - Version of the FortiGate returned: always type: str sample: v5.6.3
Status
------
- This module is not guaranteed to have a backwards compatible interface.
Authors
-------
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
.. hint::
If you notice any issues in this documentation, you can create a pull request to improve it.