fortinet.fortios.fortios_ips_sensor 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 IPS 传感器。

注意

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

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

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

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

fortinet.fortios 2.0.0 中的新增功能

概要

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

要求

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

  • ansible>=2.15

参数

参数

注释

access_token

字符串

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

enable_log

布尔值

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

选项

  • false ← (默认)

  • true

ips_sensor

字典

配置 IPS 传感器。

block_malicious_url

字符串

启用/禁用恶意 URL 阻止。

选项

  • "disable"

  • "enable"

comment

字符串

注释。

entries

列表 / 元素=字典

IPS 传感器过滤器。

action

字符串

对检测到特征码的流量采取的操作。

选项

  • "pass"

  • "block"

  • "reset"

  • "default"

application

列表 / 元素=字符串

要保护的操作系统。对每个应用程序使用 all,对未列出的应用程序使用 other。

cve

列表 / 元素=字典

要添加到传感器的特征码的 CVE ID 列表。

cve_entry

字符串 / 必需

CVE ID 或 CVE 通配符。

default_action

字符串

特征码默认操作过滤器。

选项

  • "all"

  • "pass"

  • "block"

default_status

字符串

特征码默认状态过滤器。

选项

  • "all"

  • "enable"

  • "disable"

exempt_ip

列表 / 元素=字典

来自选定源或目标 IP 地址的流量不受此特征码的影响。

dst_ip

字符串

目标 IP 地址和网络掩码(适用于与特征码匹配的数据包)。

id

整数 / 必需

豁免 IP ID。请参见 <a href=’#notes’>注释</a>。

src_ip

字符串

源 IP 地址和网络掩码(适用于与特征码匹配的数据包)。

id

整数 / 必需

IPS 数据库中的规则 ID (0 - 4294967295)。请参见 <a href=’#notes’>注释</a>。

last_modified

字符串

按特征码上次修改日期筛选。格式:before <date>,after <date>,between <start-date> <end-date>。

location

列表 / 元素=字符串

保护客户端或服务器流量。

log

字符串

启用/禁用包含在过滤器中的特征码的日志记录。

选项

  • "disable"

  • "enable"

log_attack_context

字符串

启用/禁用攻击上下文的日志记录:URL 缓冲区、标头缓冲区、正文缓冲区、数据包缓冲区。

选项

  • "disable"

  • "enable"

log_packet

字符串

启用/禁用数据包日志记录。启用后可保存触发过滤器的分组。您可以以 pcap 格式下载这些分组以用于诊断。

选项

  • "disable"

  • "enable"

os

列表 / 元素=字符串

要保护的操作系统。对每个操作系统使用 all,对未列出的操作系统使用 other。

protocol

列表 / 元素=字符串

要检查的协议。对每个协议使用 all,对未列出的协议使用 other。

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"

rule

列表 / 元素=字典

标识要添加到传感器的预定义或自定义 IPS 特征码。

id

整数 / 必需

规则 IPS。请参见 <a href=’#notes’>注释</a>。

severity

列表 / 元素=字符串

特征码的相对严重程度,从 info 到 critical。由特征码生成的日志消息包括严重程度。

status

字符串

过滤器中包含的特征码的状态。只有状态为 enable 的过滤器才会被使用。

选项

  • "disable"

  • "enable"

  • "default"

vuln_type

列表 / 元素=字典

要按其筛选的特征码漏洞类型列表。

id

整数 / 必需

漏洞类型 ID。请参见 <a href=’#notes’>注释</a>。

extended_log

字符串

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

选项

  • "enable"

  • "disable"

filter

列表 / 元素=字典

IPS 传感器过滤器。

action

字符串

所选规则的操作。

选项

  • "pass"

  • "block"

  • "reset"

  • "default"

application

字符串

易受攻击的应用程序过滤器。

location

字符串

漏洞位置过滤器。

log

字符串

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

选项

  • "disable"

  • "enable"

log_packet

字符串

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

选项

  • "disable"

  • "enable"

name

字符串 / 必需

过滤器名称。

os

字符串

易受攻击的操作系统过滤器。

protocol

字符串

易受攻击的协议过滤器。

quarantine

字符串

隔离 IP 或接口。

选项

  • "none"

  • "attacker"

quarantine_expiry

整数

隔离持续时间(分钟)。

quarantine_log

字符串

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

选项

  • "disable"

  • "enable"

severity

字符串

漏洞严重性过滤器。

status

字符串

所选规则状态。

选项

  • "disable"

  • "enable"

  • "default"

name

字符串 / 必需

传感器名称。

override

列表 / 元素=字典

IPS 覆盖规则。

action

字符串

覆盖规则的操作。

选项

  • "pass"

  • "block"

  • "reset"

exempt_ip

列表 / 元素=字典

豁免的 IP。

dst_ip

字符串

目标 IP 地址和网络掩码。

id

整数 / 必需

豁免 IP ID。请参见 <a href=’#notes’>注释</a>。

src_ip

字符串

源 IP 地址和网络掩码。

log

字符串

启用/禁用日志记录。

选项

  • "disable"

  • "enable"

log_packet

字符串

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

选项

  • "disable"

  • "enable"

quarantine

字符串

隔离 IP 或接口。

选项

  • "none"

  • "attacker"

quarantine_expiry

整数

隔离持续时间(分钟)。

quarantine_log

字符串

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

选项

  • "disable"

  • "enable"

rule_id

整数 / 必需

覆盖规则 ID。请参见 <a href=’#notes’>注释</a>。

status

字符串

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

选项

  • "disable"

  • "enable"

replacemsg_group

字符串

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

scan_botnet_connections

字符串

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

选项

  • "disable"

  • "block"

  • "monitor"

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 IPS sensor.
  fortinet.fortios.fortios_ips_sensor:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      ips_sensor:
          block_malicious_url: "disable"
          comment: "Comment."
          entries:
              -
                  action: "pass"
                  application: "<your_own_value>"
                  cve:
                      -
                          cve_entry: "<your_own_value>"
                  default_action: "all"
                  default_status: "all"
                  exempt_ip:
                      -
                          dst_ip: "<your_own_value>"
                          id: "14"
                          src_ip: "<your_own_value>"
                  id: "16"
                  last_modified: "<your_own_value>"
                  location: "<your_own_value>"
                  log: "disable"
                  log_attack_context: "disable"
                  log_packet: "disable"
                  os: "<your_own_value>"
                  protocol: "<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"
                  rule:
                      -
                          id: "32"
                  severity: "<your_own_value>"
                  status: "disable"
                  vuln_type:
                      -
                          id: "36"
          extended_log: "enable"
          filter:
              -
                  action: "pass"
                  application: "<your_own_value>"
                  location: "<your_own_value>"
                  log: "disable"
                  log_packet: "disable"
                  name: "default_name_44"
                  os: "<your_own_value>"
                  protocol: "<your_own_value>"
                  quarantine: "none"
                  quarantine_expiry: "1073741823"
                  quarantine_log: "disable"
                  severity: "<your_own_value>"
                  status: "disable"
          name: "default_name_52"
          override:
              -
                  action: "pass"
                  exempt_ip:
                      -
                          dst_ip: "<your_own_value>"
                          id: "57"
                          src_ip: "<your_own_value>"
                  log: "disable"
                  log_packet: "disable"
                  quarantine: "none"
                  quarantine_expiry: "1073741823"
                  quarantine_log: "disable"
                  rule_id: "<you_own_value>"
                  status: "disable"
          replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
          scan_botnet_connections: "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)