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 |
| 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 |
| 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 |
| Enable/disable authentication-based routing. | ||
| auth-redirect-addr string | HTTP-to-HTTPS redirect address for firewall authentication. | |||
| auto-asic-offload string |
| Enable/disable offloading security profile processing to CP processors. | ||
| av-profile string | Name of an existing Antivirus profile. | |||
| block-notification string |
| Enable/disable block notification. | ||
| captive-portal-exempt string |
| Enable to exempt some users from the captive portal. | ||
| capture-packet string |
| 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 |
| 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 |
| Enable to change packets DiffServ values to the specified diffservcode-forward value. | ||
| diffserv-reverse string |
| 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 |
| 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 |
| Enable DSCP check. | ||
| dscp-negate string |
| Enable negated DSCP match. | ||
| dscp-value string | DSCP value. | |||
| dsri string |
| Enable DSRI to ignore HTTP server responses. | ||
| dstaddr string | Destination address and address group names. | |||
| dstaddr-negate string |
| When enabled dstaddr specifies what the destination address must NOT be. | ||
| dstintf string | Outgoing (egress) interface. | |||
| firewall-session-dirty string |
| How to handle sessions if the configuration of this firewall policy changes. | ||
| fixedport string |
| Enable to prevent source NAT from changing a sessions source port. | ||
| fsso string |
| 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 |
| Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. | ||
| internet-service string |
| 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 |
| When enabled internet-service specifies what the service must NOT be. | ||
| ippool string |
| 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 |
| Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be g... | ||
| logtraffic string |
| Enable or disable logging. Log all sessions or security profile sessions. | ||
| logtraffic-start string |
| Record logs when a session starts and ends. | ||
| match-vip string |
| 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 |
| Enable/disable source NAT. | ||
| natinbound string |
| 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 |
| Policy-based IPsec VPN: apply source NAT to outbound traffic. | ||
| ntlm string |
| Enable/disable NTLM authentication. | ||
| ntlm-enabled-browsers string | no description | |||
| ntlm-guest string |
| Enable/disable NTLM guest user access. | ||
| outbound string |
| 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 |
| Accept UDP packets from any host. | ||
| permit-stun-host string |
| 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 |
| Determine whether the firewall policy allows security profile groups or single profiles only. | ||
| radius-mac-auth-bypass string |
| 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 |
| Enable/disable RADIUS single sign-on (RSSO). | ||
| rtp-addr string | Address names if this is an RTP NAT policy. | |||
| rtp-nat string |
| Enable Real Time Protocol (RTP) NAT. | ||
| scan-botnet-connections string |
| Block or monitor connections to Botnet servers or disable Botnet scanning. | ||
| schedule string | Schedule name. | |||
| schedule-timeout string |
| Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity. | ||
| send-deny-packet string |
| 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 |
| 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 |
| When enabled srcaddr specifies what the source address must NOT be. | ||
| srcintf string | Incoming (ingress) interface. | |||
| ssl-mirror string |
| 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 |
| 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 |
| Enable/disable creation of TCP session without SYN flag. | ||
| timeout-send-rst string |
| 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 |
| 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 |
| Enable/disable WAN optimization. | ||
| wanopt-detection string |
| WAN optimization auto-detection mode. | ||
| wanopt-passive-opt string |
| 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 |
| Enable/disable forwarding traffic matching this policy to a configured WCCP server. | ||
| webcache string |
| Enable/disable web cache. | ||
| webcache-https string |
| Enable/disable web cache for HTTPS. | ||
| webfilter-profile string | Name of an existing Web filter profile. | |||
| wsso string |
| 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 |
| 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)
© 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_pkg_firewall_policy_module.html