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