fortinet.fortios.fortios_firewall_profile_protocol_options 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置协议选项。

注意

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

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

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:fortinet.fortios.fortios_firewall_profile_protocol_options

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改防火墙功能和 profile_protocol_options 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整为数据源。已在 FOS v6.0.0 上测试。

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_profile_protocol_options

字典

配置协议选项。

cifs

字典

配置 CIFS 协议选项。

domain_controller

字符串

用于解密 CIFS 流量的域。源用户.domain-controller.name 凭据存储.domain-controller.服务器名称。

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "oversize"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

server_credential_type

字符串

CIFS 服务器凭据类型。

选项

  • "none"

  • "credential-replication"

  • "credential-keytab"

server_keytab

列表 / 元素=字典

服务器密钥表。

keytab

字符串

包含服务器凭据的 Base64 编码密钥表文件。

principal

字符串 / 必需

服务主体。例如,host/cifsserver.example.com@example.com

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

tcp_window_maximum

整数

最大动态 TCP 窗口大小。

tcp_window_minimum

整数

最小动态 TCP 窗口大小。

tcp_window_size

整数

设置 TCP 静态窗口大小。

tcp_window_type

字符串

为此协议使用的 TCP 窗口类型。

选项

  • "auto-tuning"

  • "system"

  • "static"

  • "dynamic"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

comment

字符串

可选注释。

dns

字典

配置 DNS 协议选项。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

ftp

字典

配置 FTP 协议选项。

comfort_amount

整数

为客户端安慰而每次传输发送的字节数 (字节)。

comfort_interval

整数

为客户端安慰而连续传输数据之间的间隔 (秒)。

explicit_ftp_tls

字符串

启用/禁用显式 FTPS 的 FTP 重定向。

选项

  • "enable"

  • "disable"

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "clientcomfort"

  • "oversize"

  • "splice"

  • "bypass-rest-command"

  • "bypass-mode-command"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

stream_based_uncompressed_limit

整数

将以兆字节为单位扫描的最大基于流的未压缩数据大小。基于流的解压缩仅在某些情况下使用 (unlimited = 0)。

tcp_window_maximum

整数

最大动态 TCP 窗口大小。

tcp_window_minimum

整数

最小动态 TCP 窗口大小。

tcp_window_size

整数

设置 TCP 静态窗口大小。

tcp_window_type

字符串

为此协议使用的 TCP 窗口类型。

选项

  • "auto-tuning"

  • "system"

  • "static"

  • "dynamic"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

http

字典

配置 HTTP 协议选项。

address_ip_rating

字符串

启用/禁用基于 IP 的 URL 等级。

选项

  • "enable"

  • "disable"

block_page_status_code

整数

为被阻止的 HTTP 页面返回的代码编号(仅非 FortiGuard)(100 - 599)。

comfort_amount

整数

为客户端安慰而每次传输发送的字节数 (字节)。

comfort_interval

整数

为客户端安慰而连续传输数据之间的间隔 (秒)。

domain_fronting

字符串

配置 HTTP 域名代理。

选项

  • "allow"

  • "block"

  • "monitor"

fortinet_bar

字符串

启用/禁用 HTML 内容上的 Fortinet bar。

选项

  • "enable"

  • "disable"

fortinet_bar_port

整数

Fortinet Bar 使用端口 (1 - 65535)。

h2c

字符串

启用/禁用 h2c HTTP 连接升级。

选项

  • "enable"

  • "disable"

http_policy

字符串

启用/禁用 HTTP 策略检查。

选项

  • "disable"

  • "enable"

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "clientcomfort"

  • "servercomfort"

  • "oversize"

  • "chunkedbypass"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

post_lang

列表 / 元素=字符串

用于将 HTTP POST 中的禁用词和 DLP 转换为 UTF-8 的字符集 ID 代码(最多 5 个字符集)。

选项

  • "jisx0201"

  • "jisx0208"

  • "jisx0212"

  • "gb2312"

  • "ksc5601-ex"

  • "euc-jp"

  • "sjis"

  • "iso2022-jp"

  • "iso2022-jp-1"

  • "iso2022-jp-2"

  • "euc-cn"

  • "ces-gbk"

  • "hz"

  • "ces-big5"

  • "euc-kr"

  • "iso2022-jp-3"

  • "iso8859-1"

  • "tis620"

  • "cp874"

  • "cp1252"

  • "cp1251"

proxy_after_tcp_handshake

字符串

在 TCP 三次握手建立后代理流量(而不是之前)。

选项

  • "enable"

  • "disable"

range_block

字符串

启用/禁用阻止部分下载。

选项

  • "disable"

  • "enable"

retry_count

整数

重试 HTTP 连接的次数 (0 - 100)。

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

stream_based_uncompressed_limit

整数

将以兆字节为单位扫描的最大基于流的未压缩数据大小。基于流的解压缩仅在某些情况下使用 (unlimited = 0)。

streaming_content_bypass

