假设:
- 我对 Ubuntu/Linux 操作系统的内部工作原理知之甚少。根据我对 Windows 的经验,我所知道的只是,在连接到互联网之前,我必须配置并运行防火墙,否则我的系统就和出门度假时把所有门窗都打开一样不安全。
- 我刚刚迁移到 Ubuntu桌面18.04 LTS,刚刚首次登录。我想在将 PC 连接到互联网之前保护我的系统。
(注:请注意强调这个词桌面,因此任何提及服务器与问题无关,因此不相关)
经过对这个问题的一些研究,我了解到了这一点:
A。ufw 是 Ubuntu 的默认防火墙“配置工具”吗?(请注意,它说的是配置工具,而不是实际的防火墙)并且 ufw 已安装,但它没有运行并且根本没有配置,因此它没有开箱即用的默认规则。
b.Gufw 是 ufw 的 UI,但它默认未安装,至少在 Ubuntu Desktop 18.04 LTS 中是这样的。
C。iptables 是实际的防火墙,它作为模块内置于内核中。
此时我知道我可以配置 ufw,因为它非常简单,因此得名 abc。要使用它,作为起点,您需要设置拒绝(传入)、允许(传出)并启动它,我也知道我也可以使用 Gufw 来执行此操作。所以我可以把它留在那里并这样做。
然而,经过我所有的研究,我发现很多关于这个主题的文章、问题和博客都有不同的观点和意见,其中很多都说你不需要防火墙,没有开放的端口,但我在想,当我连接到互联网时,肯定有一些端口必须打开?这意味着我将我的设备连接到网络并打开双向流量连接,但我读过的所有信息都只能使这一点变得不清楚和模棱两可,所以我消化了所有这些信息,并试图理解它,然后把它简化为一个单一的陈述,所以我总结如下:
Ubuntu 桌面用户不需要 ufw,因为它只是 iptables 的配置工具,而 iptables 是实际的防火墙。
所以如果我从字面上理解上述陈述,那么以下陈述是正确的吗?
iptables 是 Ubuntu 桌面的内置防火墙,它已完全配置并启动运行,其默认规则对于普通桌面用户来说足够安全。
因为如果上述情况属实,那么 ufw 的意义何在?除了为 iptables 提供一个简单的界面之外,这显然很复杂,而且专家建议您避免直接配置 iptables,因为如果您不清楚自己在做什么,如果配置错误,您很容易导致系统不安全或无法使用?
这是一个nmap扫描我的系统以及防火墙配置,显示系统上的开放端口:
请有人提供一个简洁、相关、非意见、基于事实的答案:)
答案1
问题发生了很大变化
新答案
标题问题
作为新的 Ubuntu 桌面 18.04 LTS 用户,我需要使用
ufw
防火墙吗?还是 iptables 就足够了?
大多数家庭 Ubuntu 用户不需要或使用ufw
。ufw
和iptables
都是默认安装的,并且配置为不执行任何操作。 为什么不需要,下面将更详细地解释。
其他问题1:
所以如果我从字面上理解上述陈述,那么以下陈述是正确的吗?
iptables 是 Ubuntu 桌面内置的防火墙,它已完全配置并启动运行,其默认规则对于普通桌面用户来说足够安全,即拒绝(传入)、允许(传出)。
该声明是错误的
语句实际上是两个语句,由和。因此,如果整个陈述中只有一个部分是错误的,那么整个陈述就是错误的。让我们分解一下:
iptables
Ubuntu 桌面版有内置防火墙吗
以上部分属实。
现在让我们看看另一部分:
iptables
已完全配置并启动并运行,其默认规则对于普通桌面用户来说足够安全,即拒绝(传入)、允许(传出)。
以上内容为假。
默认的 Ubuntu 桌面安装没有打开任何端口,也没有运行任何服务器。因此,尽管iptables
默认安装在桌面 Ubuntu 中,但它并未配置为执行任何操作。也就是说,默认防火墙没有设置规则。
因此,iptable
当您安装 Ubuntu 时配置为不执行任何操作。
其它问题2:
nmap 和 gufw 图像的解释(我想这就是你想要的)
您的 nmap 显示只有两个开放端口对 127.0.0.1 开放。这是一个指向计算机本身的特殊 IP 地址。也就是说,计算机本身可以使用这两个开放端口与自己通信。
屏幕gufw
截图显示没有设置防火墙规则。但是,由于您已安装gufw
并单击它,ufw
因此也已安装(gufw 使用 ufw)并且 ufw 处于活动状态。您上面提到的默认 ufw 配置,拒绝(传入)和允许(传出)正在运行。但是,这些规则不适用于计算机本身,即 127.0.0.1。对于家庭用户来说,这不是必需的,但足够了。
原始答案:
普通家庭用户不需要防火墙
默认的 Ubuntu 桌面安装没有打开任何端口,也没有运行任何服务器。因此,如果您不运行任何服务器守护程序(例如 ssh 服务器),则不需要任何防火墙。因此,在安装 Ubuntu 时,iptable 配置为不执行任何操作。请参阅我需要激活防火墙吗?我只将 Ubuntu 用于家庭桌面?了解详情。
如果你运行服务器,你需要防火墙
如果您不是普通家庭用户,并且想要执行一些高级操作,例如通过 ssh 远程访问您的桌面或运行其他服务,那么您就需要防火墙。防火墙的配置将取决于您计划运行哪个服务器守护程序。
即使您不打算运行服务器,您也可能需要防火墙的默认配置为拒绝所有端口的所有传入连接。这样可以双重安全,以防万一,有一天您想安装并运行服务器却没有意识到自己在做什么。如果不更改默认防火墙配置,服务器将无法按预期工作。您会绞尽脑汁几个小时才想起您激活了防火墙。然后您可能想要卸载服务器软件,因为这可能不值得冒险。或者您可能想要配置防火墙以让服务器正常工作。
gufw
是最简单的
gufw 是 的 GUI 界面ufw
,用于配置iptables
。由于您从 1990 年代开始使用 Linux,您可能对命令行感到满意,或者您可能更喜欢 GUI 的视觉提示。如果您喜欢 GUI,那么请使用gufw
。即使是新手也很容易理解和配置。
##ufw
简单
如果你喜欢命令行,ufw
那就足够简单了。
iptables
并不容易
我们不希望任何人直接摆弄 iptables 并使用ufw
或 的gufw
原因是,它很容易弄乱iptables
,一旦弄乱,系统就会严重崩溃,甚至无法使用。该iptables-apply
命令有一些内置保护措施,可以保护用户免受错误的影响。
希望这可以帮助
答案2
我自己提供这个答案,因为我不相信那些坚持认为你不需要防火墙、没有开放端口的人……虽然我自己接受它,但我不会将其标记为已接受,我会让社区投票决定这是否应该是答案。
我想对任何使用 Ubuntu 桌面并遇到此问题的人说,如果您不确定是否要使用防火墙,因为像我一样,您亲眼看到过有关此问题的许多相互矛盾的观点,那么我的建议是继续使用防火墙,我推荐 ufw,如果您想要一个 UI,那么请使用 Gufw,因为当一切都说完了,即使它所做的只是让您高枕无忧,使用它也不会有什么坏处。
我最终转向官方 Ubuntu 文档进行澄清,并找到了下面的文章,根据我尝试寻找答案的经验,我建议你阅读这篇文章,因为它很有意义,它回答了我的问题和子问题,我想我现在没问题了 ;)
https://help.ubuntu.com/community/DoINeedAFirewall
以下是上述文章的摘录:
我没有开放端口,所以不需要防火墙,对吗?
其实不然。这是一个常见的误解。首先,让我们了解开放端口到底是什么。开放端口是绑定了服务(如 SSH)并正在监听的端口。当 SSH 客户端尝试与 SSH 服务器通信时,它会向 SSH 端口(默认为 22)发送 TCP SYN 数据包,服务器会确认该数据包,从而创建新连接。关于防火墙如何帮助您的误解就从这里开始。一些用户认为,由于您没有运行任何服务,因此无法建立连接。所以您不需要防火墙。如果这些是您唯一需要考虑的事情,那么这完全可以接受。然而,这只是部分情况。还有两个因素在起作用。首先,如果您不使用防火墙,因为您没有开放端口,那么您的安全性就会受到损害,因为如果您拥有的应用程序被利用并发生代码执行,则可以创建新套接字并将其绑定到任意端口。另一个重要因素是,如果您不使用防火墙,那么您也无法控制任何出站流量。在应用程序被利用之后,攻击者可以利用的另一种选择是创建与恶意计算机的反向连接,而不是创建新套接字并绑定端口。如果没有任何防火墙规则,此连接将畅通无阻。
答案3
iptables是 TCP/IP 网络堆栈的一部分。如果您有 *Nix,则有 IPTABLES。如果您在 IP 网络上,无论启用或禁用防火墙,您都在使用 iptables。
联邦快递是一个*Nix应用程序(意味着使用iptables)。它基于 shell 控制台,但使用起来并不困难。它可以打开/关闭。您无法禁用 iptables,因为必须有默认路由互联网(0.0.0.0),本地环回(127.0.0.0),本地主机(192.168.0.0)和自动寻址(169.254.0.0)。如你所见,iptables已嵌入网络堆栈。即使您想避免,也无法避免。
联邦快递可以从 shell 控制台轻松修改矩阵中的 iptables 条目。可以手动编辑 iptables IP 路由,但我不建议这样做,因为这样做很容易出错。可以将 ufw 视为编辑 IP 路由表的工具。
尽管我可能对 shell 控制台很熟悉,但我仍然推荐使用海湾战争它是位于 iptables 之上的 ufw 的图形“包装器”。
我喜欢它的简单性,尤其是添加应用程序的防火墙配置文件,例如媒体服务器或 bittorrent 应用程序。任何能让我的生活更轻松的东西都会赢得我的赞誉。
因此,要回答你修改后的问题,IPTABLES 无法保护你的网络如果不加以处理,则无法阻止、过滤、禁用或允许通过 IP 路由表的某些端口。使用ufw + gufw如果您只想允许/阻止某些端口或端口范围,则反过来动态编辑 IP 路由表。