iptables INPUT DROP NEW 这会产生什么影响?

iptables INPUT DROP NEW 这会产生什么影响?

我目前正在研究Linux 防火墙书籍并设置了一组规则,规定了STATE除此以外所有事情都要遵循的规则NEW,我更喜欢在编写代码/配置/其他内容时明确说明。

有问题的规则:

 26 $IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options
 27 $IPTABLES -A INPUT -m state --state INVALID -j DROP               
 28 $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

现在我想指定NEW国家规则,以确保清洁。

具体来说,我只想建立DROP NEW连接,在这个阶段,我明白我们为什么要ACCEPT ESTABLISHED建立RELATED连接。但我不确定我是否因为在上做DROP或 而导致头痛。我的想法是,我不会有问题,因为我不希望随机的东西试图与我建立连接,我可以想象这是因为我有一个介绍规则:REJECTNEW

$IPTABLES -A INPUT DROP 

我已经在做这DROP件事了NEW

有人可以确认我的思维过程是否正确吗?

答案1

我还没有读过你链接的那本书,所以我只是想继续讨论你似乎想问的问题:

为了方便理解,我们将连接称为“传入”和“传出”,这指的是哪一方发起了连接。但协议实际上并不是这样认为的。在建立连接之前,新连接的状态为 NEW。但一旦建立连接,就只有本地和远程主机,当然还有流量双向. 哪个主机发起了连接并不重要,甚至在连接建立后也无法跟踪。

因此,iptables 防火墙以这种方式设置以提高效率。但是,上面的 28 号规则应该更接近防火墙的开头,以便大多数流量不会遍历一堆不相关的规则。它允许已经建立的(和相关的,与协议相关的)流量流入。这几乎是每个数据包,因此这样的规则应该在表中非常靠前的位置。

是否允许新连接由您自行决定。例如,如果您运行 Web 服务器,则可能允许端口 443 和 80 上的新流量传入。只有 TCP SYN 数据包才会匹配此类规则。其余入站流量由 ESTABLISHED,RELATED 规则匹配。但如果不允许该 SYN 数据包,则连接永远无法建立。

(以上均未讨论传出流量,而这只占了谈话的一半。大多数主机防火墙不关心这一点,而只是允许所有传出流量。如果要默认拒绝传出流量,那么它也需要一条 ESTABLISHED,RELATED 规则。)

以下是 iptables 防火墙的示例并解释每条规则。

相关内容