fortinet.fortimanager.fmgr_firewall_profileprotocoloptions_http 模块 – 配置 HTTP 协议选项。

注意

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

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

要安装它,请使用: ansible-galaxy collection install fortinet.fortimanager

要在 playbook 中使用它,请指定: fortinet.fortimanager.fmgr_firewall_profileprotocoloptions_http

fortinet.fortimanager 2.0.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包括所有需要在使用前根据数据源调整的参数和值。

参数

参数

注释

access_token

字符串

无需使用用户名和密码即可访问 FortiManager 的令牌。

adom

字符串 / 必填

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块模式与 FortiManager API 结构差异时设置为 True,模块将继续执行而无需验证参数。

选项

  • false ← (默认)

  • true

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

firewall_profileprotocoloptions_http

字典

设置的顶级参数。

address_ip_rating

别名:address-ip-rating

字符串

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

选项

  • "disable"

  • "enable"

block_page_status_code

别名:block-page-status-code

整数

被阻止的 HTTP 页面的返回代码编号

comfort_amount

别名:comfort-amount

整数

为客户端安慰而发送的传输数据量

comfort_interval

别名:comfort-interval

整数

开始时间或上次传输与下一次客户端安慰数据传输之间的时间段

domain_fronting

别名:domain-fronting

字符串

配置 HTTP 域前端

选项

  • "block"

  • "monitor"

  • "allow"

fortinet_bar

别名:fortinet-bar

字符串

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

选项

  • "disable"

  • "enable"

fortinet_bar_port

别名:fortinet-bar-port

整数

Fortinet Bar 使用的端口

h2c

字符串

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

选项

  • "disable"

  • "enable"

http_policy

别名:http-policy

字符串

启用/禁用 HTTP 策略检查。

选项

  • "disable"

  • "enable"

inspect_all

别名:inspect-all

字符串

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

选项

  • "disable"

  • "enable"

options

列表 / 元素=字符串

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

选项

  • "oversize"

  • "chunkedbypass"

  • "clientcomfort"

  • "no-content-summary"

  • "servercomfort"

oversize_limit

别名:oversize-limit

整数

可以扫描的最大内存文件大小

ports

任意

(列表) 要扫描内容的端口

post_lang

别名:post-lang

列表 / 元素=字符串

用于将 HTTP POST 中的禁用词和 DLP 转换为 UTF-8 的字符集的 ID 代码

选项

  • "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

别名:proxy-after-tcp-handshake

字符串

在建立 TCP 三次握手后代理流量

选项

  • "disable"

  • "enable"

range_block

别名:range-block

字符串

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

选项

  • "disable"

  • "enable"

retry_count

别名:retry-count

整数

重试 HTTP 连接的尝试次数

scan_bzip2

别名:scan-bzip2

字符串

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

选项

  • "disable"

  • "enable"

ssl_offloaded

别名:ssl-offloaded

字符串

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

选项

  • "no"

  • "yes"

status

字符串

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

选项

  • "disable"

  • "enable"

stream_based_uncompressed_limit

别名:stream-based-uncompressed-limit

整数

将要扫描的基于流的未压缩数据的最大大小

streaming_content_bypass

别名:streaming-content-bypass

字符串

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

选项

  • "disable"

  • "enable"

strip_x_forwarded_for

别名:strip-x-forwarded-for

字符串

启用/禁用去除HTTP X-Forwarded-For标头。

选项

  • "disable"

  • "enable"

switching_protocols

别名:switching-protocols

字符串

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

选项

  • "bypass"

  • "block"

tcp_window_maximum

别名:tcp-window-maximum

整数

最大动态TCP窗口大小

tcp_window_minimum

别名:tcp-window-minimum

整数

最小动态TCP窗口大小

tcp_window_size

别名:tcp-window-size

整数

设置TCP静态窗口大小

tcp_window_type

别名:tcp-window-type

字符串

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

选项

  • "system"

  • "static"

  • "dynamic"

  • "auto-tuning"

tunnel_non_http

别名:tunnel-non-http

字符串

配置当为HTTP流量配置的配置文件接受非HTTP会话时如何处理非HTTP流量。

选项

  • "disable"

  • "enable"

uncompressed_nest_limit

别名:uncompressed-nest-limit

整数

可以解压缩和扫描的最大嵌套压缩级别

uncompressed_oversize_limit

别名:uncompressed-oversize-limit

整数

可以扫描的最大内存中未压缩文件大小

unknown_content_encoding

别名:unknown-content-encoding

字符串

配置FortiGate单元对未知内容编码将采取的操作。

选项

  • "block"

  • "inspect"

  • "bypass"

