fortinet.fortimanager.fmgr_ips_baseline_sensor 模块 – 配置 IPS 传感器。

注意

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

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

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

要在剧本中使用它,请指定:fortinet.fortimanager.fmgr_ips_baseline_sensor

fortinet.fortimanager 2.2.0 中的新增功能

概要

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

  • 示例包括所有参数和值,在使用前需要将其调整为数据源。

参数

参数

注释

access_token

字符串

用于在不使用用户名和密码的情况下访问 FortiManager 的令牌。

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块架构与 FortiManager API 结构不同时设置为 True,模块继续执行而不验证参数。

选项

  • false ←(默认)

  • true

enable_log

布尔值

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

选项

  • false ←(默认)

  • true

forticloud_access_token

字符串

使用 forticloud API 访问令牌验证 Ansible 客户端。

ips_baseline_sensor

字典

设置的顶层参数。

block_malicious_url

别名:block-malicious-url

字符串

启用/禁用恶意 URL 阻止。

选项

  • "disable"

  • "enable"

comment

字符串

注释。

entries

列表 / 元素=字典

条目。

action

字符串

在检测到签名的情况下对流量采取的操作。

选项

  • "pass"

  • "block"

  • "reset"

  • "default"

application

任何

(列表)要保护的应用程序。

cve

任何

(列表)要添加到传感器的签名的 CVE ID 列表

exempt_ip

别名:exempt-ip

列表 / 元素=字典

豁免 IP。

dst_ip

别名:dst-ip

字符串

目标 IP 地址和网络掩码。

id

整数

豁免 IP ID。

src_ip

别名:src-ip

字符串

源 IP 地址和网络掩码。

id

整数

IPS 数据库中的规则 ID

location

任何

(列表)保护客户端或服务器流量。

log

字符串

启用/禁用包含在过滤器中的签名的日志记录。

选项

  • "disable"

  • "enable"

log_attack_context

别名:log-attack-context

字符串

启用/禁用攻击上下文的日志记录

选项

  • "disable"

  • "enable"

log_packet

别名:log-packet

字符串

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

选项

  • "disable"

  • "enable"

os

任何

(列表)要保护的操作系统。

protocol

任何

(列表)要检查的协议。

quarantine

字符串

隔离方法。

选项

  • "none"

  • "attacker"

  • "both"

  • "interface"

quarantine_expiry

别名:quarantine-expiry

字符串

隔离的持续时间。

quarantine_log

别名:quarantine-log

字符串

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

选项

  • "disable"

  • "enable"

rate_count

别名:rate-count

整数

速率的计数。

rate_duration

别名:rate-duration

整数

持续时间

rate_mode

别名:rate-mode

字符串

速率限制模式。

选项

  • "periodical"

  • "continuous"

rate_track

别名:rate-track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

  • "dhcp-client-mac"

  • "dns-domain"

rule

字符串

标识要添加到传感器的预定义或自定义 IPS 签名。

severity

任何

(列表)签名的相对严重性,从 info 到 critical。

status

字符串

包含在过滤器中的签名的状态。

选项

  • "disable"

  • "enable"

  • "default"

tags

字符串

标签。

extended_log

别名:extended-log

字符串

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

选项

  • "disable"

  • "enable"

filter

列表 / 元素=字典

过滤器。

action

字符串

选定规则的操作。

选项

  • "pass"

  • "block"

  • "default"

  • "reset"

application

任何

(列表)易受攻击的应用程序过滤器。

application_real

别名:application(real)

字符串

应用程序

location

任何

(列表)漏洞位置过滤器。

location_real

别名:location(real)

字符串

位置

log

字符串

启用/禁用选定规则的日志记录。

选项

  • "disable"

  • "enable"

  • "default"

log_packet

别名:log-packet

字符串

启用/禁用选定规则的数据包日志记录。

选项

  • "disable"

  • "enable"

  • "default"

name

字符串

过滤器名称。

os

任何

(列表)易受攻击的操作系统过滤器。

os_real

别名:os(real)

字符串

操作系统

protocol

任何

(列表)易受攻击的协议过滤器。

protocol_real

别名:protocol(real)

字符串

协议

quarantine

字符串

隔离 IP 或接口。

选项

  • "none"

  • "attacker"

  • "both"

  • "interface"

quarantine_expiry

别名:quarantine-expiry

整数

隔离的持续时间(分钟)。

quarantine_log

别名:quarantine-log

字符串

启用/禁用选定隔离的日志记录。

选项

  • "disable"

  • "enable"

severity

任何

(列表)漏洞严重性过滤器。

severity_real

别名:severity(real)

字符串

严重性

status

字符串

选定规则状态。

选项

  • "disable"

  • "enable"

  • "default"

log

字符串

日志。

选项

  • "disable"

  • "enable"

name

字符串 / 必需

传感器名称。

