删除UFW规则

有两种不同的方法可以删除 UFW 规则,通过规则编号和通过指定实际规则。

按规则编号删除 UFW 规则更容易,特别是如果您不熟悉 UFW。

要首先按规则编号删除规则,您需要找到要删除的规则编号,您可以使用以下命令执行此操作:

$ sudo ufw status numbered
ubuntu1804@linux:~$ sudo ufw status numbered
Status: active
     To                         Action      From
     --                         ------      ---
[ 1] 22/tcp                     ALLOW IN    Anywhere                  
[ 2] Anywhere                   ALLOW IN    192.168.1.104             
[ 3] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

要删除规则编号 2,即允许从 IP 地址 192.168.1.104 连接到任何端口的规则,请使用以下命令:

$ sudo ufw delete 2
ubuntu1804@linux:~$ sudo ufw delete 2
Deleting:
 allow from 192.168.1.104
Proceed with operation (y|n)? y
Rule deleted
ubuntu1804@linux:~$

第二种方法是通过指定实际规则来删除规则。

$ sudo ufw delete allow 22/tcp

禁用并重置UFW

如果由于任何原因想要停止UFW并停用所有规则,可以使用:

$ sudo ufw disable
ubuntu1804@linux:~$ sudo ufw disable
Firewall stopped and disabled on system startup
ubuntu1804@linux:~$

重置UFW将禁用UFW,并删除所有活动规则。

如果您想恢复所有更改并重新开始,这将很有帮助。 要重置 UFW,请使用以下命令:

$ sudo ufw reset
ubuntu1804@linux:~$ sudo ufw reset
Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20151213_084801'
Backing up 'before.rules' to '/etc/ufw/before.rules.20151213_084801'
Backing up 'after.rules' to '/etc/ufw/after.rules.20151213_084801'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20151213_084801'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20151213_084801'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20151213_084801'
ubuntu1804@linux:~$

在 UFW 中使用 IPv6

如果服务器配置为IPv6,请确保配置UFW配置为支持IPv6,以便配置IPv4和IPv6防火墙规则。
为此,请使用此命令打开UFW配置:

$ sudo vim /etc/default/ufw

然后确保“IPv6”设置为“yes”,如下所示:

IPV6=yes

保存并退出。
然后使用以下命令重新启动防火墙:

$ sudo ufw disable
$ sudo ufw enable

安装UFW和状态检查

默认情况下,在Ubuntu 18.04中应该安装了简单的防火墙(UFW),但如果未安装,则可以使用命令安装包:

$ sudo apt-get install ufw

安装完成后,可以使用以下命令查看UFW的状态:

$ sudo ufw status verbose
ubuntu1804@linux:~$ sudo ufw status verbose
[sudo] password for ubuntu1804: 
Status: inactive
ubuntu1804@linux:~$
ubuntu1804@linux:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
ubuntu1804@linux:~$
ubuntu1804@linux:~$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
ubuntu1804@linux:~$

UFW默认策略

默认情况下,UFW将阻止所有传入连接并允许所有出站连接。
这意味着除非我们专门打开端口,否则尝试访问服务器的任何人都无法连接,而我们服务器上运行的所有应用程序和服务将能够访问外部世界。

默认策略在 /etc/default/ufw文件中定义。可以使用 sudo ufw default <policy> <chain>命令修改:

$ sudo ufw default deny outgoing

允许和拒绝连接

如果我们打开防火墙,默认情况下它会拒绝所有传入的连接。 因此,您需要根据需要允许/启用连接。 可以通过定义端口、服务名称或者应用程序配置文件来打开连接。

$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow 80/tcp
$ sudo ufw allow 'HTTP'

UFW 不仅允许访问单个端口,还允许我们访问端口范围。

$ sudo ufw allow 1000:2000/tcp
$ sudo ufw allow 3000:4000/udp

要允许从具有IP地址的计算机访问所有端口或者允许访问特定端口,您可以使用以下命令:

$ sudo ufw allow from 192.168.1.104
$ sudo ufw allow from 192.168.1.104 to any port 22

允许连接到IP地址子网的命令:

$ sudo ufw allow from 192.168.1.0/24 to any port 3306

要允许访问特定端口且仅访问特定网络接口,您需要使用以下命令:

$ sudo ufw allow in on eth1 to any port 9992

所有传入连接的默认策略都设置为拒绝,如果您没有更改它,UFW将阻止所有传入连接,除非您专门打开连接。
要拒绝来自子网和具有端口的所有连接,请执行以下操作:

$ sudo ufw deny from 192.168.1.0/24
$ sudo ufw deny from 192.168.1.0/24 to any port 80

防火墙日志

防火墙日志对于识别攻击、排除防火墙规则故障以及注意网络上的异常活动至关重要。但是,您必须在防火墙中包含日志记录规则,才能生成日志记录规则,并且日志记录规则必须位于任何适用的终止规则之前。

$ sudo ufw logging on

日志还将保存在/var/log/messages/var/log/syslog/var/log/kern.log中。

应用程序配置文件

使用 apt 命令安装软件包时,它会将应用程序配置文件添加到/etc/ufw/applications.d目录。 该配置文件描述了服务并包含 UFW 设置。
您可以使用以下命令列出服务器上可用的所有应用程序配置文件:

$ sudo ufw app list

根据系统上安装的软件包,输出将类似于以下内容:

ubuntu1804@linux:~$ sudo ufw app list
[sudo] password for ubuntu1804: 
Available applications:
  CUPS
  OpenSSH
ubuntu1804@linux:~$

要查找有关特定配置文件和包含的规则的更多信息,请使用以下命令:

$ sudo ufw app info ‘<app_name>’
ubuntu1804@linux:~$ sudo ufw app info 'OpenSSH'
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.
Port:
  22/tcp
如何在Ubuntu 18.04中配置防火墙

UFW是一个用户友好的前端,用于管理iptables防火墙规则,其主要目标是使管理iptables更容易或者顾名思义更简单。Ubuntu的防火墙设计为一种简单的方式,可以在不学习iptables的情况下执行基本的防火墙任务。它没有提供标准iptables命令的所有功能,但它不那么复杂。

日期:2020-07-07 20:55:14 来源:oir作者:oir