【问题标题】:How can I find in Graylog 4.0 log record with unique combination of two fields?如何在 Graylog 4.0 日志记录中找到两个字段的唯一组合?
【发布时间】:2021-03-03 15:47:32
【问题描述】:

所以,我已将我的 Web 应用程序的身份验证日志转发到 graylog,现在我想为 brutefroce 实现一些警报。 从 webapp 发送到 Graylog 的每条记录都包含一些信息,其中包括用户名和哈希密码。 我想通过查询来查找计算字段 login 和 hashed_pa​​ssword 的唯一组合的警报。

我知道如何设置警报,但找不到有效的查询。

例如,我有这样的日志:

... login=foo hashed_password=XXXX ...
... login=foo hashed_password=XXXX ...
... login=foo hashed_password=XXXX ...
... login=foo hashed_password=YYYY ...
... login=foo hashed_password=ZZZZ ...
... login=foo hashed_password=AAAA ...
... login=foo hashed_password=AAAA ...
... login=foo hashed_password=BBBB ...

我想找到一个查询,这两个字段的每个组合只打印一次。我已经尝试了很多次但没有成功。 从日志上看,它应该只打印:

... login=foo hashed_password=XXXX ...
... login=foo hashed_password=YYYY ...
... login=foo hashed_password=ZZZZ ...
... login=foo hashed_password=AAAA ...
... login=foo hashed_password=BBBB ...

我尝试过的一些查询如下:

auth:"error" AND distinct(login+hashed_password)
auth:"error" AND count(distinct(login+hashed_password))
auth:"error" AND count(login(hashed_password))

我运行的是graylog 4.0版本和Elastic Oss 7.10,所有服务器都是Centos7

【问题讨论】:

    标签: graylog


    【解决方案1】:

    首先,坏消息。 Graylog 不支持 Elasticsearch v7.11。 7.10 是支持的最新版本。

    第二,更多坏消息。 Graylog 不支持您尝试在查询中使用的任何函数。可以在此处找到支持的语法:https://docs.graylog.org/en/4.0/pages/searching/query_language.html?highlight=syntax#search-query-language

    您可以使用仪表板做一些您想做的事情。我还建议尝试聚合事件(警报/事件)以提醒您何时发生这些情况。

    【讨论】:

    • 对于 Elastic:我看错了,我们有 .710 OSS 版本,更新了问题。
    【解决方案2】:

    我找到了解决问题的方法: 我只是将查询结果按 IP 源和登录名分组,然后添加此条件来创建事件:

    card(hashed_password) > 15

    同样的事情有类似的警报,我把这些条件放在哪里:

    [count(login) > 100 AND [card(IP_Source) == 1 AND card(login) == 1 AND card(hashed_password) == 1]]

    我按相同的声音分组。

    【讨论】:

      【解决方案3】:

      我建议使用 GROK 模式仅过滤掉包含您正在寻找的信息(登录并通过)的消息。

      GROK 模式允许我修剪日志,删除所有无用的信息并仅在特定字段名称下保留我需要的内容,这在您需要监控可疑登录时非常有用。

      例如:在您的情况下,您可以创建一个名为 "login_failed_foo" 的字段,然后在该字段的出现次数达到某个点时设置警报。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-12
        • 1970-01-01
        • 2019-11-21
        • 2014-07-30
        • 2020-01-03
        相关资源
        最近更新 更多