我想阻止包含特定字符串的流量"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.苏里卡塔)