您可以使用警示规则语法,以定义在事件与筛选器匹配时 NSX Network Detection and Response 必须执行的操作。

警示规则由两个部分组成:匹配表达式和操作。

匹配表达式

表达对象属性上的条件的子句组合。

匹配表达式采用以下格式:object_type . attribute_type: [relation]value

匹配表达式由以下四部分组成。
部件名称 描述
object_type 要匹配的对象类型。支持以下记录类型:
  • network_event

对象类型及其属性以圆点 (.) 分隔。

attribute_type

要匹配的属性(请参见属性条目)。

object_type.attribute_type 与 [relation] 和 value 之间以冒号 (:) 分隔。

[relation]

对象及其属性与要匹配的值之间的关系。如果未指定关系,则默认为相等。支持的关系类型包括:

  • 相等 (:)

  • 大于或等于(>>=

  • 小于或等于(<<=

value 要与入站事件的 object_type.attribute_type 匹配的值。

多个匹配表达式以逻辑运算符 ANDORNOT 分隔。

操作

要为对象执行的一处或多处修改。

操作采用以下格式:action : target = value

操作由三个部分组成:
部件名称 描述
action 要执行的操作(请参见支持的操作)。action 及其 target 以冒号 (:) 分隔。
target 支持的目标。
value 要应用于目标的可选值。

多个操作以逗号 (,) 分隔,并按定义它们的相同顺序进行应用。

属性条目

以下列表介绍了在创建或更新新筛选器时可以使用的不同属性条目。属性划分为以下 5 类。
源属性 描述
client_ip

与 IP 地址或 IP 地址范围匹配。地址值必须完全匹配。

(network_event.client_ip: 142.42.1.6/24)
other_host_hostname

与事件关联的其他主机的主机名相匹配。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

(network_event.other_host_hostname: host.example.com)
other_host_in_homenet

如果为 true,则在与事件关联的其他主机的 IP 地址位于本地网络时匹配。需要提供一个布尔值。

(network_event.other_host_in_homenet: false)
other_host_ip

与 IP 地址或 IP 地址范围匹配。地址值必须完全匹配。

(network_event.other_host_ip: 10.10.4.2)
other_host_tag

匹配主机标记。选择现有主机标记。

(network_event.other_host_tag: tag)
relevant_host_in_homenet

如果为 true,则在与事件关联的相关主机的 IP 地址位于本地网络时匹配。需要提供一个布尔值。

(network_event.relevant_host_in_homenet: true)
relevant_host_ip

与 IP 地址或 IP 地址范围匹配。地址值必须完全匹配。

(network_event.relevant_host_ip: 42.6.7.0/16)
relevant_host_tag

匹配主机标记。选择现有主机标记。

(network_event.relevant_host_tag: tag)
relevant_host_whitelisted

匹配静默的源 IP 地址。需要提供一个布尔值。

(network_event.relevant_host_whitelisted: true)
server_ip

与 IP 地址或 IP 地址范围匹配。地址值必须完全匹配。

(network_event.server_ip: 12.6.6.6)
server_port

与端口号匹配。执行整数比较:相等、不相等、大于、小于等。

(network_event.server_port: 7777)
transport_protocol

匹配“TCP”或“UDP”。

(network_event.transport_protocol: UDP)

URL
URL 属性 描述
full_url

匹配事件中的至少一个 URL。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

例如,必须转义 (\?) 查询字符串字符 ?

(network_event.full_url: https://www.example.com/resource/path\?r=start&v=cK5G8fPmWeA)
normalized_url

匹配事件中的至少一个规范化 URL(不包含查询字符串的 URL)。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

(network_event.normalized_url: https://www.example.com/resource/path/)
resource_path 事件中至少匹配一个 URL 资源路径。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

检测
检测属性 描述
custom_ids_rule_id

匹配 IDS 规则的 ID。数值必须完全匹配。

(network_event.custom_ids_rule_id: 987654321)
detector

与检测到事件的模块的名称/唯一标识符匹配。字符串值必须完全匹配。

(network_event.detector: llrules:1532130206460)
event_outcome

匹配“DETECTION”或“INFO”。

(network_event.event_outcome: DETECTION)
event_type

匹配“BINARYDOWNLOAD”、“DNS”、“DNSANOMALY”、“DYNAMICIP”、“HTTPANOMALY”、“IDS”、“IP”、“LLANTARULE”、“NETFLOW”、“NETFLOWANOMALY”、“NETWORK”、“TLSANOMALY”或“URL”之一。

(network_event.event_type: IDS)
llanta_rule_uuid

与系统规则的 UUID 匹配。数值必须完全匹配。

(network_event.llanta_rule_uuid: b579caeec719415cb04f925f8f187cb0)
operation

匹配“BLOCK”、“INFO”、“LOG”或“TEST”之一。

(network_event.operation: BLOCK)
threat

与定义威胁的有效字符串匹配。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

(network_event.threat: Torn RAT)
threat_class

匹配威胁类别。字符串值必须完全匹配。

(network_event.threat_class: Malicious File Execution)

文件
文件属性 描述
av_class

匹配至少一个 av_class 分析标记。字符串值必须完全匹配。

(network_event.av_class: exploit)
file_category

匹配支持的文件类别之一。字符串值必须完全匹配。

(network_event.file_category: Java)
file_md5

匹配有效的 MD5 总和。

(network_event.file_md5: bb4f64ddfb8704d2bf69b0216be7f837)
file_sha1

与有效的 SHA1 总和匹配。

(network_event.file_sha1: c3e266ede7f6fec7a021a4ae0edf248848d5ae06)
file_size

匹配文件大小(以字节为单位)。它必须是有效的整数。执行整数比较:相等、不相等、大于、小于等。

(network_event.file_size: > 1042249837)
file_type

与定义文件类型的有效字符串匹配。支持通配符比较:* 用于多个字符,? 用于单个字符。您必须转义 (\) 通配符以匹配 *? 字面值。

(network_event.file_type: ?xecutable)
malware

匹配至少一个 av_familylastline_malware 分析标记。字符串值必须完全匹配。

(network_event.malware: emotet)
malware_activity

至少匹配一个活动分析标记。字符串值必须完全匹配。

(network_event.malware_activity: Execution: Spawning Powershell with too many parameters)

其他
其他属性名称 描述
custom_tag

匹配分配给事件的用户定义的标记。字符串值必须完全匹配。

(network_event.custom_tag: tagged_event)

支持的操作

以下是您在定义规则时可以使用的操作。
操作名称 描述
demote 将匹配事件结果降级为不同的模式。

支持的目标:outcome

允许的值:“INFO”或“TEST”。

impact 设置事件影响的下限或上限。

支持的目标:

  • impact:将下限和上限设置为相同的值。
  • max_impact:在 impact 上设置上限。小于或等于该值。

  • min_impact:在 impact 上设置下限。大于或等于该值。

允许的值:1-100 之间的整数。

suppress 禁止匹配事件上的所有威胁。这导致将其计为误报,影响为零 (0),这实际上删除了该事件。

支持的目标:network_event

允许的值:无。

tag 为匹配的事件分配用户定义的标记。

支持的目标:network_event

允许的值:有效字符串。