fortinet.fortimanager.fmgr_waf_profile_constraint – WAF HTTP protocol restrictions.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.0.1).
To install it use: ansible-galaxy collection install fortinet.fortimanager.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_waf_profile_constraint.
New in version 2.10: of fortinet.fortimanager
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 | Choices/Defaults | Comments | ||
|---|---|---|---|---|
| adom string / required | the parameter (adom) in requested url | |||
| bypass_validation boolean |
| only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters | ||
| profile string / required | the parameter (profile) in requested url | |||
| rc_failed list / elements=string | the rc codes list with which the conditions to fail will be overriden | |||
| rc_succeeded list / elements=string | the rc codes list with which the conditions to succeed will be overriden | |||
| state string / required |
| the directive to create, update or delete an object | ||
| waf_profile_constraint dictionary | the top level parameters set | |||
| content-length dictionary | no description | |||
| action string |
| Action. | ||
| length integer | Length of HTTP content in bytes (0 to 2147483647). | |||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| exception list / elements=string | no description | |||
| address string | Host address. | |||
| content-length string |
| HTTP content length in request. | ||
| header-length string |
| HTTP header length in request. | ||
| hostname string |
| Enable/disable hostname check. | ||
| id integer | Exception ID. | |||
| line-length string |
| HTTP line length in request. | ||
| malformed string |
| Enable/disable malformed HTTP request check. | ||
| max-cookie string |
| Maximum number of cookies in HTTP request. | ||
| max-header-line string |
| Maximum number of HTTP header line. | ||
| max-range-segment string |
| Maximum number of range segments in HTTP range line. | ||
| max-url-param string |
| Maximum number of parameters in URL. | ||
| method string |
| Enable/disable HTTP method check. | ||
| param-length string |
| Maximum length of parameter in URL, HTTP POST request or HTTP body. | ||
| pattern string | URL pattern. | |||
| regex string |
| Enable/disable regular expression based pattern match. | ||
| url-param-length string |
| Maximum length of parameter in URL. | ||
| version string |
| Enable/disable HTTP version check. | ||
| header-length dictionary | no description | |||
| action string |
| Action. | ||
| length integer | Length of HTTP header in bytes (0 to 2147483647). | |||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| hostname dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| line-length dictionary | no description | |||
| action string |
| Action. | ||
| length integer | Length of HTTP line in bytes (0 to 2147483647). | |||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| malformed dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| max-cookie dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| max-cookie integer | Maximum number of cookies in HTTP request (0 to 2147483647). | |||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| max-header-line dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| max-header-line integer | Maximum number HTTP header lines (0 to 2147483647). | |||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| max-range-segment dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| max-range-segment integer | Maximum number of range segments in HTTP range line (0 to 2147483647). | |||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| max-url-param dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| max-url-param integer | Maximum number of parameters in URL (0 to 2147483647). | |||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| method dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| param-length dictionary | no description | |||
| action string |
| Action. | ||
| length integer | Maximum length of parameter in URL, HTTP POST request or HTTP body in bytes (0 to 2147483647). | |||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| url-param-length dictionary | no description | |||
| action string |
| Action. | ||
| length integer | Maximum length of URL parameter in bytes (0 to 2147483647). | |||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| version dictionary | no description | |||
| action string |
| Action. | ||
| log string |
| Enable/disable logging. | ||
| severity string |
| Severity. | ||
| status string |
| Enable/disable the constraint. | ||
| workspace_locking_adom string | the adom to lock for FortiManager running in workspace mode, the value can be global and others including root | |||
| workspace_locking_timeout integer | Default: 300 | the maximum time in seconds to wait for other user to release the workspace lock | ||
Notes
Note
- 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
- hosts: fortimanager-inventory
collections:
- fortinet.fortimanager
connection: httpapi
vars:
ansible_httpapi_use_ssl: True
ansible_httpapi_validate_certs: False
ansible_httpapi_port: 443
tasks:
- name: WAF HTTP protocol restrictions.
fmgr_waf_profile_constraint:
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>
profile: <your own value>
waf_profile_constraint:
content-length:
action: <value in [allow, block]>
length: <value of integer>
log: <value in [disable, enable]>
severity: <value in [low, medium, high]>
status: <value in [disable, enable]>
exception:
-
address: <value of string>
content-length: <value in [disable, enable]>
header-length: <value in [disable, enable]>
hostname: <value in [disable, enable]>
id: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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: <value of 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]>
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| request_url string | always | The full url requested Sample: /sys/login/user |
| response_code integer | always | The status of api request |
| response_message string | always | The descriptive message of the api response Sample: OK. |
Authors
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Frank Shen (@fshen01)
- Hongbin Lu (@fgtdev-hblu)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/fortinet/fortimanager/fmgr_waf_profile_constraint_module.html