字符串

启用/禁用绕过流内容缓冲。

选项

  • "enable"

  • "disable"

strip_x_forwarded_for

字符串

启用/禁用剥离 HTTP X-Forwarded-For 头。

选项

  • "disable"

  • "enable"

switching_protocols

字符串

绕过扫描,或阻止尝试切换协议的连接。

选项

  • "bypass"

  • "block"

tcp_window_maximum

整数

最大动态 TCP 窗口大小。

tcp_window_minimum

整数

最小动态 TCP 窗口大小。

tcp_window_size

整数

设置 TCP 静态窗口大小。

tcp_window_type

字符串

为此协议使用的 TCP 窗口类型。

选项

  • "auto-tuning"

  • "system"

  • "static"

  • "dynamic"

tunnel_non_http

字符串

配置如何处理非 HTTP 流量,当为 HTTP 流量配置的配置文件接受非 HTTP 会话时。如果应用程序使用 HTTP 目标端口发送非 HTTP 流量,则可能发生这种情况。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

unknown_content_encoding

字符串

配置 FortiGate 设备对未知内容编码采取的操作。

选项

  • "block"

  • "inspect"

  • "bypass"

unknown_http_version

字符串

如何处理不符合 HTTP 0.9、1.0 或 1.1 的 HTTP 会话。

选项

  • "reject"

  • "tunnel"

  • "best-effort"

verify_dns_for_policy_matching

字符串

启用/禁用验证 DNS 以进行策略匹配。

选项

  • "enable"

  • "disable"

imap

字典

配置 IMAP 协议选项。

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "fragmail"

  • "oversize"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

proxy_after_tcp_handshake

字符串

在 TCP 三次握手建立后代理流量(而不是之前)。

选项

  • "enable"

  • "disable"

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

mail_signature

字典

配置邮件签名。

signature

字符串

要添加到外发电子邮件的电子邮件签名(如果签名包含空格,请用引号括起来)。

status

字符串

启用/禁用在 SMTP 电子邮件消息通过 FortiGate 时添加电子邮件签名。

选项

  • "disable"

  • "enable"

mapi

字典

配置 MAPI 协议选项。

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "fragmail"

  • "oversize"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

name

字符串 / 必需

名称。

nntp

字典

配置 NNTP 协议选项。

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "oversize"

  • "splice"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

proxy_after_tcp_handshake

字符串

在 TCP 三次握手建立后代理流量(而不是之前)。

选项

  • "enable"

  • "disable"

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

oversize_log

字符串

启用/禁用针对防病毒超大文件阻止的日志记录。

选项

  • "disable"

  • "enable"

pop3

字典

配置 POP3 协议选项。

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "fragmail"

  • "oversize"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

proxy_after_tcp_handshake

字符串

在 TCP 三次握手建立后代理流量(而不是之前)。

选项

  • "enable"

  • "disable"

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

replacemsg_group

字符串

要使用的替换消息组的名称。源系统.replacemsg-group.name。

rpc_over_http

字符串

启用/禁用检查通过 HTTP 的 RPC。

选项

  • "enable"

  • "disable"

smtp

字典

配置 SMTP 协议选项。

inspect_all

字符串

启用/禁用对协议的所有端口的检查。

选项

  • "enable"

  • "disable"

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "fragmail"

  • "oversize"

  • "splice"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

ports

列表 / 元素=整数

要扫描内容的端口 (1 - 65535)。

proxy_after_tcp_handshake

字符串

在 TCP 三次握手建立后代理流量(而不是之前)。

选项

  • "enable"

  • "disable"

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

server_busy

字符串

服务器不可用时启用/禁用 SMTP 服务器繁忙。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

status

字符串

启用/禁用此协议扫描的活动状态。

选项

  • "enable"

  • "disable"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

ssh

字典

配置 SFTP 和 SCP 协议选项。

comfort_amount

整数

为客户端安慰而每次传输发送的字节数 (字节)。

comfort_interval

整数

为客户端安慰而连续传输数据之间的间隔 (秒)。

options

列表 / 元素=字符串

可以应用于会话的一个或多个选项。

选项

  • "oversize"

  • "clientcomfort"

  • "servercomfort"

oversize_limit

整数

可以扫描的最大内存文件大小 (MB)。

scan_bzip2

字符串

启用/禁用扫描 BZip2 压缩文件。

选项

  • "enable"

  • "disable"

ssl_offloaded

字符串

由外部设备执行 SSL 解密和加密。

选项

  • "no"

  • "yes"

stream_based_uncompressed_limit

整数

将以兆字节为单位扫描的最大基于流的未压缩数据大小。基于流的解压缩仅在某些情况下使用 (unlimited = 0)。

tcp_window_maximum

整数

最大动态 TCP 窗口大小。

tcp_window_minimum

整数

最小动态 TCP 窗口大小。

tcp_window_size

整数

设置 TCP 静态窗口大小。

tcp_window_type

字符串

