top
本文目录
引言
1. 安装 UFW
在 Ubuntu/Debian 系统上安装 UFW
在 CentOS/RHEL 系统上安装 UFW
2. 启用和禁用 UFW
启用 UFW
禁用 UFW
3. 基本的防火墙规则配置
查看当前 UFW 状态
允许指定端口
拒绝某个端口的流量
删除规则
4. 高级配置
限制 SSH 连接
设置默认规则
设置规则在特定接口或IP上生效
配置应用程序
5. 日志记录
6. 重置 UFW
7. 高级命令
禁止访问特定 IP
查看日志
结语

Linux UFW防火墙完全使用手册

Linux UFW(Uncomplicated Firewall)使用教程

引言

Linux 系统中的防火墙是一项重要的安全功能,它能帮助管理员控制网络流量,防止未经授权的访问。UFW(Uncomplicated Firewall)是一个旨在简化 Linux 防火墙管理的工具,特别适合那些没有深入学习 iptables 的用户。UFW 是基于 iptables 的前端工具,它通过更简洁的命令集来管理防火墙规则,使得管理防火墙变得更加方便和直观。

本文将详细介绍如何在 Linux 系统中使用 UFW,帮助你快速上手并理解如何配置防火墙规则。

1. 安装 UFW

在大多数基于 Debian 和 Ubuntu 的 Linux 发行版中,UFW 通常是预安装的。如果没有安装,你可以通过以下命令来安装它:

在 Ubuntu/Debian 系统上安装 UFW

bash
sudo apt update
sudo apt install ufw

在 CentOS/RHEL 系统上安装 UFW

CentOS/RHEL 默认并不提供 UFW 包,但可以通过 EPEL(Extra Packages for Enterprise Linux)仓库来安装它:

bash
sudo yum install epel-release
sudo yum install ufw

安装完成后,你可以通过以下命令验证 UFW 是否安装成功:

bash
ufw --version

2. 启用和禁用 UFW

启用 UFW

在开始配置 UFW 之前,你需要首先启用它。可以通过以下命令启用 UFW:

bash
sudo ufw enable

启用后,UFW 将会立即生效并开始过滤网络流量。

禁用 UFW

如果你需要暂时关闭 UFW,可以使用以下命令:

bash
sudo ufw disable

3. 基本的防火墙规则配置

查看当前 UFW 状态

在开始配置之前,先查看当前 UFW 的状态以及已启用的规则:

bash
sudo ufw status

如果 UFW 已启用,你会看到类似下面的输出,列出了当前规则:

```
Status: active

To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
```

如果 UFW 没有启用,则会显示:

Status: inactive

允许指定端口

为了允许某些服务的流量通过防火墙,你需要显式允许指定的端口。例如,要允许 HTTP(端口 80)和 HTTPS(端口 443)流量,你可以使用以下命令:

bash
sudo ufw allow 80
sudo ufw allow 443

也可以一次性同时允许多个端口:

bash
sudo ufw allow 80,443

你还可以通过指定协议(TCP/UDP)来精确控制规则。例如,要允许特定协议的流量,可以使用:

bash
sudo ufw allow 80/tcp
sudo ufw allow 123/udp

拒绝某个端口的流量

如果你想要阻止某个端口的流量(例如,阻止 SSH 端口 22),可以使用以下命令:

bash
sudo ufw deny 22

删除规则

如果你不再需要某条规则,可以通过以下命令删除它。例如,要删除允许端口 80 的规则:

bash
sudo ufw delete allow 80

4. 高级配置

限制 SSH 连接

默认情况下,UFW 会允许 SSH 端口(22)上的流量,但为了增加安全性,建议限制 SSH 连接的速率,防止暴力破解攻击。可以使用以下命令:

bash
sudo ufw limit ssh

这将限制每分钟的连接尝试次数。如果超过此次数,IP 会被暂时封禁。

设置默认规则

UFW 允许你设置默认的流量策略。在没有匹配任何规则的情况下,默认规则会决定流量的处理方式。默认有两种策略:allowdeny

  • 默认允许所有传入连接:

bash
sudo ufw default allow incoming

  • 默认拒绝所有传入连接:

bash
sudo ufw default deny incoming

你通常会选择设置默认拒绝传入连接,并允许特定的服务(如 SSH、HTTP、HTTPS 等)流量。

bash
sudo ufw default deny incoming
sudo ufw default allow outgoing

设置规则在特定接口或IP上生效

你可以通过指定特定的接口或 IP 地址来更精细地控制规则。例如,要允许从特定 IP 地址(例如,192.168.1.100)访问 SSH:

bash
sudo ufw allow from 192.168.1.100 to any port 22

你也可以通过指定网络接口来限制流量。例如,允许通过 eth0 接口的 HTTP 流量:

bash
sudo ufw allow in on eth0 to any port 80

配置应用程序

UFW 还支持配置应用程序服务规则。例如,你可以通过以下命令查看系统中已经定义的应用程序配置:

bash
sudo ufw app list

此命令会列出当前所有已知的应用程序配置(如 OpenSSH、Apache、Nginx 等)。要允许某个应用程序的流量,可以使用类似以下命令:

bash
sudo ufw allow 'Apache'

或者你也可以使用应用程序配置文件来允许特定服务(如 SSH):

bash
sudo ufw allow 'OpenSSH'

5. 日志记录

启用 UFW 后,可以通过以下命令查看防火墙的日志:

bash
sudo ufw logging on

默认情况下,UFW 会将日志记录在 /var/log/ufw.log 文件中。如果你需要查看日志,可以使用以下命令:

bash
sudo tail -f /var/log/ufw.log

你可以根据需要调整日志级别,查看更详细的日志信息。

6. 重置 UFW

如果你想要清除所有规则并将 UFW 设置为初始状态,可以使用以下命令:

bash
sudo ufw reset

这会禁用 UFW 并删除所有现有规则。之后,你可以重新启用 UFW 并设置新的规则。

7. 高级命令

禁止访问特定 IP

如果你需要阻止某个特定的 IP 地址访问你的服务器,可以使用以下命令:

bash
sudo ufw deny from 192.168.1.100

这将禁止来自 192.168.1.100 的所有访问。

查看日志

查看日志文件以监控被 UFW 阻止的流量:

bash
sudo tail -f /var/log/ufw.log

结语

通过本教程的学习,你应该已经掌握了 UFW 的基本用法,包括如何安装、配置和管理防火墙规则。UFW 提供了一个简洁而强大的方式来确保你的 Linux 系统的安全性。合理配置防火墙规则、限制不必要的服务和访问可以有效提升你的系统防护能力。

THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报
发表评论
评论列表

赶快来坐沙发