fortinet.fortios.fortios_application_list 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置应用控制列表。

注意

此模块是 fortinet.fortios 集合(版本 2.3.8)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要进一步的要求才能使用此模块,请参阅要求 以了解详细信息。

要在 playbook 中使用它,请指定:fortinet.fortios.fortios_application_list

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块可以通过允许用户设置和修改应用程序功能和列表类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括在使用前需要根据数据源调整的所有参数和值。已使用 FOS v6.0.0 进行测试

要求

执行此模块的主机需要满足以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 Fortigate 的 GUI 生成。

application_list

字典

配置应用控制列表。

app_replacemsg

字符串

启用/禁用被阻止应用程序的替换消息。

选项

  • "disable"

  • "enable"

comment

字符串

注释。

control_default_network_services

字符串

启用/禁用通过选定端口强制执行协议。

选项

  • "disable"

  • "enable"

deep_app_inspection

字符串

启用/禁用深度应用检测。

选项

  • "disable"

  • "enable"

default_network_services

列表 / 元素=字典

默认网络服务条目。

id

整数 / 必需

条目 ID。请参阅 <a href=’#notes’>注释</a>。

port

整数

端口号。

services

列表 / 元素=字符串

网络协议。

选项

  • "http"

  • "ssh"

  • "telnet"

  • "ftp"

  • "dns"

  • "smtp"

  • "pop3"

  • "imap"

  • "snmp"

  • "nntp"

  • "https"

violation_action

字符串

对于选定端口的允许列表中未包含的协议的操作。

选项

  • "pass"

  • "monitor"

  • "block"

enforce_default_app_port

字符串

为允许的应用程序启用/禁用默认应用程序端口强制。

选项

  • "disable"

  • "enable"

entries

列表 / 元素=字典

应用程序列表条目。

action

字符串

通过或阻止流量,或重置来自此应用程序的流量的连接。

选项

  • "pass"

  • "block"

  • "reset"

application

列表 / 元素=字典

允许的应用程序的 ID。

id

整数 / 必需

应用程序 ID。请参阅 <a href=’#notes’>注释</a>。

behavior

列表 / 元素=字符串

应用程序行为过滤器。

category

列表 / 元素=字典

类别 ID 列表。

id

整数 / 必需

应用程序类别 ID。请参阅 <a href=’#notes’>注释</a>。

exclusion

列表 / 元素=字典

排除的应用程序的 ID。

id

整数 / 必需

排除的应用程序 ID。请参阅 <a href=’#notes’>注释</a>。

id

整数 / 必需

条目 ID。请参阅 <a href=’#notes’>注释</a>。

log

字符串

为此应用程序列表启用/禁用日志记录。

选项

  • "disable"

  • "enable"

log_packet

字符串

启用/禁用数据包日志记录。

选项

  • "disable"

  • "enable"

parameters

列表 / 元素=字典

应用程序参数。

id

整数 / 必需

参数元组 ID。请参阅 <a href=’#notes’>注释</a>。

members

列表 / 元素=字典

参数元组成员。

id

整数 / 必需

参数。请参阅 <a href=’#notes’>注释</a>。

name

字符串

参数名称。

value

字符串

参数值。

value

字符串

参数值。

per_ip_shaper

字符串

每个 IP 的流量整形器。源 firewall.shaper.per-ip-shaper.name。

popularity

列表 / 元素=字符串

应用程序受欢迎程度过滤器(1 - 5,从最不流行到最流行)。

选项

  • "1"

  • "2"

  • "3"

  • "4"

  • "5"

protocols

列表 / 元素=字符串

应用程序协议过滤器。

quarantine

字符串

隔离方法。

选项

  • "none"

  • "attacker"

quarantine_expiry

字符串

