通过字段中的数量查询

时间:2019-04-18 08:13:45

标签: elasticsearch

我有一个ELK 7.0堆栈,用于存储Web访问日志,包括某些标头。如果客户端两次发送相同的标头,则两个值都将作为列表存储在Elasticsearch中。

最近,我注意到一些易于识别的恶意流量,因为Referer标头重复且始终与请求URI相同。这样的条目可能看起来像这样:

{
    "ip": "192.0.2.1",
    "host": "www.website.example",
    "uri": "/example/",
    "referer": [
        "https://www.website.example/example/",
        "https://www.website.example/example/"
    ]
}

在这种情况下,urireferer始终相同;攻击者将目标锁定在单个页面上,并且已经将目标锁定了至少几个月。

这是一个有趣的模式,所以我想提取匹配的条目并检查它们。我还想将IP地址传递给安全研究人员,因为这些主机似乎已被盗用,并且是僵尸网络的一部分。

有没有一种方法可以查询给定字段中具有特定项目数量的条目?在这种情况下,我想查询所有具有两个referer值的条目。

如果这不可能,那么我是否可以通过其他方法有效地完成此任务? 我没有原始输入数据,并且在相关时间范围内暂时禁用了_source,所以我不认为重新编制索引是一种选择。 编辑:原来我可以在相关索引上启用了_source,因此可以选择重新索引。

这将是一次操作,因此我愿意接受骇人听闻的解决方案-例如,由于我知道,可能有可能滥用计分系统将“双引荐”浮动到顶部确切的引荐来源网址和uri值。

0 个答案:

没有答案