如何断开与其他断开的连接相关的连接?

如何断开与其他断开的连接相关的连接?

设想:iptables为 DPI 引擎正在监视 Netfilter 队列的主机编写了规则:防火墙规则将进入该主机的流量排队到不同的 Netfilter 队列中,具体取决于流量是否来自ipset我的某个队列。

FORWARD链中,所有连接都排在不同的队列中NFQUEUES:DPI 引擎在用户空间队列中监视由 iptables 发送的数据包,如果观察到禁止连接,它会用特殊值标记该数据包;DPI 引擎将禁止的数据包重新插入堆栈中;在链中,POSTROUTING我检查连接是否用该特殊值标记,如果是,我就会标记DROP它们。

一切运行良好,但是...

问题:DPI 引擎很好,但并不完美:有时,

  1. 应被标识为禁止的流量未被标识为禁止,因此未被阻止;
  2. 禁止的流量会被阻止但不是立即阻止,同时禁止的连接可能会打开另一个RELATED未标记为禁止的连接(根据 conntrack 机器),但我也想阻止相关的连接。

第二种情况是我想要采取行动的情况:以情况 2 为例,假设 DPI 引擎想要阻止 YouTube,但它无法快速完成;它允许 YouTube 连接打开另一个被 DPI 引擎标记为 SSL 的连接;DPI 引擎最终阻止了 YouTube,但 SSL 连接仍然畅通无阻;我无法告诉 DPI 引擎阻止 SSL 连接,无论哪些连接打开了它们。

注意事项:如解释的那样设想,进入POSTROUTING链的数据包可能被标记为 0(这是默认值,因此 DPI 引擎不采取任何行动)或特殊值(DPI 引擎看到禁止连接并对其进行标记):一个简单的

iptables -t mangle -A POSTROUTING -m mark --mark DROPVALUE -j DROP

几乎总是足够的,但在问题我写道,与被禁止的连接相关,但 DPI 引擎却不认为是这样,因为即使它们是由禁止连接创建的,其协议也不会被列入黑名单,因此它们不会被视为禁止。这是正确的,因为我不能列入SSL黑名单HTTPS

我需要阻止RELATED与禁止的连接:RELATED并且ESTABLISHED(如果我理解得好的话)不是指特定的连接,而是我需要指禁止的连接。

问题:是否可以断开RELATED要断开的连接(或已断开的连接) ?还是需要进行iptables一些修改?conntrack

提前感谢任何建议。

答案1

您误解了RELATED。这不用于单个地址可能建立的每个连接。它仅用于实际相关的数据,例如与 FTP 控制连接关联的 FTP 数据流,或与打开的连接关联的 ICMP 错误消息。实际上很少有这样的连接会匹配RELATED

相关内容