你好
据我所知,iptables 和 snort 是用户空间工具,因此它们应该与内核交互以完成任务
我很想知道 iptables 和 snort 是如何与内核交互的??
我在网上找到了一些信息,有五个netfilter钩子(Hook)(与iptables的链同名),iptables在那里注册了自己的表。但不幸的是,搜索 snort 没有成功。
我想知道它们如何与内核交互,因为我可能会同时使用它们...在丢弃 SSH 数据包的场景中(在 snort 中使用 OpenAppID 并在 iptables 中的端口 22 上丢弃数据包),我发现 snort 具有优先权over iptables,这意味着如果 snort 接受一个数据包而 iptables 丢弃它,最终结果是该数据包将接受。
最佳答案
“Snort 1.x 版本可以分析第 3 层和第 4 层 header ,但无法分析应用层协议(protocol)。即将推出的 Snort 版本 2 有望增加对应用层 header 的支持。”
在您的情况下,iptables 和 snort 在不同的链中运行最合适。请仔细检查 iptables 链规范并确保 iptables 将首先接收包。
(例如 PREROUTE 将在 INPUT 之前处理等)
关于linux - Snort 和 Iptables 与 Linux 内核的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261477/