您可以使用警示规则语法,以定义在事件与筛选器匹配时 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 匹配的值。 多个匹配表达式以逻辑运算符
AND
、OR
和NOT
分隔。 - 操作
-
要为对象执行的一处或多处修改。
操作采用以下格式:
action : target = value
操作由三个部分组成:部件名称 描述 action 要执行的操作(请参见支持的操作)。action 及其 target 以冒号 ( :
) 分隔。target 支持的目标。 value 要应用于目标的可选值。 多个操作以逗号 (
,
) 分隔,并按定义它们的相同顺序进行应用。
属性条目
- 源
-
源属性 描述 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_family
或lastline_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 |
将匹配事件结果降级为不同的模式。 支持的目标: 允许的值:“INFO”或“TEST”。 |
impact |
设置事件影响的下限或上限。 支持的目标:
允许的值:1-100 之间的整数。 |
suppress |
禁止匹配事件上的所有威胁。这导致将其计为误报,影响为零 (0),这实际上删除了该事件。 支持的目标: 允许的值:无。 |
tag |
为匹配的事件分配用户定义的标记。 支持的目标: 允许的值:有效字符串。 |