unknown_http_version

别名:unknown-http-version

字符串

如何处理不符合HTTP 0.9的HTTP会话。

选项

  • "best-effort"

  • "reject"

  • "tunnel"

verify_dns_for_policy_matching

别名:verify-dns-for-policy-matching

字符串

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

选项

  • "disable"

  • "enable"

forticloud_access_token

字符串

使用FortiCloud API访问令牌对Ansible客户端进行身份验证。

profile-protocol-options

字符串

已弃用,请使用“profile_protocol_options”

profile_protocol_options

字符串

请求URL中的参数(profile-protocol-options)。

proposed_method

字符串

底层Json RPC请求的覆盖方法。

选项

  • "update"

  • "set"

  • "add"

rc_failed

列表 / 元素=整数

将被覆盖的失败条件的RC代码列表。

rc_succeeded

列表 / 元素=整数

将被覆盖的成功条件的RC代码列表。

workspace_locking_adom

字符串

在工作区模式下运行FortiManager时要锁定的ADOM,值可以是global和其他包括root。

workspace_locking_timeout

整数

等待其他用户释放工作区锁的最大时间(秒)。

默认值: 300

备注

注意

  • 从2.4.0版本开始,所有输入参数都使用下划线命名约定(snake_case)。请将诸如“var-name”之类的参数更改为“var_name”。旧的参数名称仍然可用,但您将收到弃用警告。您可以通过在ansible.cfg中设置deprecation_warnings=False来忽略此警告。

  • 此FortiManager模块支持在工作区锁定模式下运行,顶级参数workspace_locking_adom和workspace_locking_timeout有助于完成此工作。

  • 通常,当返回非零RC时,运行一个模块可能会失败。您还可以使用参数rc_failed和rc_succeeded覆盖失败或成功的条件。

示例

- name: Example playbook (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure HTTP protocol options.
      fortinet.fortimanager.fmgr_firewall_profileprotocoloptions_http:
        # 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>
        profile_protocol_options: <your own value>
        firewall_profileprotocoloptions_http:
          block_page_status_code: <integer>
          comfort_amount: <integer>
          comfort_interval: <integer>
          fortinet_bar: <value in [disable, enable]>
          fortinet_bar_port: <integer>
          http_policy: <value in [disable, enable]>
          inspect_all: <value in [disable, enable]>
          options:
            - "oversize"
            - "chunkedbypass"
            - "clientcomfort"
            - "no-content-summary"
            - "servercomfort"
          oversize_limit: <integer>
          ports: <list or integer>
          post_lang:
            - "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"
          range_block: <value in [disable, enable]>
          retry_count: <integer>
          scan_bzip2: <value in [disable, enable]>
          status: <value in [disable, enable]>
          streaming_content_bypass: <value in [disable, enable]>
          strip_x_forwarded_for: <value in [disable, enable]>
          switching_protocols: <value in [bypass, block]>
          uncompressed_nest_limit: <integer>
          uncompressed_oversize_limit: <integer>
          tcp_window_maximum: <integer>
          tcp_window_minimum: <integer>
          tcp_window_size: <integer>
          tcp_window_type: <value in [system, static, dynamic, ...]>
          ssl_offloaded: <value in [no, yes]>
          stream_based_uncompressed_limit: <integer>
          proxy_after_tcp_handshake: <value in [disable, enable]>
          tunnel_non_http: <value in [disable, enable]>
          unknown_http_version: <value in [best-effort, reject, tunnel]>
          address_ip_rating: <value in [disable, enable]>
          h2c: <value in [disable, enable]>
          verify_dns_for_policy_matching: <value in [disable, enable]>
          unknown_content_encoding: <value in [block, inspect, bypass]>
          domain_fronting: <value in [block, monitor, allow]>

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

meta

字典

请求的结果。

返回值:始终

request_url

字符串

请求的完整URL。

返回值:始终

示例: "/sys/login/user"

response_code

整数

API请求的状态。

返回值:始终

示例: 0

response_data

列表 / 元素=字符串

API响应。

返回值:始终

response_message

字符串

API响应的描述性消息。

返回值:始终

示例: "OK."

system_information

字典

目标系统的信息。

返回值:始终

rc

整数

请求的状态。

返回值:始终

示例: 0

version_check_warning

列表 / 元素=字符串

如果剧本中使用的参数不受当前FortiManager版本支持,则会发出警告。

返回值:复杂

作者

  • 杜欣伟 (@dux-fortinet)

  • 李兴 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑林 (@chillancezen)

  • 沈峰 (@fshen01)

  • 卢洪斌 (@fgtdev-hblu)