fortinet.fortimanager.fmgr_waf_profile module – Web application firewall configuration.
Note
This module is part of the fortinet.fortimanager collection (version 2.7.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install fortinet.fortimanager
.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_waf_profile
.
New in fortinet.fortimanager 1.0.0
Synopsis
This module is able to configure a FortiManager device.
Examples include all parameters and values which need to be adjusted to data sources before usage.
Parameters
Parameter |
Comments |
---|---|
The token to access FortiManager without using username and password. |
|
The parameter (adom) in requested url. |
|
Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. Choices:
|
|
Enable/Disable logging for task. Choices:
|
|
Authenticate Ansible client with forticloud API access token. |
|
The overridden method for the underlying Json RPC request. Choices:
|
|
The rc codes list with which the conditions to fail will be overriden. |
|
The rc codes list with which the conditions to succeed will be overriden. |
|
The directive to create, update or delete an object. Choices:
|
|
The top level parameters set. |
|
Deprecated, please rename it to address_list. Address list. |
|
(list or str) Deprecated, please rename it to blocked_address. Blocked address. |
|
Deprecated, please rename it to blocked_log. Enable/disable logging on blocked addresses. Choices:
|
|
Severity. Choices:
|
|
Status. Choices:
|
|
(list or str) Deprecated, please rename it to trusted_address. Trusted address. |
|
Comment. |
|
Constraint. |
|
Deprecated, please rename it to content_length. Content length. |
|
Action. Choices:
|
|
Length of HTTP content in bytes |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Exception. |
|
Host address. |
|
Deprecated, please rename it to content_length. HTTP content length in request. Choices:
|
|
Deprecated, please rename it to header_length. HTTP header length in request. Choices:
|
|
Enable/disable hostname check. Choices:
|
|
Exception ID. |
|
Deprecated, please rename it to line_length. HTTP line length in request. Choices:
|
|
Enable/disable malformed HTTP request check. Choices:
|
|
Deprecated, please rename it to max_cookie. Maximum number of cookies in HTTP request. Choices:
|
|
Deprecated, please rename it to max_header_line. Maximum number of HTTP header line. Choices:
|
|
Deprecated, please rename it to max_range_segment. Maximum number of range segments in HTTP range line. Choices:
|
|
Deprecated, please rename it to max_url_param. Maximum number of parameters in URL. Choices:
|
|
Enable/disable HTTP method check. Choices:
|
|
Deprecated, please rename it to param_length. Maximum length of parameter in URL, HTTP POST request or HTT… Choices:
|
|
URL pattern. |
|
Enable/disable regular expression based pattern match. Choices:
|
|
Deprecated, please rename it to url_param_length. Maximum length of parameter in URL. Choices:
|
|
Enable/disable HTTP version check. Choices:
|
|
Deprecated, please rename it to header_length. Header length. |
|
Action. Choices:
|
|
Length of HTTP header in bytes |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Hostname. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to line_length. Line length. |
|
Action. Choices:
|
|
Length of HTTP line in bytes |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Malformed. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to max_cookie. Max cookie. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Deprecated, please rename it to max_cookie. Maximum number of cookies in HTTP request |
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to max_header_line. Max header line. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Deprecated, please rename it to max_header_line. Maximum number HTTP header lines |
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to max_range_segment. Max range segment. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Deprecated, please rename it to max_range_segment. Maximum number of range segments in HTTP range line |
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to max_url_param. Max url param. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Deprecated, please rename it to max_url_param. Maximum number of parameters in URL |
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Method. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to param_length. Param length. |
|
Action. Choices:
|
|
Maximum length of parameter in URL, HTTP POST request or HTTP body in bytes |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to url_param_length. Url param length. |
|
Action. Choices:
|
|
Maximum length of URL parameter in bytes |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Version. |
|
Action. Choices:
|
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Enable/disable the constraint. Choices:
|
|
Deprecated, please rename it to extended_log. Enable/disable extended logging. Choices:
|
|
Disable/Enable external HTTP Inspection. Choices:
|
|
Method. |
|
Deprecated, please rename it to default_allowed_methods. Methods. Choices:
|
|
Enable/disable logging. Choices:
|
|
Deprecated, please rename it to method_policy. Method policy. |
|
Host address. |
|
Deprecated, please rename it to allowed_methods. Allowed Methods. Choices:
|
|
HTTP method policy ID. |
|
URL pattern. |
|
Enable/disable regular expression based pattern match. Choices:
|
|
Severity. Choices:
|
|
Status. Choices:
|
|
WAF Profile name. |
|
Signature. |
|
Deprecated, please rename it to credit_card_detection_threshold. The minimum number of Credit cards to detect viol… |
|
Deprecated, please rename it to custom_signature. Custom signature. |
|
Action. Choices:
|
|
Deprecated, please rename it to case_sensitivity. Case sensitivity in pattern. Choices:
|
|
Traffic direction. Choices:
|
|
Enable/disable logging. Choices:
|
|
Signature name. |
|
Match pattern. |
|
Severity. Choices:
|
|
Status. Choices:
|
|
Match HTTP target. Choices:
|
|
(list or str) Deprecated, please rename it to disabled_signature. Disabled signatures |
|
(list or str) Deprecated, please rename it to disabled_sub_class. Disabled signature subclasses. |
|
Deprecated, please rename it to main_class. Main class. |
|
Action. Choices:
|
|
Main signature class ID. |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
Status. Choices:
|
|
Deprecated, please rename it to url_access. Url access. |
|
Deprecated, please rename it to access_pattern. Access pattern. |
|
URL access pattern ID. |
|
Enable/disable match negation. Choices:
|
|
URL pattern. |
|
Enable/disable regular expression based pattern match. Choices:
|
|
Source address. |
|
Action. Choices:
|
|
Host address. |
|
URL access ID. |
|
Enable/disable logging. Choices:
|
|
Severity. Choices:
|
|
The adom to lock for FortiManager running in workspace mode, the value can be global and others including root. |
|
The maximum time in seconds to wait for other user to release the workspace lock. Default: |
Notes
Note
Starting in version 2.4.0, all input arguments are named using the underscore naming convention (snake_case). Please change the arguments such as “var-name” to “var_name”. Old argument names are still available yet you will receive deprecation warnings. You can ignore this warning by setting deprecation_warnings=False in ansible.cfg.
Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
To create or update an object, use state present directive.
To delete an object, use state absent directive.
Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded
Examples
- name: Example playbook (generated based on argument schema)
hosts: fortimanagers
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Web application firewall configuration.
fortinet.fortimanager.fmgr_waf_profile:
# bypass_validation: false
workspace_locking_adom: <value in [global, custom adom including root]>
workspace_locking_timeout: 300
# rc_succeeded: [0, -2, -3, ...]
# rc_failed: [-2, -3, ...]
adom: <your own value>
state: present # <value in [present, absent]>
waf_profile:
comment: <string>
extended_log: <value in [disable, enable]>
external: <value in [disable, enable]>
name: <string>
url_access:
-
access_pattern:
-
id: <integer>
negate: <value in [disable, enable]>
pattern: <string>
regex: <value in [disable, enable]>
srcaddr: <string>
action: <value in [bypass, permit, block]>
address: <string>
id: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
address_list:
blocked_address: <list or string>
blocked_log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
trusted_address: <list or string>
constraint:
content_length:
action: <value in [allow, block]>
length: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
exception:
-
address: <string>
content_length: <value in [disable, enable]>
header_length: <value in [disable, enable]>
hostname: <value in [disable, enable]>
id: <integer>
line_length: <value in [disable, enable]>
malformed: <value in [disable, enable]>
max_cookie: <value in [disable, enable]>
max_header_line: <value in [disable, enable]>
max_range_segment: <value in [disable, enable]>
max_url_param: <value in [disable, enable]>
method: <value in [disable, enable]>
param_length: <value in [disable, enable]>
pattern: <string>
regex: <value in [disable, enable]>
url_param_length: <value in [disable, enable]>
version: <value in [disable, enable]>
header_length:
action: <value in [allow, block]>
length: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
hostname:
action: <value in [allow, block]>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
line_length:
action: <value in [allow, block]>
length: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
malformed:
action: <value in [allow, block]>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
max_cookie:
action: <value in [allow, block]>
log: <value in [disable, enable]>
max_cookie: <integer>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
max_header_line:
action: <value in [allow, block]>
log: <value in [disable, enable]>
max_header_line: <integer>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
max_range_segment:
action: <value in [allow, block]>
log: <value in [disable, enable]>
max_range_segment: <integer>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
max_url_param:
action: <value in [allow, block]>
log: <value in [disable, enable]>
max_url_param: <integer>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
method:
action: <value in [allow, block]>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
param_length:
action: <value in [allow, block]>
length: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
url_param_length:
action: <value in [allow, block]>
length: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
version:
action: <value in [allow, block]>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
method:
default_allowed_methods:
- delete
- get
- head
- options
- post
- put
- trace
- others
- connect
log: <value in [disable, enable]>
method_policy:
-
address: <string>
allowed_methods:
- delete
- get
- head
- options
- post
- put
- trace
- others
- connect
id: <integer>
pattern: <string>
regex: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
signature:
credit_card_detection_threshold: <integer>
custom_signature:
-
action: <value in [allow, block, erase]>
case_sensitivity: <value in [disable, enable]>
direction: <value in [request, response]>
log: <value in [disable, enable]>
name: <string>
pattern: <string>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
target:
- arg
- arg-name
- req-body
- req-cookie
- req-cookie-name
- req-filename
- req-header
- req-header-name
- req-raw-uri
- req-uri
- resp-body
- resp-hdr
- resp-status
disabled_signature: <list or string>
disabled_sub_class: <list or string>
main_class:
action: <value in [allow, block, erase]>
id: <integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The result of the request. Returned: always |
|
The full url requested. Returned: always Sample: |
|
The status of api request. Returned: always Sample: |
|
The api response. Returned: always |
|
The descriptive message of the api response. Returned: always Sample: |
|
The information of the target system. Returned: always |
|
The status the request. Returned: always Sample: |
|
Warning if the parameters used in the playbook are not supported by the current FortiManager version. Returned: complex |