在管理服务器时,必须配置以增加其安全性的第一件事是配置防火墙,幸运的是在Linux中包含一个名为Iptables的默认设置,但是这个防火墙很多人认为配置和管理有点复杂。 有更简单的替代品可供使用,例如UFW。
UFW实际上是包含Linux的Iptables防火墙的CLI或命令行界面,该界面为我们提供了一种更简单的方法来管理和配置Iptables。 对于UFW,甚至还有一个名为GUFW的GUI或图形界面,我们可以在桌面PC或笔记本电脑上使用它来管理和配置防火墙。
在服务器上安装UFW
要安装它,只需将命令写入终端 -
558idc@558idc:~/www.558idc.com$ sudo apt-get install ufw
默认情况下,UFW在安装后被禁用,因此我们可以使用命令查看其状态 -
558idc@558idc:~/www.558idc.com$ sudo ufw status verbose
状态:不活动
UFW的基本配置
我们可以在UFW中使用的一些基本配置来确保我们的服务器。
默认规则:
顾名思义,默认规则是一系列便于配置防火墙的标准规则,这些规则允许我们指定是否要允许或拒绝传入流量或传出流量,以及其他一些规则。
事实上使用GUFW的非常好的配置几乎不安装在PC上,它是拒绝所有传入流量并允许传出流量。
我们可以使用以下命令进行调整:
558idc@558idc:~/www.558idc.com$ sudo ufw default deny incoming
默认的 incoming 策略更改为 “deny”
(请相应地更新你的防火墙规则)
拒绝所有传入的流量。
558idc@558idc:~/www.558idc.com$ sudo ufw default allow outgoing
默认的 outgoing 策略更改为 “allow”
(请相应地更新你的防火墙规则)
有了这两种配置,PC就可以得到很好的保护,但是如果我们想提高安全性,我们也可以拒绝传出流量以获得更高的安全性,当然缺点是你必须知道哪些应用需要一个 出站流量规则能够正常运行。
允许连接:
假设我们在服务器上配置防火墙并拒绝所有传入流量。 我们如何通过SSH远程连接到它? 我们需要应用允许我们连接到端口22的规则。
为此,我们使用选项allow,并指定我们希望允许传入流量的端口及其使用的TCP协议:
558idc@558idc:~/www.558idc.com$ sudo ufw allow 22/tcp
防火墙规则已更新
规则已更新(v6)
UFW附带了一些我们可以按其名称使用的预设规则,例如,上一个命令尝试打开已知用作SSH连接的端口的端口22,也可以使用以下命令启用此规则:
558idc@558idc:~/www.558idc.com$ sudo ufw allow ssh
跳过添加已经存在的规则
跳过添加已经存在的规则 (v6)
以同样的方式,我们可以使用其他预先建立的规则来处理已知服务,例如使用端口80的HTTP,使用端口443的HTTPS等。
港口范围:
您也可能希望不仅允许传入流量到端口,而且允许其中的一系列传输流量,例如,Mosh应用程序可能需要从端口60000到协议的61000的端口范围。 开udp。
我们可以通过输入以下下这样的命令来应用它:
558idc@558idc:~/www.558idc.com$ sudo ufw allow 60000:61000/udp
防火墙规则已更新
规则已更新(v6)
拒绝连接:
与我们允许传入连接的方式相同,我们可以拒绝这些连接。
假设我们有一个允许所有传入流量的默认规则(不推荐),但我们只想拒绝某个端口的传入流量,我们可以应用这样的配置:
558idc@558idc:~/www.558idc.com$ sudo ufw deny 22/tcp
防火墙规则已更新
规则已更新(v6)
以同样的方式,我们可以做到拒绝一个端口范围。
558idc@558idc:~/www.558idc.com$ sudo ufw deny 60000:61000/udp
防火墙规则已更新
规则已更新(v6)
删除规则:
假设我们已将SSH服务器配置为使用端口2222而不是先前打开的22端口,我们应该删除允许端口的先前规则22.这可以使用以下命令完成:
sudo ufw delete allow 22/tcp
以类似的方式,如果它是一系列端口,我们可以这样做:
sudo ufw delete allow 60000:61000/udp
例如,如果我们有一组用UFW建立的规则,我们想要消除它们但不知道如何执行这种消除,因为它是某种复杂的规则,我们可以用命令列出它们:
558idc@558idc:~/www.558idc.com$ sudo ufw status numbered
状态: 激活
至 动作 来自
- -- --
[ 1] 22/tcp DENY IN Anywhere
[ 2] 60000:61000/udp DENY IN Anywhere
[ 3] 22/tcp (v6) DENY IN Anywhere (v6)
[ 4] 60000:61000/udp (v6) DENY IN Anywhere (v6)
什么会给我们一组这样的编号规则:
ufw规则状态
如上所述,规则已编号,因此我们可以使用该数字来消除特定规则:
558idc@558idc:~/www.558idc.com$ sudo ufw delete 4
将要删除:
deny 60000:61000/udp
要继续吗 (y|n)? y
规则已删除 (v6)
激活和停用UFW:
一旦配置了所有规则并确保一切正确,我们将使用以下命令继续激活防火墙:
558idc@558idc:~/www.558idc.com$ sudo ufw enable
有了这个,我们将使UFW处于活动状态,并使用我们指定的规则保护连接。
如果要禁用UFW,请键入以下命令:
558idc@558idc:~/www.558idc.com$ sudo ufw disable
如果由于某种原因,您要求取消所有适用的规则 -
558idc@558idc:~/www.558idc.com$ sudo ufw reset
总结
这些只是UFW的一些基本配置,我们可以通过它为我们的PC和服务器添加一层良好的安全性。还有一些高级配置可用于进一步提高安全性或执行某种特定任务。