iptables 阻止包含特定字符串的碎片流

iptables 阻止包含特定字符串的碎片流

我想阻止包含特定字符串的流量"anypattern"

我知道正确的 iptables 规则是:

iptables -m string --algo bm --string "anypattern" -j DROP

数据可能被分割成许多 TCP 序列的问题。并且存在字符串"anypattern"可能被分成 2 个数据包的风险。例如,数据包 1 将包含"anyp",第二个数据包将包含"attern"

如何让 iptables 检测 TCP 碎片并检查最终的 tcp 负载?或者此类问题有解决方案吗?

答案1

我认为 netfilter 字符串扩展不是安全地执行此操作的正确工具。我知道使用旧的 iptables 进行字符串检测看起来很舒服,但如果你想要更可靠的结果,我认为你需要切换到专用的应用程序层 IDS(Es.苏里卡塔

相关内容