On this page
fortinet.fortios.fortios_application_list – Configure application control lists in Fortinet’s FortiOS and FortiGate.
Note
This plugin is part of the fortinet.fortios collection (version 2.1.2).
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.fortios
.
To use it in a playbook, specify: fortinet.fortios.fortios_application_list
.
New in version 2.10: of fortinet.fortios
Synopsis
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify application feature and list category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
The below requirements are needed on the host that executes this module.
- ansible>=2.9.0
Parameters
Parameter | Choices/Defaults | Comments | ||||
---|---|---|---|---|---|---|
access_token
string
|
Token-based authentication. Generated from GUI of Fortigate.
|
|||||
application_list
dictionary
|
Configure application control lists.
|
|||||
app_replacemsg
string
|
|
Enable/disable replacement messages for blocked applications.
|
||||
comment
string
|
comments
|
|||||
control_default_network_services
string
|
|
Enable/disable enforcement of protocols over selected ports.
|
||||
deep_app_inspection
string
|
|
Enable/disable deep application inspection.
|
||||
default_network_services
list / elements=string
|
Default network service entries.
|
|||||
id
integer / required
|
Entry ID.
|
|||||
port
integer
|
Port number.
|
|||||
services
string
|
|
Network protocols.
|
||||
violation_action
string
|
|
Action for protocols not white listed under selected port.
|
||||
enforce_default_app_port
string
|
|
Enable/disable default application port enforcement for allowed applications.
|
||||
entries
list / elements=string
|
Application list entries.
|
|||||
action
string
|
|
Pass or block traffic, or reset connection for traffic from this application.
|
||||
application
list / elements=string
|
ID of allowed applications.
|
|||||
id
integer / required
|
Application IDs.
|
|||||
behavior
string
|
Application behavior filter.
|
|||||
category
list / elements=string
|
Category ID list.
|
|||||
id
integer / required
|
Application category ID.
|
|||||
exclusion
list / elements=string
|
ID of excluded applications.
|
|||||
id
integer / required
|
Excluded application IDs.
|
|||||
id
integer / required
|
Entry ID.
|
|||||
log
string
|
|
Enable/disable logging for this application list.
|
||||
log_packet
string
|
|
Enable/disable packet logging.
|
||||
parameters
list / elements=string
|
Application parameters.
|
|||||
id
integer / required
|
Parameter ID.
|
|||||
members
list / elements=string
|
Parameter tuple members.
|
|||||
id
integer / required
|
Parameter.
|
|||||
name
string
|
Parameter name.
|
|||||
value
string
|
Parameter value.
|
|||||
value
string
|
Parameter value.
|
|||||
per_ip_shaper
string
|
Per-IP traffic shaper. Source firewall.shaper.per-ip-shaper.name.
|
|||||
popularity
list / elements=string
|
|
Application popularity filter (1 - 5, from least to most popular).
|
||||
protocols
string
|
Application protocol filter.
|
|||||
quarantine
string
|
|
Quarantine method.
|
||||
quarantine_expiry
string
|
Duration of quarantine. (Format
|
|||||
quarantine_log
string
|
|
Enable/disable quarantine logging.
|
||||
rate_count
integer
|
Count of the rate.
|
|||||
rate_duration
integer
|
Duration (sec) of the rate.
|
|||||
rate_mode
string
|
|
Rate limit mode.
|
||||
rate_track
string
|
|
Track the packet protocol field.
|
||||
risk
list / elements=string
|
Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical).
|
|||||
level
integer / required
|
Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical).
|
|||||
session_ttl
integer
|
Session TTL (0 = default).
|
|||||
shaper
string
|
Traffic shaper. Source firewall.shaper.traffic-shaper.name.
|
|||||
shaper_reverse
string
|
Reverse traffic shaper. Source firewall.shaper.traffic-shaper.name.
|
|||||
sub_category
list / elements=string
|
Application Sub-category ID list.
|
|||||
id
integer / required
|
Application sub-category ID.
|
|||||
technology
string
|
Application technology filter.
|
|||||
vendor
string
|
Application vendor filter.
|
|||||
extended_log
string
|
|
Enable/disable extended logging.
|
||||
force_inclusion_ssl_di_sigs
string
|
|
Enable/disable forced inclusion of SSL deep inspection signatures.
|
||||
name
string / required
|
List name.
|
|||||
options
list / elements=string
|
|
Basic application protocol signatures allowed by default.
|
||||
other_application_action
string
|
|
Action for other applications.
|
||||
other_application_log
string
|
|
Enable/disable logging for other applications.
|
||||
p2p_black_list
list / elements=string
|
|
P2P applications to be black listed.
|
||||
p2p_block_list
list / elements=string
|
|
P2P applications to be blocklisted.
|
||||
replacemsg_group
string
|
Replacement message group. Source system.replacemsg-group.name.
|
|||||
unknown_application_action
string
|
|
Pass or block traffic from unknown applications.
|
||||
unknown_application_log
string
|
|
Enable/disable logging for unknown applications.
|
||||
enable_log
boolean
|
|
Enable/Disable logging for task.
|
||||
state
string / required
|
|
Indicates whether to create or remove the object.
|
||||
vdom
string
|
Default:
"root"
|
Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.
|
Notes
Note
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
Examples
- hosts: fortigates
collections:
- fortinet.fortios
connection: httpapi
vars:
vdom: "root"
ansible_httpapi_use_ssl: yes
ansible_httpapi_validate_certs: no
ansible_httpapi_port: 443
tasks:
- name: Configure application control lists.
fortios_application_list:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
application_list:
app_replacemsg: "disable"
comment: "comments"
control_default_network_services: "disable"
deep_app_inspection: "disable"
default_network_services:
-
id: "8"
port: "9"
services: "http"
violation_action: "pass"
enforce_default_app_port: "disable"
entries:
-
action: "pass"
application:
-
id: "16"
behavior: "<your_own_value>"
category:
-
id: "19"
exclusion:
-
id: "21"
id: "22"
log: "disable"
log_packet: "disable"
parameters:
-
id: "26"
members:
-
id: "28"
name: "default_name_29"
value: "<your_own_value>"
value: "<your_own_value>"
per_ip_shaper: "<your_own_value> (source firewall.shaper.per-ip-shaper.name)"
popularity: "1"
protocols: "<your_own_value>"
quarantine: "none"
quarantine_expiry: "<your_own_value>"
quarantine_log: "disable"
rate_count: "38"
rate_duration: "39"
rate_mode: "periodical"
rate_track: "none"
risk:
-
level: "43"
session_ttl: "44"
shaper: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
shaper_reverse: "<your_own_value> (source firewall.shaper.traffic-shaper.name)"
sub_category:
-
id: "48"
technology: "<your_own_value>"
vendor: "<your_own_value>"
extended_log: "enable"
force_inclusion_ssl_di_sigs: "disable"
name: "default_name_53"
options: "allow-dns"
other_application_action: "pass"
other_application_log: "disable"
p2p_black_list: "skype"
p2p_block_list: "skype"
replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
unknown_application_action: "pass"
unknown_application_log: "disable"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
build
string
|
always |
Build number of the fortigate image
Sample:
1547
|
http_method
string
|
always |
Last method used to provision the content into FortiGate
Sample:
PUT
|
http_status
string
|
always |
Last result given by FortiGate on last operation applied
Sample:
200
|
mkey
string
|
success |
Master key (id) used in the last call to FortiGate
Sample:
id
|
name
string
|
always |
Name of the table used to fulfill the request
Sample:
urlfilter
|
path
string
|
always |
Path of the table used to fulfill the request
Sample:
webfilter
|
revision
string
|
always |
Internal revision number
Sample:
17.0.2.10658
|
serial
string
|
always |
Serial number of the unit
Sample:
FGVMEVYYQT3AB5352
|
status
string
|
always |
Indication of the operation's result
Sample:
success
|
vdom
string
|
always |
Virtual domain used
Sample:
root
|
version
string
|
always |
Version of the FortiGate
Sample:
v5.6.3
|
Authors
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
© 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/fortios/fortios_application_list_module.html