Ubuntu配置防火墙


目录:

UFW 代表 Uncomplicated Firewall ,是用于管理 iptables(netfilter) 防火墙规则的对用户更加友好的前端工具,它是Ubuntu的默认防火墙配置工具。

列出 UFW 规则

您可以通过以下命令检查 UFW 的状态并列出所有规则:

sudo ufw status

如果未启用UFW,则会显示:

Status: inactive

如果已经启用,则UFW 处于活动状态,输出将打印所有活动防火墙规则的列表:

Status: active

To                        Action      From
--                        ------      ----
22/tcp                    ALLOW      Anywhere
22/tcp (v6)                ALLOW      Anywhere (v6)

如果想要获得额外信息,可以使用status verbose

sudo ufw status verbose

输出将包含有关日志记录,默认策略和新配置文件的信息:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                        Action      From
--                        ------      ----
22/tcp                    ALLOW      Anywhere
22/tcp (v6)                ALLOW      Anywhere (v6)

如果想要得到所有活动规则的顺序和 ID,可以使用status numbered

sudo ufw status numbered

输出则会显示以下内容:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

添加UFW规则

添加规则很简单,不过在添加之前,首先确认UFW是否开启。

例如,如果你要添加打开12345端口的规则,键入以下命令即可:

sudo ufw allow 12345

拒绝:

sudo ufw deny 12345

删除UFW规则

有两种方法可以删除 UFW 规则:

  • 按规则编号
  • 按规则格式

> 如果你是通过 SSH 删除防火墙规则,请确保不要通过删除允许 SSH 通信端口的规则来将自己锁定在远程服务器之外。默认情况下,SSH 侦听端口 22 。

按规则编号删除 UFW 规则

  1. 列出规则并找到要删除的规则编号(上面提到的status numbered命令);
  2. 知道规则编号后,使用ufw delete命令后跟要删除的规则编号。

例如,要删除带有 number 的规则4,您可以键入:

sudo ufw delete 4

系统将提示您确认是否要删除规则:

Deleting:
 allow 22/tcp
Proceed with operation (y|n)? y

键入y,点击Enter,规则将被删除,并提示:

Rule deleted

每次删除规则时,规则编号都会更改。因此,为了安全起见,在删除另一条规则之前列出规则

按规范删除 UFW 规则

这种方式比较简单,直接在ufw delete后面添加需要删除的规则即可

例如,如果你添加了打开端口的规则12345,使用以下命令即可删除:

sudo ufw delete allow 12345

重置UFW所有规则

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

要重置 UFW,键入以下命令:

sudo ufw reset