fortinet.fortimanager.fmgr_ips_sensor module – Configure IPS sensor.

Note

This module is part of the fortinet.fortimanager collection (version 2.1.5).

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_ips_sensor.

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

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

Choices:

  • no ← (default)

  • yes

enable_log

boolean

Enable/Disable logging for task

Choices:

  • no ← (default)

  • yes

ips_sensor

dictionary

the top level parameters set

block-malicious-url

string

Enable/disable malicious URL blocking.

Choices:

  • disable

  • enable

comment

string

Comment.

entries

list / elements=string

Entries.

action

string

Action taken with traffic in which signatures are detected.

Choices:

  • pass

  • block

  • reset

  • default

application

string

Applications to be protected. set application ? lists available applications. all includes all applications. other includes all unlisted applications.

cve

string

List of CVE IDs of the signatures to add to the sensor

exempt-ip

list / elements=string

Exempt-Ip.

dst-ip

string

Destination IP address and netmask.

id

integer

Exempt IP ID.

src-ip

string

Source IP address and netmask.

id

integer

Rule ID in IPS database (0 - 4294967295).

location

string

Protect client or server traffic.

log

string

Enable/disable logging of signatures included in filter.

Choices:

  • disable

  • enable

log-attack-context

string

Enable/disable logging of attack context: URL buffer, header buffer, body buffer, packet buffer.

Choices:

  • disable

  • enable

log-packet

string

Enable/disable packet logging. Enable to save the packet that triggers the filter. You can download the packets in pca…

Choices:

  • disable

  • enable

os

string

Operating systems to be protected. all includes all operating systems. other includes all unlisted operating systems.

protocol

string

Protocols to be examined. set protocol ? lists available protocols. all includes all protocols. other includes all unlisted protocols.

quarantine

string

Quarantine method.

Choices:

  • none

  • attacker

  • both

  • interface

quarantine-expiry

string

Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to …

quarantine-log

string

Enable/disable quarantine logging.

Choices:

  • disable

  • enable

rate-count

integer

Count of the rate.

rate-duration

integer

Duration (sec) of the rate.

rate-mode

string

Rate limit mode.

Choices:

  • periodical

  • continuous

rate-track

string

Track the packet protocol field.

Choices:

  • none

  • src-ip

  • dest-ip

  • dhcp-client-mac

  • dns-domain

rule

string

Identifies the predefined or custom IPS signatures to add to the sensor.

severity

string

Relative severity of the signature, from info to critical. Log messages generated by the signature include the severity.

status

string

Status of the signatures included in filter. default enables the filter and only use filters with default status of en…

Choices:

  • disable

  • enable

  • default

extended-log

string

Enable/disable extended logging.

Choices:

  • disable

  • enable

filter

list / elements=string

no description

action

string

Action of selected rules.

Choices:

  • pass

  • block

  • default

  • reset

application

string

no description

location

string

no description

log

string

Enable/disable logging of selected rules.

Choices:

  • disable

  • enable

  • default

log-packet

string

Enable/disable packet logging of selected rules.

Choices:

  • disable

  • enable

  • default

name

string

Filter name.

os

string

no description

protocol

string

no description

quarantine

string

Quarantine IP or interface.

Choices:

  • none

  • attacker

  • both

  • interface

quarantine-expiry

integer

Duration of quarantine in minute.

quarantine-log

string

Enable/disable logging of selected quarantine.

Choices:

  • disable

  • enable

severity

string

no description

status

string

Selected rules status.

Choices:

  • disable

  • enable

  • default

name

string

Sensor name.

override

list / elements=string

no description

action

string

Action of override rule.

Choices:

  • pass

  • block

  • reset

exempt-ip

list / elements=string

no description

dst-ip

string

Destination IP address and netmask.

id

integer

Exempt IP ID.

src-ip

string

Source IP address and netmask.

log

string

Enable/disable logging.

Choices:

  • disable

  • enable

log-packet

string

Enable/disable packet logging.

Choices:

  • disable

  • enable

quarantine

string

Quarantine IP or interface.

Choices:

  • none

  • attacker

  • both

  • interface

quarantine-expiry

integer

Duration of quarantine in minute.

quarantine-log

string

Enable/disable logging of selected quarantine.

Choices:

  • disable

  • enable

rule-id

integer

Override rule ID.

status

string

Enable/disable status of override rule.

Choices:

  • disable

  • enable

replacemsg-group

string

Replacement message group.

scan-botnet-connections

string

Block or monitor connections to Botnet servers, or disable Botnet scanning.

Choices:

  • disable

  • block

  • monitor

proposed_method

string

The overridden method for the underlying Json RPC request

Choices:

  • update

  • set

  • add

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

Choices:

  • present

  • absent

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

the maximum time in seconds to wait for other user to release the workspace lock

Default: 300

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: fortimanager00
  collections:
    - fortinet.fortimanager
  connection: httpapi
  vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
  tasks:
   - name: Configure IPS sensor.
     fmgr_ips_sensor:
        bypass_validation: False
        adom: ansible
        state: present
        ips_sensor:
           block-malicious-url: disable
           comment: 'ansible-comment'
           name: 'ansible-test-ipssensor'

- name: gathering fortimanager facts
  hosts: fortimanager00
  gather_facts: no
  connection: httpapi
  collections:
    - fortinet.fortimanager
  vars:
    ansible_httpapi_use_ssl: True
    ansible_httpapi_validate_certs: False
    ansible_httpapi_port: 443
  tasks:
   - name: retrieve all the IPS sensors
     fmgr_fact:
       facts:
           selector: 'ips_sensor'
           params:
               adom: 'ansible'
               sensor: ''

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

request_url

string

The full url requested

Returned: always

Sample: “/sys/login/user”

response_code

integer

The status of api request

Returned: always

Sample: 0

response_message

string

The descriptive message of the api response

Returned: always

Sample: “OK.”

Authors

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)