iptables,默认策略vs规则

使用默认策略vs -j DROP丢弃不匹配的数据包是否有区别?

喜欢:

 iptables -P INPUT DROP iptables -A INPUT --dport 80 -j ACCEPT 

VS

 iptables -A INPUT --dport 80 -j ACCEPT iptables -A INPUT -j DROP 

我关心的原因是因为我不能创build日志链,并将其作为默认策略,因此我需要使用第二个示例。

从技术angular度来看,不会。

但Sirex是相当正确的,因为如果在切换表格默认规则时忘记了一些重要的东西,会有点痛苦。

花费一些时间与IPTables后,你可能会发现一个偏好,并围绕你的环境build立你的系统。

是。 如果您使用DROP策略,然后通过SSH进行连接并刷新表( iptables -F ),则您将自己locking,因为默认策略不会刷新。

我已经在一个远程系统上做了这个。 它受伤了。

(其他的教训,如果你想摆脱一段时间的防火墙,使用service iptables stop ,而不是iptables -F + service iptables reload

默认策略可能更安全,但是更容易pipe理。 你不能忘记把它添加到最后。

默认的策略是相当有限的,但是要做一个很好的后盾来确保未处理的数据包得到正确的处理。

如果你需要(想)logging这些数据包,你需要一个最终的规则。 这可以是一个logging和应用政策的链条。 您也可以login并让策略处理它。

考虑这些政策方法和最终的政策规则。

  • 使用和接受政策,并以期望的政策作为最终规则。 当您在远程位置pipe理主机时,这可以保护您。 如果你放弃你的规则,你只剩下你的第二道防线,比如hosts.allow。 如果放弃最终规则,则最终会以大部分打开或完全打开的configuration。
  • 设置所需的策略并用最终的策略规则来支持它。 当您具有物理或控制台访问主机的权限时,这可以更安全。 如果您放弃了规则,则您将无法访问所有服务,除非该政策为“接受”。 如果你放弃最后的规则,你仍然受到保护。

对于那些在几个小时前就需要这些信息的人来说,这个话题可能还有其他的一些东西。

后一种方式:

 iptables -A INPUT --dport 80 -j ACCEPT iptables -A INPUT -j DROP 

不会让你稍后追加一个规则(因为附加的规则将出现在通用放置规则之后,因此不起作用),所以你必须插入规则并显式声明所需的位置:

 iptables -I INPUT 1 --dport 8080 -j ACCEPT 

代替

 iptables -A INPUT --dport 80 -j ACCEPT 

根据你的需要,它可能会帮助安全一点点,要求你或其他什么后来增加规则真正通过现有的规则,而不是像往常一样追加它。

这知道我昨天已经赚了20分钟,为什么我的新安装的服务不会响应,即使一切正常运行。