如何设置 Suricata 仅记录来自特定 IP 地址的 DNS 查询?

如何设置 Suricata 仅记录来自特定 IP 地址的 DNS 查询?

我是 Suricata/Snort 等 IDS 的新手。我目前正在尝试使用 Suricata 记录我网络上对恶意域的 DNS 请求和响应。在我的 DNS 服务器上,我设置了任何请求,例如,bad.com都会解析为127.0.0.1,从而不允许我网络上的任何人访问该网站。

我已经设置 Suricata 来记录所有 DNS 请求,但如何过滤和缩小范围并告诉它仅记录请求127.0.0.1而其他所有内容均不记录?

我尝试制定一条规则:

alert dns any any -> 127.0.0.1 any (msg: "BLACKLISTED WEBSITE"; flow:to_client; content:"rrname";sid:2240001;rev:1;)

但那没有用。

我需要做什么才能仅记录对特定 IP 的 DNS 请求?我在文档或互联网上的任何其他地方都找不到任何信息。

谢谢。

答案1

IP 地址只是一个 32 位数字。在规则中,IP 应该表示为十六进制值,而不是字符串,以提高效率和节省带宽(字符串将是 8+ 个字节,而不是 4 个字节)。

这是我的最终 Suricata 规则,每当有人在我的网络上被发送到环回时,都会发出警报:

alert dns any any -> any any (msg:"BLACKLISTED DOMAIN"; content:"|7F 00 00 01|"; sid:1;)

相关内容