MS Sentinel - KQL - 使用特定表中的 IP 地址检查监视列表中的 IP 范围

问题描述 投票:0回答:2

我希望显示监视列表中的匹配记录,其中给出了 IP 地址范围。 我正在使用一个函数来比较给定的 ip 地址是否属于某个范围: ipv4_is_in_range 我可以比较监视列表中的 IP 地址,但对于范围我有问题。

带有 IP 范围的监视列表具有以下结构: IP池,信息 134.238.0.0/16,德德德德

为了比较监视列表中的 IP 地址,我使用这样的查询并且它有效:

let watchlist = (_GetWatchlist('testl') | project IPAddress);
Azure Activity
| where CallerIpAddress in (watchlist)

然后我尝试重建此查询以使用上面提到的监视列表中的 IP 范围:

let watchlist = (_GetWatchlist('testl2') | project IPpool);
AzureActivity
| where (ipv4_is_in_range(CallerIpAddress, (watchlist))

而且它不起作用...

当然,当我将范围定义为字符串时,它可以工作:

let watchlist = (_GetWatchlist('testl2') | project IPpool);
AzureActivity
| where (ipv4_is_in_range(CallerIpAddress, "134.238.0.0/16")

我确信表达式数据有问题,或者逻辑有问题……我不是KQL高手。你能帮忙吗?

azure kql azure-sentinel
2个回答
0
投票

上面的用户是正确的,回复不应该被否决。它发布在微软的文档中。


-1
投票

认为这是因为监视列表变量是 _list_of_multiple_IP_ranges,并且函数 ipv4_is_in_range 需要单个子网作为第二个参数。 (我知道我应该把它作为评论,而不是答案,但我的声誉不允许我)

© www.soinside.com 2019 - 2024. All rights reserved.