为此协议使用的 TCP 窗口类型。

选项

  • "auto-tuning"

  • "system"

  • "static"

  • "dynamic"

uncompressed_nest_limit

整数

可以解压缩和扫描的最大嵌套压缩级别 (2 - 100)。

uncompressed_oversize_limit

整数

可以扫描的最大内存未压缩文件大小 (MB)。

switching_protocols_log

字符串

启用/禁用 HTTP/HTTPS 切换协议的日志记录。

选项

  • "disable"

  • "enable"

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 protocol options.
  fortinet.fortios.fortios_firewall_profile_protocol_options:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_profile_protocol_options:
          cifs:
              domain_controller: "<your_own_value> (source user.domain-controller.name credential-store.domain-controller.server-name)"
              options: "oversize"
              oversize_limit: "10"
              ports: "<your_own_value>"
              scan_bzip2: "enable"
              server_credential_type: "none"
              server_keytab:
                  -
                      keytab: "<your_own_value>"
                      principal: "<your_own_value>"
              status: "enable"
              tcp_window_maximum: "8388608"
              tcp_window_minimum: "131072"
              tcp_window_size: "262144"
              tcp_window_type: "auto-tuning"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          comment: "Optional comments."
          dns:
              ports: "<your_own_value>"
              status: "enable"
          ftp:
              comfort_amount: "1"
              comfort_interval: "10"
              explicit_ftp_tls: "enable"
              inspect_all: "enable"
              options: "clientcomfort"
              oversize_limit: "10"
              ports: "<your_own_value>"
              scan_bzip2: "enable"
              ssl_offloaded: "no"
              status: "enable"
              stream_based_uncompressed_limit: "0"
              tcp_window_maximum: "8388608"
              tcp_window_minimum: "131072"
              tcp_window_size: "262144"
              tcp_window_type: "auto-tuning"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          http:
              address_ip_rating: "enable"
              block_page_status_code: "403"
              comfort_amount: "1"
              comfort_interval: "10"
              domain_fronting: "allow"
              fortinet_bar: "enable"
              fortinet_bar_port: "32767"
              h2c: "enable"
              http_policy: "disable"
              inspect_all: "enable"
              options: "clientcomfort"
              oversize_limit: "10"
              ports: "<your_own_value>"
              post_lang: "jisx0201"
              proxy_after_tcp_handshake: "enable"
              range_block: "disable"
              retry_count: "0"
              scan_bzip2: "enable"
              ssl_offloaded: "no"
              status: "enable"
              stream_based_uncompressed_limit: "0"
              streaming_content_bypass: "enable"
              strip_x_forwarded_for: "disable"
              switching_protocols: "bypass"
              tcp_window_maximum: "8388608"
              tcp_window_minimum: "131072"
              tcp_window_size: "262144"
              tcp_window_type: "auto-tuning"
              tunnel_non_http: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
              unknown_content_encoding: "block"
              unknown_http_version: "reject"
              verify_dns_for_policy_matching: "enable"
          imap:
              inspect_all: "enable"
              options: "fragmail"
              oversize_limit: "10"
              ports: "<your_own_value>"
              proxy_after_tcp_handshake: "enable"
              scan_bzip2: "enable"
              ssl_offloaded: "no"
              status: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          mail_signature:
              signature: "<your_own_value>"
              status: "disable"
          mapi:
              options: "fragmail"
              oversize_limit: "10"
              ports: "<your_own_value>"
              scan_bzip2: "enable"
              status: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          name: "default_name_99"
          nntp:
              inspect_all: "enable"
              options: "oversize"
              oversize_limit: "10"
              ports: "<your_own_value>"
              proxy_after_tcp_handshake: "enable"
              scan_bzip2: "enable"
              status: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          oversize_log: "disable"
          pop3:
              inspect_all: "enable"
              options: "fragmail"
              oversize_limit: "10"
              ports: "<your_own_value>"
              proxy_after_tcp_handshake: "enable"
              scan_bzip2: "enable"
              ssl_offloaded: "no"
              status: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
          rpc_over_http: "enable"
          smtp:
              inspect_all: "enable"
              options: "fragmail"
              oversize_limit: "10"
              ports: "<your_own_value>"
              proxy_after_tcp_handshake: "enable"
              scan_bzip2: "enable"
              server_busy: "enable"
              ssl_offloaded: "no"
              status: "enable"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          ssh:
              comfort_amount: "1"
              comfort_interval: "10"
              options: "oversize"
              oversize_limit: "10"
              scan_bzip2: "enable"
              ssl_offloaded: "no"
              stream_based_uncompressed_limit: "0"
              tcp_window_maximum: "8388608"
              tcp_window_minimum: "131072"
              tcp_window_size: "262144"
              tcp_window_type: "auto-tuning"
              uncompressed_nest_limit: "12"
              uncompressed_oversize_limit: "10"
          switching_protocols_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"

作者

  • 郑凌 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆宏斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)