linux - Snort 和 Iptables 与 Linux 内核的交互

标签 linux linux-kernel iptables snort

你好

据我所知,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/

相关文章:

linux - 在 Debian 上使用 iptables 启用特定访问

python - 如何为子进程注册信号处理程序?

linux - 刷新CPU缓存而不使缓存失效?

linux - 什么是真正的 pte(与 NUMA 中的迁移 pte 相对)

networking - Kubernetes 网络问题 - 外部无法访问服务nodePort

c - 执行 iptables 代码时出错 “Error commit: Protocol wrong type for socket”

linux - 如何单行执行此 "expect"命令?

linux - 无法连接到我可以 ping 通的计算机

linux - greenplum gpload : configuration YML file error

linux - copy_to_user 和 copy_from_user 结构