fortinet.fortimanager.fmgr_pkg_firewall_policy – Configure IPv4 policies.

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

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
    Choices:
  • no ←
  • yes
only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters
pkg
string / required
the parameter (pkg) in requested url
pkg_firewall_policy
dictionary
the top level parameters set
action
string
    Choices:
  • deny
  • accept
  • ipsec
  • ssl-vpn
Policy action (allow/deny/ipsec).
app-category
string
Application category ID list.
application
integer
no description
application-list
string
Name of an existing Application list.
auth-cert
string
HTTPS server certificate for policy authentication.
auth-path
string
    Choices:
  • disable
  • enable
Enable/disable authentication-based routing.
auth-redirect-addr
string
HTTP-to-HTTPS redirect address for firewall authentication.
auto-asic-offload
string
    Choices:
  • disable
  • enable
Enable/disable offloading security profile processing to CP processors.
av-profile
string
Name of an existing Antivirus profile.
block-notification
string
    Choices:
  • disable
  • enable
Enable/disable block notification.
captive-portal-exempt
string
    Choices:
  • disable
  • enable
Enable to exempt some users from the captive portal.
capture-packet
string
    Choices:
  • disable
  • enable
Enable/disable capture packets.
comments
string
no description
custom-log-fields
string
Custom fields to append to log messages for this policy.
delay-tcp-npu-session
string
    Choices:
  • disable
  • enable
Enable TCP NPU session delay to guarantee packet order of 3-way handshake.
devices
string
Names of devices or device groups that can be matched by the policy.
diffserv-forward
string
    Choices:
  • disable
  • enable
Enable to change packets DiffServ values to the specified diffservcode-forward value.
diffserv-reverse
string
    Choices:
  • disable
  • enable
Enable to change packets reverse (reply) DiffServ values to the specified diffservcode-rev value.
diffservcode-forward
string
Change packets DiffServ to this value.
diffservcode-rev
string
Change packets reverse (reply) DiffServ to this value.
disclaimer
string
    Choices:
  • disable
  • enable
Enable/disable user authentication disclaimer.
dlp-sensor
string
Name of an existing DLP sensor.
dnsfilter-profile
string
Name of an existing DNS filter profile.
dscp-match
string
    Choices:
  • disable
  • enable
Enable DSCP check.
dscp-negate
string
    Choices:
  • disable
  • enable
Enable negated DSCP match.
dscp-value
string
DSCP value.
dsri
string
    Choices:
  • disable
  • enable
Enable DSRI to ignore HTTP server responses.
dstaddr
string
Destination address and address group names.
dstaddr-negate
string
    Choices:
  • disable
  • enable
When enabled dstaddr specifies what the destination address must NOT be.
dstintf
string
Outgoing (egress) interface.
firewall-session-dirty
string
    Choices:
  • check-all
  • check-new
How to handle sessions if the configuration of this firewall policy changes.
fixedport
string
    Choices:
  • disable
  • enable
Enable to prevent source NAT from changing a sessions source port.
fsso
string
    Choices:
  • disable
  • enable
Enable/disable Fortinet Single Sign-On.
fsso-agent-for-ntlm
string
FSSO agent to use for NTLM authentication.
global-label
string
Label for the policy that appears when the GUI is in Global View mode.
groups
string
Names of user groups that can authenticate with this policy.
gtp-profile
string
GTP profile.
icap-profile
string
Name of an existing ICAP profile.
identity-based-route
string
Name of identity-based routing rule.
inbound
string
    Choices:
  • disable
  • enable
Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN.
internet-service
string
    Choices:
  • disable
  • enable
Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.
internet-service-custom
string
Custom Internet Service Name.
internet-service-id
string
Internet Service ID.
internet-service-negate
string
    Choices:
  • disable
  • enable
When enabled internet-service specifies what the service must NOT be.
ippool
string
    Choices:
  • disable
  • enable
Enable to use IP Pools for source NAT.
ips-sensor
string
Name of an existing IPS sensor.
label
string
Label for the policy that appears when the GUI is in Section View mode.
learning-mode
string
    Choices:
  • disable
  • enable
Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be g...
logtraffic
string
    Choices:
  • disable
  • enable
  • all
  • utm
Enable or disable logging. Log all sessions or security profile sessions.
logtraffic-start
string
    Choices:
  • disable
  • enable
Record logs when a session starts and ends.
match-vip
string
    Choices:
  • disable
  • enable
Enable to match packets that have had their destination addresses changed by a VIP.
mms-profile
string
Name of an existing MMS profile.
name
string
Policy name.
nat
string
    Choices:
  • disable
  • enable
Enable/disable source NAT.
natinbound
string
    Choices:
  • disable
  • enable
Policy-based IPsec VPN: apply destination NAT to inbound traffic.
natip
string
Policy-based IPsec VPN: source NAT IP address for outgoing traffic.
natoutbound
string
    Choices:
  • disable
  • enable
Policy-based IPsec VPN: apply source NAT to outbound traffic.
ntlm
string
    Choices:
  • disable
  • enable
