On this page
fortinet.fortimanager.fmgr_waf_profile – Web application firewall configuration.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.1.3).
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 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
         | 
     |||
| enable_log
        
        boolean
         | 
      
       
  | 
      
        
        Enable/Disable logging for task
         | 
     |||
| proposed_method
        
        string
         | 
      
       
  | 
      
        
        The overridden method for the underlying Json RPC request
         | 
     |||
| 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
        
        dictionary
         | 
      
        
        the top level parameters set
         | 
     ||||
| address-list
        
        dictionary
         | 
      
        
        no description
         | 
     ||||
| blocked-address
        
        string
         | 
      
        
        Blocked address.
         | 
     ||||
| blocked-log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging on blocked addresses.
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     |||
| status
        
        string
         | 
      
       
  | 
      
        
        Status.
         | 
     |||
| trusted-address
        
        string
         | 
      
        
        Trusted address.
         | 
     ||||
| comment
        
        string
         | 
      
        
        Comment.
         | 
     ||||
| constraint
        
        dictionary
         | 
      
        
        no description
         | 
     ||||
| 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.
         | 
     |||
| extended-log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable extended logging.
         | 
     |||
| external
        
        string
         | 
      
       
  | 
      
        
        Disable/Enable external HTTP Inspection.
         | 
     |||
| method
        
        dictionary
         | 
      
        
        no description
         | 
     ||||
| default-allowed-methods
        
        list / elements=string
         | 
      
       
  | 
      
        
        no description
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     |||
| method-policy
        
        list / elements=string
         | 
      
        
        no description
         | 
     ||||
| address
        
        string
         | 
      
        
        Host address.
         | 
     ||||
| allowed-methods
        
        list / elements=string
         | 
      
       
  | 
      
        
        no description
         | 
     |||
| id
        
        integer
         | 
      
        
        HTTP method policy ID.
         | 
     ||||
| pattern
        
        string
         | 
      
        
        URL pattern.
         | 
     ||||
| regex
        
        string
         | 
      
       
  | 
      
        
        Enable/disable regular expression based pattern match.
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     |||
| status
        
        string
         | 
      
       
  | 
      
        
        Status.
         | 
     |||
| name
        
        string
         | 
      
        
        WAF Profile name.
         | 
     ||||
| signature
        
        dictionary
         | 
      
        
        no description
         | 
     ||||
| credit-card-detection-threshold
        
        integer
         | 
      
        
        The minimum number of Credit cards to detect violation.
         | 
     ||||
| custom-signature
        
        list / elements=string
         | 
      
        
        no description
         | 
     ||||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     |||
| case-sensitivity
        
        string
         | 
      
       
  | 
      
        
        Case sensitivity in pattern.
         | 
     |||
| direction
        
        string
         | 
      
       
  | 
      
        
        Traffic direction.
         | 
     |||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     |||
| name
        
        string
         | 
      
        
        Signature name.
         | 
     ||||
| pattern
        
        string
         | 
      
        
        Match pattern.
         | 
     ||||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     |||
| status
        
        string
         | 
      
       
  | 
      
        
        Status.
         | 
     |||
| target
        
        list / elements=string
         | 
      
       
  | 
      
        
        no description
         | 
     |||
| disabled-signature
        
        string
         | 
      
        
        Disabled signatures
         | 
     ||||
| disabled-sub-class
        
        string
         | 
      
        
        Disabled signature subclasses.
         | 
     ||||
| main-class
        
        dictionary
         | 
      
        
        no description
         | 
     ||||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     |||
| id
        
        integer
         | 
      
        
        Main signature class ID.
         | 
     ||||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     |||
| status
        
        string
         | 
      
       
  | 
      
        
        Status.
         | 
     |||
| url-access
        
        list / elements=string
         | 
      
        
        no description
         | 
     ||||
| access-pattern
        
        list / elements=string
         | 
      
        
        no description
         | 
     ||||
| id
        
        integer
         | 
      
        
        URL access pattern ID.
         | 
     ||||
| negate
        
        string
         | 
      
       
  | 
      
        
        Enable/disable match negation.
         | 
     |||
| pattern
        
        string
         | 
      
        
        URL pattern.
         | 
     ||||
| regex
        
        string
         | 
      
       
  | 
      
        
        Enable/disable regular expression based pattern match.
         | 
     |||
| srcaddr
        
        string
         | 
      
        
        Source address.
         | 
     ||||
| action
        
        string
         | 
      
       
  | 
      
        
        Action.
         | 
     |||
| address
        
        string
         | 
      
        
        Host address.
         | 
     ||||
| id
        
        integer
         | 
      
        
        URL access ID.
         | 
     ||||
| log
        
        string
         | 
      
       
  | 
      
        
        Enable/disable logging.
         | 
     |||
| severity
        
        string
         | 
      
       
  | 
      
        
        Severity.
         | 
     |||
| 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: Web application firewall configuration.
     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: <value in [present, absent]>
        waf_profile:
           comment: <value of string>
           extended-log: <value in [disable, enable]>
           external: <value in [disable, enable]>
           name: <value of string>
           url-access:
             -
                 access-pattern:
                   -
                       id: <value of integer>
                       negate: <value in [disable, enable]>
                       pattern: <value of string>
                       regex: <value in [disable, enable]>
                       srcaddr: <value of string>
                 action: <value in [bypass, permit, block]>
                 address: <value of string>
                 id: <value of integer>
                 log: <value in [disable, enable]>
                 severity: <value in [low, medium, high]>
           address-list:
              blocked-address: <value of string>
              blocked-log: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
              trusted-address: <value of string>
           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]>
           method:
              default-allowed-methods:
                - delete
                - get
                - head
                - options
                - post
                - put
                - trace
                - others
                - connect
              log: <value in [disable, enable]>
              method-policy:
                -
                    address: <value of string>
                    allowed-methods:
                      - delete
                      - get
                      - head
                      - options
                      - post
                      - put
                      - trace
                      - others
                      - connect
                    id: <value of integer>
                    pattern: <value of string>
                    regex: <value in [disable, enable]>
              severity: <value in [low, medium, high]>
              status: <value in [disable, enable]>
           signature:
              credit-card-detection-threshold: <value of 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: <value of string>
                    pattern: <value of 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: <value of string>
              disabled-sub-class: <value of string>
              main-class:
                 action: <value in [allow, block, erase]>
                 id: <value of 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 | 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/latest/collections/fortinet/fortimanager/fmgr_waf_profile_module.html