fwebos_waf_custom_rule.py – Config FortiWeb Advanced Protection Custom Policy Rule¶
New in version 1.0.1.
Requirements¶
The below requirements are needed on the host that executes this module.
- ansible>=2.11
FortiWeb Version Compatibility¶
v7.0.x |
v7.2.x |
v7.4.x |
v7.6.x |
|
| fwebos_waf_custom_rule.py | yes | yes | yes | yes |
Parameters¶
- body Possible parameters to go in the body for the request required: True
- name A unique name that can be referenced in other parts of the configuration. type:string maxLength:63
- security_action Select which action the FortiWeb appliance will take when it detects a violation of the rule. type:string choice: alert, redirect, deny_no_log, block-period, client-id-block-period
- severity Select which severity level the FortiWeb appliance will use when it logs a violation of the rule. type:string choice: Info, Low, Medium, High
- trigger Select which trigger, if any, that the FortiWeb appliance will use when it logs and/or sends an alert email about a violation of the rule. type:string maxLength:63
- bot_confirmation Enable to confirm if the client is indeed a bot. type:string choice: enable, disable
- bot_recognition Select what type of bots the client is. type:string choice: enable, real-browser-enforcement, captcha-enforcement
- validation_timeout FortiWeb applies the actions in 'trigger' if the client fails the test or does not return results before the Validation Timeout expires. type:string
- max_attempt_times FortiWeb applies the actions in 'trigger' if the client cannot successfully fulfill the request within the 'max_attempt_times'. type:string
- mobile_app_identification Available only when Mobile Application Identification is enabled. type:string choice: enable, disable
- mkey If present, objects will be filtered on property with this name type:string
- vdom Specify the Virtual Domain(s) from which results are returned or changes are applied to. If this parameter is not provided, the management VDOM will be used. If the admin does not have access to the VDOM, a permission error will be returned. The URL parameter is one of: vdom=root (Single VDOM) vdom=vdom1,vdom2 (Multiple VDOMs) vdom=* (All VDOMs) type:array
- clone_mkey Use *clone_mkey* to specify the ID for the new resource to be cloned. If *clone_mkey* is set, *mkey* must be provided which is cloned from. type:string
Examples¶
- name:
hosts: all
vars:
connection: httpapi
gather_facts: false
tasks:
- name: add a rule
fwebos_waf_custom_rule:
action: add
name: test1
security_action: alert
severity: Medium
block_period: 500
bot_confirmation: enable
bot_recognition: real-browser-enforcement
mobile_app_identification: disabled
validation_timeout: 30
trigger: tp1
- name: get a rule
fwebos_waf_custom_rule:
action: get
name: test1
- name: edit a rule
fwebos_waf_custom_rule:
action: edit
name: test1
severity: High
security_action: client-id-block-period
block_period: 400
bot_confirmation: disable
- name: delete a rule
fwebos_waf_custom_rule:
action: delete
name: test1
- name: delete a rule
fwebos_waf_custom_rule:
action: delete
name: test1
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:
- 200 : OK: Request returns successful
- 400 : Bad Request: Request cannot be processed by the API
- 401 : Not Authorized: Request without successful login session
- 403 : Forbidden: Request is missing CSRF token or administrator is missing access profile permissions.
- 404 : Resource Not Found: Unable to find the specified resource.
- 405 : Method Not Allowed: Specified HTTP method is not allowed for this resource.
- 413 : Request Entity Too Large: Request cannot be processed due to large entity
- 424 : Failed Dependency: Fail dependency can be duplicate resource, missing required parameter, missing required attribute, invalid attribute value
- 429 : Access temporarily blocked: Maximum failed authentications reached. The offended source is temporarily blocked for certain amount of time.
- 500 : Internal Server Error: Internal error when processing the request
For errorcode please check FortiWeb API errorcode at : https://documenter.getpostman.com/view/11233300/TVetbkaK#887b9eb4-7c13-4338-a8db-16cc117f0119