从那个答案以及同一网页上的其他评论,我得出的结论是,ubuntu 默认有一个空的 iptables。但是,人们说这是安全的,因为除非没有经验的用户要安装 Web 服务器或任何在任何端口上通信的服务,否则没有程序会尝试打开任何端口。
我不明白这是什么意思。如果 netfilter 不执行任何操作并且基本上允许任何端口上的任何通信,那么“打开”端口意味着什么?那么,为什么它是安全的?
是不是因为,即使 netfilter 允许任何传入数据包,但由于没有服务在监听,所以不会造成任何损害?
答案1
在本地机器上没有任何防火墙限制的情况下,机器上运行的任何应用程序都可以监听传入通信或发送传出通信。
这方面存在一些内在限制 - 例如,只有以“root”身份运行的软件才可以监听 1024 以下的端口号。但总的来说,任何应用程序都可以发送数据或接收数据。
如果您的机器上的所有软件都是受信任的,那么这是没有问题的,但是如果您的机器上恰好运行了任何恶意软件,或者任何软件存在漏洞,那么它对传入和传出通信的不受限制的访问可能会成为问题。
在典型的家庭网络连接中,您的家中会有一个具有合理防火墙规则的路由器。例如,它通常会有规则拒绝来自互联网的任何传入连接,这些连接不是从网络内部建立的通信的一部分。事实上,IPv4 通信通常会使用 NAT,这是强制性的。它还可能阻止端口 25 上的所有通信(对于垃圾邮件机器人发送垃圾邮件至关重要,但对于普通用户向其电子邮件服务器提交电子邮件则不需要),以及可能阻止一些其他不应该在家庭网络中使用的端口。
在典型的企业互联网连接中,情况也是如此,而且企业网络管理员可能已经建立了额外的规则。
此类规则有助于保护网络内的计算机免受多种类型的攻击,包括外部攻击者试图利用内部易受攻击的软件,以及本地网络内的恶意软件接收任何类型的远程发起通信的能力。然而,当涉及到来自网络内部的攻击时,边界上的防火墙就无关紧要了。如果网络内的计算机受到攻击,它可能会向整个内部网络发起攻击。
可以通过其他方法(如监控计算机上加载的软件和运行病毒扫描程序)来在一定程度上缓解这一问题,企业网络也倾向于这样做,此外大多数家庭用户都已安装了病毒防护措施。
本地电脑上的防火墙可以帮助增加对某些恶意软件的防护,特别是在电脑上有大量用户或同一本地网络上有大量人员的环境中。
例如,如果您在本地机器上设置防火墙来阻止不属于从本地 PC 本身发起的通信的传入数据(这种策略类似于本地网络边缘的路由器),那么您将获得一点额外的保护,以防止从本地网络内部发起的网络攻击。
配置此类防火墙时,您需要为以下端口上的服务添加例外:需要能够监听从外部发起的传入通信。不过,您也需要在网络路由器上执行相同的操作。