你在设置iptables时做了什么:改变默认策略(例如iptables -P INPUT DROP ),或者在规则集( iptables -A INPUT DROP )的最后添加一个catch-all规则? 如果你特别喜欢一个,你的偏好背后的理由是什么?
对于这个论坛来说,这个问题可能太主观了,但也许有一些很好的理由要select一个我不知道的问题。
与我的政策方式不同,由于过于乐观的iptables -F ,locking服务器可能更容易。 对于我来说,删除全面的规则可能会更容易,而不会意识到这一点,从而有效地将服务器全部打开(过去我曾经遇到过这种情况)。
确实,你不应该依靠防火墙作为你唯一的防止互联网的保护(大多数情况下,你可以使内部networking服务只绑定到本地主机或内部networking,例如),但是有时候,公共服务到特定的源networking等
就我个人而言,如果从头开始编写一个规则集,我倾向于第一个,但如果更新现有规则集,则坚持已有的规则集。
我用这两个,设置政策,最后放下规则,因为我是这样的硬核。
我有我的电话和更新脚本中定义我的规则。 我从来不直接直接调用iptables来偶尔列出规则/统计信息。 我从来没有真正看到一个比另一个更好的理由。
这就是为什么有一个全面的规则可能会更好的两个原因:
在折衷方面,我宁愿有一台机器不带防火墙一段时间,意外(如果你冲洗你的规则,遗忘或类似的风险,有-P允许)比有机器不小心掉到networking上(这是冲突的后果,如果政策是DROP)。 我的推理是,防火墙不是保护我的服务器的唯一方法,所以防火墙故障是一个错误,而不是一个灾难。 用户最常使用的服务是灾难。
我刚才注意到的一点:DROP策略允许你在事实之后使用iptables -A将规则附加到规则集。 这可以很方便,因为它允许您轻松地保持规则集的顺序,而且在构build规则集时可以特别有用(使用iptables-save或类似的东西iptables-save它)。