Enable/disable NTLM authentication.
ntlm-enabled-browsers
string
no description
ntlm-guest
string
    Choices:
  • disable
  • enable
Enable/disable NTLM guest user access.
outbound
string
    Choices:
  • disable
  • enable
Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN.
per-ip-shaper
string
Per-IP traffic shaper.
permit-any-host
string
    Choices:
  • disable
  • enable
Accept UDP packets from any host.
permit-stun-host
string
    Choices:
  • disable
  • enable
Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host.
policyid
integer
Policy ID.
poolname
string
IP Pool names.
profile-group
string
Name of profile group.
profile-protocol-options
string
Name of an existing Protocol options profile.
profile-type
string
    Choices:
  • single
  • group
Determine whether the firewall policy allows security profile groups or single profiles only.
radius-mac-auth-bypass
string
    Choices:
  • disable
  • enable
Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server.
redirect-url
string
URL users are directed to after seeing and accepting the disclaimer or authenticating.
replacemsg-override-group
string
Override the default replacement message group for this policy.
rsso
string
    Choices:
  • disable
  • enable
Enable/disable RADIUS single sign-on (RSSO).
rtp-addr
string
Address names if this is an RTP NAT policy.
rtp-nat
string
    Choices:
  • disable
  • enable
Enable Real Time Protocol (RTP) NAT.
scan-botnet-connections
string
    Choices:
  • disable
  • block
  • monitor
Block or monitor connections to Botnet servers or disable Botnet scanning.
schedule
string
Schedule name.
schedule-timeout
string
    Choices:
  • disable
  • enable
Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity.
send-deny-packet
string
    Choices:
  • disable
  • enable
Enable to send a reply when a session is denied or blocked by a firewall policy.
service
string
Service and service group names.
service-negate
string
    Choices:
  • disable
  • enable
When enabled service specifies what the service must NOT be.
session-ttl
integer
Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.
spamfilter-profile
string
Name of an existing Spam filter profile.
srcaddr
string
Source address and address group names.
srcaddr-negate
string
    Choices:
  • disable
  • enable
When enabled srcaddr specifies what the source address must NOT be.
srcintf
string
Incoming (ingress) interface.
ssl-mirror
string
    Choices:
  • disable
  • enable
Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring).
ssl-mirror-intf
string
SSL mirror interface name.
ssl-ssh-profile
string
Name of an existing SSL SSH profile.
status
string
    Choices:
  • disable
  • enable
Enable or disable this policy.
tags
string
Names of object-tags applied to this policy.
tcp-mss-receiver
integer
Receiver TCP maximum segment size (MSS).
tcp-mss-sender
integer
Sender TCP maximum segment size (MSS).
tcp-session-without-syn
string
    Choices:
  • all
  • data-only
  • disable
Enable/disable creation of TCP session without SYN flag.
timeout-send-rst
string
    Choices:
  • disable
  • enable
Enable/disable sending RST packets when TCP sessions expire.
traffic-shaper
string
Traffic shaper.
traffic-shaper-reverse
string
Reverse traffic shaper.
url-category
string
URL category ID list.
users
string
Names of individual users that can authenticate with this policy.
utm-status
string
    Choices:
  • disable
  • enable
Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.
uuid
string
Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
vlan-cos-fwd
integer
VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.
vlan-cos-rev
integer
VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest..
voip-profile
string
Name of an existing VoIP profile.
vpn_dst_node
list / elements=string
no description
host
string
no description
seq
integer
no description
subnet
string
no description
vpn_src_node
list / elements=string
no description
host
string
no description
seq
integer
no description
subnet
string
no description
vpntunnel
string
Policy-based IPsec VPN: name of the IPsec VPN Phase 1.
waf-profile
string
Name of an existing Web application firewall profile.
wanopt
string
    Choices:
  • disable
  • enable
Enable/disable WAN optimization.
wanopt-detection
string
    Choices:
  • active
  • passive
  • off
WAN optimization auto-detection mode.
wanopt-passive-opt
string
    Choices:
  • default
  • transparent
  • non-transparent
WAN optimization passive mode options. This option decides what IP address will be used to connect server.
wanopt-peer
string
WAN optimization peer.
wanopt-profile
string
WAN optimization profile.
wccp
string
    Choices:
  • disable
  • enable
Enable/disable forwarding traffic matching this policy to a configured WCCP server.
webcache
string
    Choices:
  • disable
  • enable
Enable/disable web cache.
webcache-https
string
    Choices:
  • disable
  • ssl-server
  • any
  • enable
Enable/disable web cache for HTTPS.
webfilter-profile
string
Name of an existing Web filter profile.
wsso
string
    Choices:
  • disable
  • enable
Enable/disable WiFi Single Sign On (WSSO).
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
    Choices:
  • present
  • absent
