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

在本文中,我们将学习–如何在Ubuntu 16.04上配置和设置UFW(防火墙),UFW代表“不复杂的防火墙”,它充当IPTABLES的接口,从而简化了防火墙的配置过程,对于防火墙来说,这是非常困难的。初学者学习和配置防火墙规则,在这些规则中,我们将保护计算机免受未知用户的访问。UFW使用我们配置为规则的策略。

先决条件

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

安装UFW(防火墙)

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

$ sudo apt-get install ufw -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
   ufw
0 upgraded, 1 newly installed, 0 to remove and 88 not upgraded.
Need to get 149 kB of archives.
After this operation, 838 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 ufw all 0.35-0ubuntu2 [149 kB]
Fetched 149 kB in 0s (165 kB/s)
Preconfiguring packages ...
Selecting previously unselected package ufw.
(Reading database ... 98515 files and directories currently installed.)
Preparing to unpack .../ufw_0.35-0ubuntu2_all.deb ..
Unpacking ufw (0.35-0ubuntu2) ...
Processing triggers for systemd (229-4ubuntu10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up ufw (0.35-0ubuntu2) ...

启用UFW(防火墙)

以下是启用UFW的命令-

$ sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

禁用UFW(防火墙)

以下是禁用UFW防火墙的命令。

$ sudo ufw disable

防火墙已停止并在系统启动时关闭了spesifikasi android

启用默认策略

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

$ sudo ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

$ sudo ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

启用SSH连接

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

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

$ sudo ufw allow ssh
Rule added
Rule added (v6)

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

$ sudo ufw allow 22
Skipping adding existing rule
Skipping adding existing rule (v6)

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

$ sudo ufw allow 1022
Rule added
Rule added (v6)

检查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防火墙。此外,我们还将学习如何允许,拒绝和删除规则,这些规则将使我们能够保护服务器安全。