fortinet.fortimanager.fmgr_waf_profile_constraint – WAF HTTP protocol restrictions.
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