UFW中文网

使用UFW防火墙增强您的Archlinux安全性

防火墙是安全术语中最常用的词之一,用于保护您的网络,今天在本教程中我将向 Arch 用户简单地解释如何通过 ufw 在 arch Linux 中设置防火墙(简单的防火墙 ):

请记住,本教程适用于所有基于 Arch Linux 的系统:

  1. 在下载任何软件包之前先升级整个系统:
sudo pacman -Syu
  1. 之后您必须从社区存储库安装 ufw 软件包:
sudo pacman -S ufw
  1. 启动并启用 UFW 的 systemd 单元:
sudo systemctl start ufw
sudo systemctl enable ufw
  1. ufw和规则

ufw 和一般所有防火墙工具都使用“规则”来启用或禁用数据包到达/接收到任何计算机。因此默认情况下,您必须通过以下方式允许任何传出流量并拒绝任何传入流量:

sudo ufw default allow outgoing
sudo ufw default deny incoming
  1. 添加规则:

可以通过两种方式添加规则:通过表示端口号或使用服务名称。

例如,要允许端口 22 上的 SSH 传入和传出连接,您可以运行:

sudo ufw allow ssh

或者 :

sudo ufw allow 22

这些是另一个示例:

sudo ufw allow 80/tcp
sudo ufw allow http/tcp
sudo ufw allow 1725/udp
sudo ufw allow 1725/udp
sudo ufw allow from 123.45.67.89/24
sudo ufw allow from 123.45.67.89 to any port 22 proto tcp
  1. 删除规则:

要删除规则,请添加

delete

在规则实施之前。如果您不再希望允许 HTTP 流量,您可以运行:

sudo ufw delete allow 22

UFW状态

您可以随时使用以下命令检查 UFW 的状态:

sudo ufw status

这将显示所有规则的列表,以及 UFW 是否处于活动状态:

Status: active

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

启用防火墙

根据您选择的规则,您的初始运行

ufw status

可能会输出

Status: inactive

要启用 UFW 并强制执行防火墙规则:

sudo ufw enable

同样,要禁用 UFW 的规则:

sudo ufw disable

但这还不够。当您重新启动计算机并获取 ufw 的状态时,会遇到 ufw 仍然“不活动”。解决此问题的一种方法是 systemd/timer。

计时器直接与服务单位合作。所以我们必须创建

新建/etc/systemd/system/ufwAuto.service

ufwAuto.service内容:

[Unit]
Description=Check Is FireWall on/off and Up it is down!

[Service]
Type=simple
ExecStart=/home/saeed/ufw.sh

[Install]
WantedBy=multi-user.target

ufw.sh内容:

#!/bin/bash
temp=$(sudo ufw status | grep Status | cut -d" " -f2)
if [ "$temp" == "inactive" ]; then
exec sudo ufw enable
fi

然后为该服务创建一个时间单位:

sudo nano /etc/systemd/system/ufwAuto.timer

ufwAuto.timer内容:

[Unit]
Description=Run ufwAuto.service every 1 minutes

[Timer]
OnCalendar=*:0/1
Unit=ufwAuto.service

[Install]
WantedBy=multi-user.target

之后,您必须启用并启动服务单元以根据计时器单元中的模式运行脚本:

sudo systemctl enable ufwAuto.service
sudo systemctl start ufwAuto.service

您的系统现在已免受黑客攻击。