如何在 Ubuntu 22.04 上安装和配置 UFW 防火墙
介绍
UFW 在 Ubuntu Linux 中的用途是什么?
UFW(简单防火墙)是 iptables 的前端,特别适合基于主机的防火墙。UFW 提供了一个用于管理 netfilter 的框架,以及一个用于操作防火墙的命令行界面。
UFW 是一款出色的防火墙工具,设计为在主机或服务器上运行。它允许或阻止传入和传出服务器的连接。您可以使用 UFW 阻止端口、IP 甚至整个子网。它不像 iptables 那样灵活,但对于基本操作来说要容易得多。
UFW 与 IPTables
在 Ubuntu 服务器上配置防火墙时,您有两个主要选项:ufw 和 iptables。这两种工具都提供防火墙功能,但在易用性和复杂性方面有所不同。
UFW 是 iptables 的前端,旨在简化配置防火墙的过程。它提供了用户友好的命令行界面,并允许您使用人类可读的语法来管理防火墙规则。UfW 提供了一组易于理解和配置的默认规则。
IPTables 允许您根据各种条件(例如 IP 地址、端口、协议等)定义规则,从而提供对网络流量的精细控制。IPTables 为您提供了更大的灵活性,但配置也稍微复杂一些。因此,请使用您最满意的一个。如果您使用 iptables,请记住它只影响 IPv4 - 如果您的服务器有 IPv6,您还需要使用 ip6tables。
在本文中,我们将向您展示如何在 Ubuntu 22.04 上安装和配置 UFW 防火墙。
如何安装UFW防火墙
第 1 步:通过 SSH 登录 Linux 系统
要安装 UFW,您需要通过 SSH 进入系统。
sudo apt update sudo apt upgrade
要检查 ufw 是否已安装,可以使用 which 命令:
which ufw
如果结果没有显示输出,则意味着 ufw 尚未安装,您应该像下面一样安装它。
第3步:安装UFW
sudo apt-get install ufw
ufw安装完成后,使用以下命令进行检查。安装后初始默认,UFW 将被禁用,因为它尚未激活,您必须手动启用它。
sudo ufw status verbose ----------------------------- Output Status: inactive
第四步:启用UFW,安装后激活UFW
要启用 UFW 并开始强制执行防火墙规则,请运行:
sudo ufw enable
要暂时禁用 UFW,请运行:
sudo ufw disable
如何配置 UFW 防火墙
1.UFW检查状态
要检查 UFW 的当前状态,请运行以下命令:
sudo ufw status
这将显示 UFW 是否处于活动状态、默认输入和输出策略以及已创建的任何规则。
默认情况下,全新安装的 Ubuntu 22.04 将使 UFW 处于非活动状态。
2.UFW允许端口
要允许特定端口上的传入连接,您需要使用 UFW 允许该端口。例如,要允许端口 80 上的 HTTP 流量,请运行:
sudo ufw allow 80/tcp
这将允许端口 80 上的所有传入 TCP 连接。您还可以指定 IP 地址以仅允许特定主机:
sudo ufw allow from 192.168.1.100 to any port 80
要在端口 123 上同时允许 TCP 和 UDP 协议,请运行:
sudo ufw allow 123/tcp sudo ufw allow 123/udp
3. UFW允许多个端口
要同时允许多个端口,请指定起始端口和结束端口:
sudo ufw allow 2000:2100/tcp
这将允许 2000 到 2100 之间的所有端口。您还可以在以逗号分隔的列表中指定端口:
sudo ufw allow 80,443,8080/tcp sudo ufw allow 22,25,110/tcp
4. UFW 允许 HTTP/HTTPS 流量
允许传入 HTTP 和 HTTPS 流量是一项常见要求。您可以通过以下方式做到这一点:
sudo ufw allow 'Apache Full'
这将允许端口 80 上的 HTTP 流量和端口 443 上的 HTTPS 流量。
5.UFW允许SSH
要允许端口 22 上的传入 SSH 连接,请运行:
sudo ufw allow 22/tcp
这是使用 SSH 远程管理 Ubuntu 服务器所必需的。
6. UFW 允许 DNS 流量
DNS 在端口 53 上使用 UDP 协议。要允许传入 DNS 查询,请运行:
sudo ufw allow 53/udp
7.UFW允许VNC
要允许传入 VNC 连接(通常是端口 5900 ),请运行:
sudo ufw allow 5900/tcp
8.UFW拒绝端口
要阻止特定端口或协议,请使用拒绝而不是允许。例如,要阻止传入 SMTP 流量:
sudo ufw deny 25/tcp
关闭 tcp 和 udp 端口,将 80 替换为所需的端口号:
sudo ufw deny 80
对于端口范围,您可以使用以下语法:
ufw deny 1234:2345 ufw deny 1234:2345/tcp ufw deny 1234:2345/udp
9. UFW 设置默认策略
默认情况下,UFW 传入策略设置为拒绝,这意味着所有传入流量都会被阻止。您可以使用以下方法更改此策略:
sudo ufw default deny incoming # To deny all incoming traffic sudo ufw default allow incoming # To allow all incoming traffic
同样,您可以使用以下方法设置默认传出策略:
sudo ufw default deny outgoing sudo ufw default allow outgoing
为了安全起见,建议保留默认的传入策略为拒绝。
10.UFW检查日志
您可以使用以下命令启用日志记录:
sudo ufw logging on
可以通过运行 sudo ufwlogging low|medium|high 来设置日志级别,从列表中选择低、中或高。默认设置较低。
UFW 将拒绝连接的日志保存在 /var/log/ufw.log 中。您可以使用以下命令查看日志文件:
sudo less /var/log/ufw.log
要启用详细日志记录,请运行:
sudo ufw logging verbose
然后 UFW 将记录所有允许和拒绝的连接。
11. UFW删除规则
语法如下,以编号列表格式列出当前所有规则:
sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere # accept Apache [ 3] 443/tcp ALLOW IN Anywhere # accept HTTPS connections [ 4] 1194/udp ALLOW IN Anywhere # OpenVPN server [ 5] 3000:4000/tcp ALLOW IN Anywhere [ 6] 3000:4000/udp ALLOW IN Anywhere
要删除第六条规则,请键入命令:
sudo ufw delete 6
您还可以删除特定端口的规则:
sudo ufw delete allow 80
要刷新所有 UFW 规则并恢复默认策略,请运行:
sudo ufw reset
12.UFW恢复默认
由于某种原因,您需要恢复/删除所有现有规则以返回到原始默认值,请使用重置选项执行以下操作:
sudo ufw disable sudo ufw reset sudo ufw enable
这将:
- 禁用 UFW
- 刷新现有规则
- 使用默认配置重新启用 UFW
这可确保 UFW 再次使用默认设置。
13.UFW启用IPv6
确保 /etc/default/ufw 文件中存在指令 IPV6=yes。例如:
cat /etc/default/ufw
结论
UFW 是一个功能强大的工具,如果配置正确,可以大大提高服务器的安全性。本参考指南涵盖了一些常用于在 Ubuntu 上配置防火墙的常见 UFW 规则。您的防火墙现已配置为允许(至少)SSH 连接。请务必允许服务器所需的任何其他传入连接,同时限制任何不必要的连接,以便您的服务器正常运行且安全。
文章作者:主机博客
文章标题:如何在 Ubuntu 22.04 上安装和配置 UFW 防火墙
文章地址:https://www.hostblog.cn/685.html
文章版权:
主机博客所发布的内容,部分为原创,转载请注明来源,网络转载文章如有侵权请联系我们!