override

列表 / 元素=字典

覆盖。

action

字符串

覆盖规则的操作。

选项

  • "pass"

  • "block"

  • "reset"

exempt_ip

别名:exempt-ip

列表 / 元素=字典

豁免 IP。

dst_ip

别名:dst-ip

字符串

目标 IP 地址和网络掩码。

id

整数

豁免 IP ID。

src_ip

别名:src-ip

字符串

源 IP 地址和网络掩码。

log

字符串

启用/禁用日志记录。

选项

  • "disable"

  • "enable"

log_packet

别名:log-packet

字符串

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

选项

  • "disable"

  • "enable"

quarantine

字符串

隔离 IP 或接口。

选项

  • "none"

  • "attacker"

  • "both"

  • "interface"

quarantine_expiry

别名:quarantine-expiry

整数

隔离的持续时间(分钟)。

quarantine_log

别名:quarantine-log

字符串

启用/禁用选定隔离的日志记录。

选项

  • "disable"

  • "enable"

rule_id

别名: rule-id

整数

覆盖规则 ID。

status

字符串

启用/禁用覆盖规则的状态。

选项

  • "disable"

  • "enable"

replacemsg_group

别名: replacemsg-group

字符串

替换消息组。

scan_botnet_connections

别名: scan-botnet-connections

字符串

阻止或监控到僵尸网络服务器的连接,或禁用僵尸网络扫描。

选项

  • "disable"

  • "block"

  • "monitor"

proposed_method

字符串

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

选项

  • "update"

  • "set"

  • "add"

rc_failed

list / elements=integer

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

rc_succeeded

list / elements=integer

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

state

字符串 / 必需

用于创建、更新或删除对象的指令。

选项

  • "present"

  • "absent"

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 可以帮助完成工作。

  • 要创建或更新对象,请使用 state present 指令。

  • 要删除对象,请使用 state absent 指令。

  • 通常,当返回非零 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 IPS sensor.
      fortinet.fortimanager.fmgr_ips_baseline_sensor:
        # 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>
        state: present # <value in [present, absent]>
        ips_baseline_sensor:
          block_malicious_url: <value in [disable, enable]>
          comment: <string>
          entries:
            -
              action: <value in [pass, block, reset, ...]>
              application: <list or string>
              cve: <list or string>
              exempt_ip:
                -
                  dst_ip: <string>
                  id: <integer>
                  src_ip: <string>
              id: <integer>
              location: <list or string>
              log: <value in [disable, enable]>
              log_attack_context: <value in [disable, enable]>
              log_packet: <value in [disable, enable]>
              os: <list or string>
              protocol: <list or string>
              quarantine: <value in [none, attacker, both, ...]>
              quarantine_expiry: <string>
              quarantine_log: <value in [disable, enable]>
              rate_count: <integer>
              rate_duration: <integer>
              rate_mode: <value in [periodical, continuous]>
              rate_track: <value in [none, src-ip, dest-ip, ...]>
              rule: <string>
              severity: <list or string>
              status: <value in [disable, enable, default]>
              tags: <string>
          extended_log: <value in [disable, enable]>
          filter:
            -
              action: <value in [pass, block, default, ...]>
              application: <list or string>
              application_real: <string>
              location: <list or string>
              location_real: <string>
              log: <value in [disable, enable, default]>
              log_packet: <value in [disable, enable, default]>
              name: <string>
              os: <list or string>
              os_real: <string>
              protocol: <list or string>
              protocol_real: <string>
              quarantine: <value in [none, attacker, both, ...]>
              quarantine_expiry: <integer>
              quarantine_log: <value in [disable, enable]>
              severity: <list or string>
              severity_real: <string>
              status: <value in [disable, enable, default]>
          log: <value in [disable, enable]>
          name: <string>
          override:
            -
              action: <value in [pass, block, reset]>
              exempt_ip:
                -
                  dst_ip: <string>
                  id: <integer>
                  src_ip: <string>
              log: <value in [disable, enable]>
              log_packet: <value in [disable, enable]>
              quarantine: <value in [none, attacker, both, ...]>
              quarantine_expiry: <integer>
              quarantine_log: <value in [disable, enable]>
              rule_id: <integer>
              status: <value in [disable, enable]>
          replacemsg_group: <string>
          scan_botnet_connections: <value in [disable, block, monitor]>

返回值

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

描述

meta

字典

请求的结果。

返回: 总是

request_url

字符串

请求的完整 URL。

返回: 总是

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 总是

示例: 0

response_data

list / elements=string

API 响应。

返回: 总是

response_message

字符串

API 响应的描述性消息。

返回: 总是

示例: "OK."

system_information

字典

目标系统的信息。

返回: 总是

rc

整数

请求的状态。

返回: 总是

示例: 0

version_check_warning

list / elements=string

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

返回: 复杂

作者

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)