隔离持续时间。(格式

quarantine_log

字符串

启用/禁用隔离日志记录。

选项

  • "disable"

  • "enable"

rate_count

整数

速率计数。

rate_duration

整数

速率的持续时间(秒)。

rate_mode

字符串

速率限制模式。

选项

  • "periodical"

  • "continuous"

rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

  • "dhcp-client-mac"

  • "dns-domain"

risk

列表 / 元素=字典

允许发生来自此应用程序的流量的风险或影响(1 - 5;低、提升、中、高和严重)。

level

整数 / 必需

允许发生来自此应用程序的流量的风险或影响(1 - 5;低、提升、中、高和严重)。请参阅 <a href=’#notes’>注释</a>。

session_ttl

整数

会话 TTL (0 = 默认)。

shaper

字符串

流量整形器。源 firewall.shaper.traffic-shaper.name。

shaper_reverse

字符串

反向流量整形器。源 firewall.shaper.traffic-shaper.name。

sub_category

列表 / 元素=字典

应用程序子类别 ID 列表。

id

整数 / 必需

应用程序子类别 ID。请参阅 <a href=’#notes’>注释</a>。

technology

列表 / 元素=字符串

应用程序技术过滤器。

vendor

列表 / 元素=字符串

应用程序供应商过滤器。

extended_log

字符串

启用/禁用扩展日志记录。

选项

  • "enable"

  • "disable"

force_inclusion_ssl_di_sigs

字符串

启用/禁用强制包含 SSL 深度检测签名。

选项

  • "disable"

  • "enable"

name

字符串 / 必需

列表名称。

options

列表 / 元素=字符串

默认情况下允许的基本应用程序协议签名。

选项

  • "allow-dns"

  • "allow-icmp"

  • "allow-http"

  • "allow-ssl"

  • "allow-quic"

other_application_action

字符串

其他应用程序的操作。

选项

  • "pass"

  • "block"

other_application_log

字符串

启用/禁用其他应用程序的日志记录。

选项

  • "disable"

  • "enable"

p2p_black_list

列表 / 元素=字符串

要列入黑名单的 P2P 应用程序。

选项

  • "skype"

  • "edonkey"

  • "bittorrent"

p2p_block_list

列表 / 元素=字符串

要列入阻止列表的 P2P 应用程序。

选项

  • "skype"

  • "edonkey"

  • "bittorrent"

replacemsg_group

字符串

替换消息组。源 system.replacemsg-group.name。

unknown_application_action

字符串

通过或阻止来自未知应用程序的流量。

选项

  • "pass"

  • "block"

unknown_application_log

字符串

启用/禁用未知应用程序的日志记录。

选项

  • "disable"

  • "enable"

enable_log

布尔值

启用/禁用任务的日志记录。

选项

  • false ←(默认)

  • true

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标记有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

当指定 member_state 时,state 选项将被忽略。

选项

  • "present" (存在)

  • "absent" (不存在)

state

字符串 / 必需

指示是创建还是移除对象。

选项

  • "present" (存在)

  • "absent" (不存在)

vdom

字符串

虚拟域,在之前定义的域中选择。vdom 是 FortiGate 的一个虚拟实例,可以配置并用作不同的单元。

默认值: "root"

注释

注意

  • 旧版 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方式。

  • 该模块支持 check_mode。

示例

- name: Configure application control lists.
  fortinet.fortios.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: "0"
                  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: "0"
                  rate_duration: "60"
                  rate_mode: "periodical"
                  rate_track: "none"
                  risk:
                      -
                          level: "<you_own_value>"
                  session_ttl: "0"
                  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"

返回值

通用返回值已在此处记录 这里,以下是此模块特有的字段

描述

build

字符串

FortiGate 镜像的构建号

返回值: 总是

示例: "1547"

http_method

字符串

上次用于将内容配置到 FortiGate 中的方法

返回值: 总是

示例: "PUT"

http_status

字符串

上次应用的操作中,FortiGate 给出的最后结果

返回值: 总是

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主键 (id)

返回值: 成功时

示例: "id"

name

字符串

用于满足请求的表名

返回值: 总是

示例: "urlfilter"

path

字符串

用于满足请求的表路径

返回值: 总是

示例: "webfilter"

revision

字符串

内部修订号

返回值: 总是

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回值: 总是

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回值: 总是

示例: "success"

vdom

字符串

使用的虚拟域

返回值: 总是

示例: "root"

version

字符串

FortiGate 的版本

返回值: 总是

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)