如何在Linux上使用GUFW设置防火墙
UFW(不复杂的防火墙)是一种易于使用的防火墙实用程序,为大多数用户提供了很多选项。它是iptables的接口,这是为网络设置规则的经典方法(很难适应)。
使用GUFW设置防火墙
GUFW是用于管理简单防火墙(UFW)的图形实用程序。在本指南中,我将介绍使用适合我们需要的GUFW配置防火墙的方法,并介绍不同的模式和规则。
但是首先,让我们看看如何安装GUFW。
在Ubuntu和其他Linux上安装GUFW
GUFW在所有主要的Linux发行版中均可用。我建议我们使用发行版的软件包管理器来安装GUFW。
如果使用的是Ubuntu,请确保已启用Universe存储库。为此,打开一个终端(默认热键:CTRL + ALT + T),然后输入:
sudo add-apt-repository universe sudo apt update -y
现在,我们可以使用以下命令安装GUFW:
sudo apt install gufw -y
而已!如果我们不想触摸终端,也可以从软件中心进行安装。
打开软件中心并搜索gufw,然后单击搜索结果。
在软件中心中搜索gufw
继续并单击安装。
从软件中心安装GUFW
要打开gufw,请转到菜单并进行搜索。
启动GUFW
这将打开防火墙应用程序,然后会出现"入门"部分。
GUFW界面和欢迎屏幕
打开防火墙
关于此菜单的第一件事是状态切换。按下此按钮将打开/关闭防火墙(默认值:关闭),并应用首选项(策略和规则)。
打开防火墙
如果启用,则防护图标从灰色变为彩色。如本文后面所述,这些颜色反映了策略。这也将使防火墙在系统启动时自动启动。
注意:默认情况下,首页将关闭。其他配置文件(请参阅下一节)将打开。
了解GUFW及其配置文件
如我们在菜单中看到的,我们可以选择其他配置文件。每个配置文件都有不同的默认策略。这意味着它们为传入和传出流量提供不同的行为。
默认配置文件为:
- Home
- Public
- Office
我们可以通过单击当前配置文件来选择另一个配置文件(默认值:主页)。
选择其中之一将修改默认行为。再往下,我们可以更改"传入和传出"流量首选项。
默认情况下,在家庭和Office中,这些策略均为"拒绝传入"和"允许传出"。这样一来,我们就可以使用http / https之类的服务,而无需输入任何内容(例如ssh)。
对于公共用户,它们是拒绝传入并允许传出。拒绝与拒绝类似,它不允许服务进入,但会向尝试访问计算机的用户/服务发送反馈(而不是简单地断开/挂起连接)。
注意
如果我们是普通桌面用户,则可以坚持使用默认配置文件。如果更改网络,则必须手动更改配置文件。
因此,如果我们要旅行,请在公共配置文件上设置防火墙,然后从此处转发,每次重新启动时,防火墙都将设置为公共模式。
配置防火墙规则和策略(适用于高级用户)
所有配置文件都使用相同的规则,只有规则所基于的策略会有所不同。更改策略的行为(传入/传出)会将更改应用到所选配置文件。
请注意,只有在防火墙处于活动状态时才能更改策略(状态:ON)。
可以从"首选项"菜单轻松添加,删除和重命名配置文件。
偏好
在顶部栏中,单击"编辑"。选择首选项。
在GUFW中打开"首选项"菜单
这将打开"首选项"菜单。
让我们来看看这里的选项!
日志记录完全符合想法:防火墙在日志文件中记录了多少信息。
Gufw下的选项非常不言自明。
在配置文件下的部分中,我们可以添加,删除和重命名配置文件。双击配置文件将允许我们重命名它。按Enter将完成此过程,按Esc将取消重命名。
要添加新的配置文件,请单击配置文件列表下的+。这将添加一个新的配置文件。但是,它不会通知我们。我们还必须向下滚动列表以查看创建的配置文件(使用鼠标滚轮或者列表右侧的滚动条)。
注意:新添加的配置文件将拒绝传入并允许传出流量。
单击一个配置文件,突出显示该配置文件。按下按钮将删除突出显示的配置文件。
注意:我们不能重命名/删除当前选择的配置文件。
我们现在可以单击关闭。接下来,我将设置不同的规则。
规则
返回主菜单,在屏幕中间的某个位置,我们可以选择不同的选项卡("主页","规则","报告","日志")。我们已经介绍了"主页"选项卡(这是启动应用程序时看到的快速指南)。
继续并选择规则。
这将是防火墙配置的主要部分:网络规则。我们需要了解UFW所基于的概念。这就是允许,拒绝,拒绝和限制流量。
注意:在UFW中,规则从上到下适用(顶部规则首先生效,并在其顶部添加以下规则)。
允许,拒绝,拒绝,限制:这些是我们将添加到防火墙的规则的可用策略。
让我们确切地了解它们各自的含义:
- 允许:允许任何进入端口的流量
- 拒绝:拒绝任何进入端口的流量
- 拒绝:拒绝进入端口的任何进入流量,并通知请求者拒绝的信息
- 限制:如果IP地址在过去30秒内尝试启动6个或者更多连接,则拒绝进入流量
新增规则
GUFW中有三种添加规则的方法。在下一节中,我将介绍所有这三种方法。
注意:添加规则后,更改其顺序是一个非常棘手的过程,只需删除它们并以正确的顺序添加它们就容易得多。
但首先,请单击"规则"选项卡底部的+。
这应该打开一个弹出菜单(添加防火墙规则)。
在此菜单的顶部,我们可以看到三种添加规则的方法。我将指导我们完成每种方法,即预配置,简单,高级。单击以展开每个部分。
预配置规则
这是添加规则最适合初学者的方法。
第一步是从上面选择的规则中选择规则的策略。
下一步是选择规则将影响的方向(传入,传出和双向)。
类别和子类别的选择很多。这些缩小了我们可以选择的应用程序的范围
选择一个应用程序将根据特定应用程序的需要设置一组端口。这对于可能在多个端口上运行的应用程序特别有用,或者如果我们不想为手动创建用于手写端口号的规则而烦恼。
如果我们希望进一步自定义规则,则可以单击橙色箭头图标。这将复制当前设置(带有端口的应用程序等),并带我们进入"高级"规则菜单。我将在本文后面介绍。
在此示例中,我选择了一个Office数据库应用程序:MySQL。我将拒绝与此应用程序使用的端口的所有传入流量。
要创建规则,请单击添加。
现在,我们可以关闭弹出窗口(如果我们不想添加任何其他规则)。我们可以看到该规则已成功添加。
GUFW已添加端口,并且规则已自动编号。我们可能想知道为什么会有两个新规则而不是一个?答案是,UFW会自动添加标准IP规则和IPv6规则。
简单规则
尽管设置预配置规则很不错,但是还有另一种简单的方法可以添加规则。再次单击+图标,然后转到"简单"标签。
这里的选项很简单。输入规则名称,然后选择策略和方向。我将添加一条规则,以拒绝传入的SSH尝试。
我们可以选择的协议是TCP,UDP或者两者。
现在,我们必须输入要管理其流量的端口。我们可以输入端口号(例如ssh为22),两端以:(冒号)(例如81:89)隔开的端口范围或者服务名称(例如ssh)。在此示例中,我将使用ssh并选择TCP和UDP。和以前一样,单击"添加"以完成规则的创建。我们可以单击红色箭头图标将设置复制到"高级规则创建"菜单。
如果选择"关闭",则可以看到已添加新规则(以及相应的IPv6规则)。
进阶规则
现在,我将研究如何设置更高级的规则,以处理来自特定IP地址和子网以及针对不同接口的流量。
让我们再次打开"规则"菜单。选择高级选项卡。
到目前为止,我们应该已经熟悉以下基本选项:名称,策略,方向,协议,端口。这些和以前一样。
注意:我们可以选择接收端口和请求端口。
所发生的变化是,现在我们还有其他选择可以进一步专门化我们的规则。
我之前提到过,规则是由GUFW自动编号的。使用高级规则,我们可以通过在"插入"选项中输入数字来指定规则的位置。
注意:输入位置0会将规则添加到所有现有规则之后。
接口让我们选择计算机上可用的任何网络接口。这样,该规则将仅对进出该特定接口的流量产生影响。
日志更改的确切之处在于:将记录什么,将不会记录什么。
我们还可以为请求和接收端口/服务选择IP(从,到)。
我们所要做的就是指定一个IP地址(例如192.168.0.102)或者整个子网(例如192.168.0.0/24表示从192.168.0.0到192.168.0.255的IPv4地址)。
在我的示例中,我将设置一个规则,以允许从子网上的系统到我当前正在运行的计算机的特定网络接口的所有传入TCP SSH请求。我将在所有标准IP规则之后添加该规则,以使其在我设置的其他规则之上生效。
关闭菜单。
该规则已成功添加到其他标准IP规则之后。
编辑规则
单击规则列表中的规则将其突出显示。现在,如果单击底部的小齿轮图标,则可以编辑突出显示的规则。
这将打开一个菜单,其外观类似于上一节中介绍的"高级"菜单。
注意:编辑规则的任何选项会将其移至列表的末尾。
现在,我们可以在"应用"上选择以修改规则,然后将其移动到列表的末尾,或者单击"取消"。
删除规则
选择(突出显示)规则后,我们也可以单击图标。
报告书
选择报告标签。在这里,我们可以查看当前正在运行的服务(以及有关它们的信息,例如协议,端口,地址和应用程序名称)。在这里,我们可以暂停监听报告(暂停图标)或者通过监听报告中的突出显示的服务创建规则(+图标)。
日志
选择日志选项卡。这是我们必须检查是否有可疑规则的错误的地方。我尝试创建一些无效的规则,以向我们显示当我们不知道为什么无法添加特定规则时这些规则的外观。在底部,有两个图标。单击第一个图标可将日志复制到剪贴板,然后单击第二个图标可清除日志。