使用UFW防火墙增强您的Archlinux安全性
防火墙是安全术语中最常用的词之一,用于保护您的网络,今天在本教程中我将向 Arch 用户简单地解释如何通过 ufw 在 arch Linux 中设置防火墙(简单的防火墙 ):
请记住,本教程适用于所有基于 Arch Linux 的系统:
- 在下载任何软件包之前先升级整个系统:
sudo pacman -Syu
- 之后您必须从社区存储库安装 ufw 软件包:
sudo pacman -S ufw
- 启动并启用 UFW 的 systemd 单元:
sudo systemctl start ufw
sudo systemctl enable ufw
- ufw和规则
ufw 和一般所有防火墙工具都使用“规则”来启用或禁用数据包到达/接收到任何计算机。因此默认情况下,您必须通过以下方式允许任何传出流量并拒绝任何传入流量:
sudo ufw default allow outgoing
sudo ufw default deny incoming
- 添加规则:
可以通过两种方式添加规则:通过表示端口号或使用服务名称。
例如,要允许端口 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
- 删除规则:
要删除规则,请添加
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
您的系统现在已免受黑客攻击。