the directive to create, update or delete an object
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: Configure IPv4 policies.
     fmgr_pkg_firewall_policy:
        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>
        pkg: <your own value>
        state: <value in [present, absent]>
        pkg_firewall_policy:
           action: <value in [deny, accept, ipsec, ...]>
           app-category: <value of string>
           application: <value of integer>
           application-list: <value of string>
           auth-cert: <value of string>
           auth-path: <value in [disable, enable]>
           auth-redirect-addr: <value of string>
           auto-asic-offload: <value in [disable, enable]>
           av-profile: <value of string>
           block-notification: <value in [disable, enable]>
           captive-portal-exempt: <value in [disable, enable]>
           capture-packet: <value in [disable, enable]>
           comments: <value of string>
           custom-log-fields: <value of string>
           delay-tcp-npu-session: <value in [disable, enable]>
           devices: <value of string>
           diffserv-forward: <value in [disable, enable]>
           diffserv-reverse: <value in [disable, enable]>
           diffservcode-forward: <value of string>
           diffservcode-rev: <value of string>
           disclaimer: <value in [disable, enable]>
           dlp-sensor: <value of string>
           dnsfilter-profile: <value of string>
           dscp-match: <value in [disable, enable]>
           dscp-negate: <value in [disable, enable]>
           dscp-value: <value of string>
           dsri: <value in [disable, enable]>
           dstaddr: <value of string>
           dstaddr-negate: <value in [disable, enable]>
           dstintf: <value of string>
           firewall-session-dirty: <value in [check-all, check-new]>
           fixedport: <value in [disable, enable]>
           fsso: <value in [disable, enable]>
           fsso-agent-for-ntlm: <value of string>
           global-label: <value of string>
           groups: <value of string>
           gtp-profile: <value of string>
           icap-profile: <value of string>
           identity-based-route: <value of string>
           inbound: <value in [disable, enable]>
           internet-service: <value in [disable, enable]>
           internet-service-custom: <value of string>
           internet-service-id: <value of string>
           internet-service-negate: <value in [disable, enable]>
           ippool: <value in [disable, enable]>
           ips-sensor: <value of string>
           label: <value of string>
           learning-mode: <value in [disable, enable]>
           logtraffic: <value in [disable, enable, all, ...]>
           logtraffic-start: <value in [disable, enable]>
           match-vip: <value in [disable, enable]>
           mms-profile: <value of string>
           name: <value of string>
           nat: <value in [disable, enable]>
           natinbound: <value in [disable, enable]>
           natip: <value of string>
           natoutbound: <value in [disable, enable]>
           ntlm: <value in [disable, enable]>
           ntlm-enabled-browsers: <value of string>
           ntlm-guest: <value in [disable, enable]>
           outbound: <value in [disable, enable]>
           per-ip-shaper: <value of string>
           permit-any-host: <value in [disable, enable]>
           permit-stun-host: <value in [disable, enable]>
           policyid: <value of integer>
           poolname: <value of string>
           profile-group: <value of string>
           profile-protocol-options: <value of string>
           profile-type: <value in [single, group]>
           radius-mac-auth-bypass: <value in [disable, enable]>
           redirect-url: <value of string>
           replacemsg-override-group: <value of string>
           rsso: <value in [disable, enable]>
           rtp-addr: <value of string>
           rtp-nat: <value in [disable, enable]>
           scan-botnet-connections: <value in [disable, block, monitor]>
           schedule: <value of string>
           schedule-timeout: <value in [disable, enable]>
           send-deny-packet: <value in [disable, enable]>
           service: <value of string>
           service-negate: <value in [disable, enable]>
           session-ttl: <value of integer>
           spamfilter-profile: <value of string>
           srcaddr: <value of string>
           srcaddr-negate: <value in [disable, enable]>
           srcintf: <value of string>
           ssl-mirror: <value in [disable, enable]>
           ssl-mirror-intf: <value of string>
           ssl-ssh-profile: <value of string>
           status: <value in [disable, enable]>
           tags: <value of string>
           tcp-mss-receiver: <value of integer>
           tcp-mss-sender: <value of integer>
           tcp-session-without-syn: <value in [all, data-only, disable]>
           timeout-send-rst: <value in [disable, enable]>
           traffic-shaper: <value of string>
           traffic-shaper-reverse: <value of string>
           url-category: <value of string>
           users: <value of string>
           utm-status: <value in [disable, enable]>
           uuid: <value of string>
           vlan-cos-fwd: <value of integer>
           vlan-cos-rev: <value of integer>
           voip-profile: <value of string>
           vpn_dst_node:
             -
                 host: <value of string>
                 seq: <value of integer>
                 subnet: <value of string>
           vpn_src_node:
             -
                 host: <value of string>
                 seq: <value of integer>
                 subnet: <value of string>
           vpntunnel: <value of string>
           waf-profile: <value of string>
           wanopt: <value in [disable, enable]>
           wanopt-detection: <value in [active, passive, off]>
           wanopt-passive-opt: <value in [default, transparent, non-transparent]>
           wanopt-peer: <value of string>
           wanopt-profile: <value of string>
           wccp: <value in [disable, enable]>
           webcache: <value in [disable, enable]>
           webcache-https: <value in [disable, ssl-server, any, ...]>
           webfilter-profile: <value of string>
           wsso: <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)