我是 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;)