原创

Ubuntu上配置ufw防火墙以及策略


如何在Ubuntu 16.04上配置和设置防火墙

先决条件

  • 为此,我们需要在计算机上具有root权限的非root用户。

安装UFW(防火墙)

UFW默认情况下随Ubuntu一起安装,如果未安装,则我们将使用以下命令进行安装–

sudo apt-get install ufw -y

启用UFW(防火墙)

sudo ufw enable

禁用UFW(防火墙)

sudo ufw disable

启用默认策略

作为初学者,我们将首先配置默认策略,该策略控制和处理与其他规则不匹配的流量。默认情况下,规则将拒绝所有传入连接,并允许所有传出连接,这将阻止试图从互联网世界访问计算机的人。

sudo ufw default deny incoming
sudo ufw default allow outgoing

启用SSH连接

使用上面的命令,我们禁用了所有传入连接,它将拒绝所有传入连接,我们需要创建一个规则来明确允许SSH传入连接。

以下是启用SSH传入连接的命令。

sudo ufw allow ssh

使用上面的命令,将允许端口22进行传入连接。我们可以使用22号端口直接使用以下命令来允许SSH连接:

sudo ufw allow 22

但是,如果我们已将SSH守护程序配置为使用其他端口(例如2022或1022),则可以使用以下命令:

sudo ufw allow 1022

检查UFW(防火墙)状态

sudo ufw status

检查UFW(防火墙)状态

以下是检查防火墙规则当前状态的命令。

sudo ufw status

Status: active
To             Action          From
--             ------          ----
22             ALLOW          Anywhere
2222           DENY           Anywhere
1022           ALLOW          Anywhere
22 (v6)        ALLOW          Anywhere (v6)
2222 (v6)      DENY           Anywhere (v6)
1022 (v6)      ALLOW          Anywhere (v6)

为常规端口(如HTTP,HTTPS和FTP)启用UFW

此时,我们将允许其他人分别通过常规端口(例如HTPP,HTTPS和FTP端口)连接到服务器。

HTTP端口80

sudo ufw allow 80

Rule added
Rule added (v6)

我们可以使用以下命令检查UFW(防火墙)状态

sudo ufw status

Status: active
To             Action          From
--             ------          ----
22             ALLOW          Anywhere
2222           DENY           Anywhere
1022           ALLOW          Anywhere
80             ALLOW          Anywhere
22 (v6)        ALLOW          Anywhere (v6)
2222 (v6)      DENY           Anywhere (v6)
1022 (v6)      ALLOW          Anywhere (v6)
80 (v6)        ALLOW          Anywhere (v6)

这样,将使用以下命令分别启用HTTPs和FTP端口(443和21)。

sudo ufw allow https

Rule added
Rule added (v6)

sudo ufw allow ftp

Rule added
Rule added (v6)

启用允许特定范围的端口

我们还可以使用UFW允许或拒绝特定范围的端口,以允许多个端口而不是单个端口。

以下是启用特定范围端口的命令。

sudo ufw allow 500:800/tcp
Rule added
Rule added (v6)

启用以允许特定的IP地址

如果我们要允许一台特定的机器允许所有端口。我们可以使用以下命令。

sudo ufw allow from 192.168.100.1
Rule added

如果我们只允许特定端口,则可以使用以下命令。

sudo ufw allow from 192.168.100.1 to any port 8080
Rule added

如果要启用特定子网,例如要为办公网络启用,可以使用以下命令。

sudo ufw allow from 192.168.0.0/24
Rule added

拒绝连接或规则

如果我们要拒绝任何端口或网络,可以使用以下命令拒绝连接。

sudo ufw deny http
Rule updated
Rule updated (v6)

如果要拒绝来自特定网络的所有连接,可以使用以下命令。

sudo ufw deny from 192.168.2.1

Rule added

删除规则

我们可以通过两种方式删除规则,一种是使用实际规则,另一种是使用规则编号。

实际规则

可以使用我们使用allow命令允许的实际规则删除规则。

以下是从UFW删除HTTP规则的命令。

sudo ufw delete allow http

Rule deleted
Rule deleted (v6)

规则编号

我们可以使用“规则”编号删除防火墙规则,可以使用以下命令获取防火墙规则的列表。

sudo ufw status numbered

Status: active
To                      Action             From
--                      ------             ----
[ 1] 2222               DENY IN            Anywhere
[ 2] 1022               ALLOW IN           Anywhere
[ 3] 443                ALLOW IN           Anywhere
[ 4] 21/tcp             ALLOW IN           Anywhere
[ 5] 500:800/tcp        ALLOW IN           Anywhere
[ 6] Anywhere           ALLOW IN           192.168.100.1
[ 7] 8080               ALLOW IN           192.168.100.1
[ 8] Anywhere           ALLOW IN           192.168.0.0/24
[ 9] Anywhere           DENY IN            192.168.2.1
[10] 2222 (v6)          DENY IN            Anywhere (v6)
[11] 1022 (v6)          ALLOW IN           Anywhere (v6)
[12] 443 (v6)           ALLOW IN           Anywhere (v6)
[13] 21/tcp (v6)        ALLOW IN           Anywhere (v6)
[14] 500:800/tcp (v6)   ALLOW IN           Anywhere (v6)

如果要删除规则14,则可以使用以下命令通过以下命令删除规则。

sudo ufw delete 14

Deleting:
allow 500:800/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)

在本文中,我们了解了–如何安装,启用和禁用UFW防火墙。此外,我们还将学习如何允许,拒绝和删除规则,这些规则将使我们能够保护服务器安全。

教程