UFW(Uncomplicated Firewall)是一个用于管理 Linux 系统上防火墙规则的工具,旨在简化 iptables 的复杂性。UFW 提供了一个易于使用的命令行界面,使得配置和管理防火墙规则变得更加简单。
1、ufw日志是否启用
sudo ufw status verbose
输出显示 Logging: on (low),说明日志已经开启了;如果显示的Logging: off,则需要开启日志
sudo ufw logging on 开启日志
2、查看ufw日志
sudo less /var/log/ufw.log
主要查看以下字段信息
Jun 30 00:05:18 sdc kernel: [283361.762575]:显示自启动以来的日期、时间、主机名和内核时间。[UFW BLOCK]:如果您在默认设置下使用UFW日志,日志记录级别将锁定在低级别。这意味着它只会显示不符合 UFW 规则的被拒绝的数据包。[UFW ALLOW]:尽管有默认的日志记录级别,但如果您添加了日志记录规则,它将记录与该服务相关的每个详细信息,并且UFW ALLOW表示允许数据包。IN=eno2:显示数据包到达的接口。SRC=141.11.101.192:报文源IP地址。DST:显示数据包目的地的 IP 地址,它将是您系统的 IP。SPT=443:获取数据包的源端口。DPT=30364:表示数据包的目的端口。
3、查看ufw日志级别
UFW 日志记录有 5 个级别。
-
off:表示禁用日志记录。 -
low:将存储与与当前防火墙规则不匹配的被阻止数据包相关的日志,并将显示与记录的规则相关的日志条目。 是的,您也可以指定记录的规则,并将在本指南的后面部分向您展示如何操作。 -
medium:除了低级别提供的所有日志之外,您还可以获得无效数据包、新连接以及通过速率限制完成的日志记录。 -
high:将包含具有速率限制和不具有速率限制的数据包的日志。 -
full:此级别与高级别类似,但不包括速率限制。sudo ufw logging logging_level
logging_level 修改成对应级别,比如日志级别修改成中,sudo ufw logging medium
4、ufw规则
-
允许特定端口:
sudo ufw allow <port>/<optional:protocol>例如,允许 SSH 端口(默认 22):
sudo ufw allow 22/tcp -
拒绝特定端口:
sudo ufw deny <port>/<optional:protocol>例如,拒绝 HTTP 端口(默认 80):
sudo ufw deny 80/tcp -
删除规则:
sudo ufw delete allow <port>/<optional:protocol>例如,删除允许 SSH 端口的规则:
sudo ufw delete allow 22/tcp -
允许特定 IP 地址:
sudo ufw allow from <IP_address>例如,允许特定 IP 访问 SSH 端口:
sudo ufw allow from 192.168.1.100 to any port 22 -
拒绝特定 IP 地址:
sudo ufw deny from <IP_address> -
例如,拒绝特定 IP 访问 HTTP 端口:
sudo ufw deny from 192.168.1.100 to any port 80 -
允许特定网络:
sudo ufw allow from <network>/<netmask>例如,允许特定网络访问 HTTP 端口:
sudo ufw allow from 192.168.1.0/24 to any port 80 -
设置默认入站策略:
sudo ufw default deny incoming -
设置默认出站策略:
sudo ufw default allow outgoing