如何管理 Firewalld 和 UFW 以实现 Linux 安全
防火墙是一种软件,充当用户系统和外部网络之间的保护屏障,根据预定义的规则允许或阻止数据包。防火墙主要在网络层运行,处理 IPv4 和 IPv6 数据包。
允许或阻止数据包的决定基于防火墙中定义的规则。这些规则可以是内置的或用户定义的。进入或离开网络的每个数据包都必须通过此防火墙,并根据这些规则对其进行评估。
Linux系统提供了多种防火墙管理工具,最常见的是Firewalld和UFW。在本文中,我们将重点关注这两个工具,解释它们的功能以及如何在现代 Linux 发行版上管理它们。
什么是防火墙?
Firewalld 是一个动态防火墙管理工具,包含在许多 Linux 发行版中,例如 RHEL、CentOS、Fedora 等。它提供了一个更高级别的、用户友好的界面来管理防火墙规则和网络区域。
Firewalld 允许两种类型的配置:
- 永久:这些规则在系统重新启动后仍然存在。
- 运行时:这些规则是临时的,当系统或服务重新启动时就会丢失。
Firewalld 将网络流量组织到区域中,允许对各种网络(例如公共网络、内部网络或可信网络)使用不同的规则集。
Firewalld的配置存储在两个目录中:
- /usr/lib/firewalld:可能会被系统更新覆盖的默认配置。
- /etc/firewalld:系统特定的配置,在重新启动和更新后仍然保留。
管理 RHEL 系统中的 Firewalld 服务
以下是在基于 RHEL 的发行版上管理 Firewalld 的一些常用命令:
启动防火墙:
systemctl start firewalld
停止防火墙:
systemctl stop firewalld
检查防火墙状态:
systemctl status firewalld
检查Firewalld的状态:
firewall-cmd --state
在启动时启用 Firewalld:
systemctl enable firewalld
禁用防火墙:
systemctl disable firewalld
屏蔽 Firewalld(阻止其启动):
systemctl mask firewalld
取消防火墙屏蔽:
systemctl unmask firewalld
什么是 UFW?
UFW(简单防火墙)是Ubuntu和其他一些Linux发行版的默认防火墙管理工具。
UFW 是一个更易于使用的前端,用于使用 iptables 管理防火墙规则,它旨在使不需要 iptables 的全部复杂性的用户更简单地管理防火墙。
在 Debian 系统中管理 UFW 服务
以下是在基于 Debian 的发行版上管理 UFW 的一些常用命令:
启用 UFW:
sudo ufw enable
禁用 UFW:
sudo ufw disable
检查 UFW 状态:
sudo ufw status
使用 UFW 添加和管理规则
以下是管理 UFW 的基本命令:
允许 UFW 上的特定端口(例如 HTTP 端口 80):
sudo ufw allow 80
拒绝 UFW 上的特定端口:
sudo ufw deny 80
允许 UFW 上的 SSH 流量:
sudo ufw allow ssh
删除 UFW 上的规则:
sudo ufw delete allow 80
启用 UFW 日志记录:
sudo ufw logging on
结论
在本文中,我们介绍了在现代 Linux 发行版中管理 Firewalld 和 UFW 的基础知识。 Firewalld 和 UFW 都是管理网络流量和保护您的系统免受未经授权的访问的强大工具。
Firewalld 提供动态防火墙管理,支持区域和复杂规则集,使其成为更高级的用户和服务器的理想选择。另一方面,UFW 非常适合需要更简单、更用户友好的工具来管理防火墙规则的用户,特别是在桌面或轻量级服务器环境(如 Ubuntu)上。
有效理解和使用防火墙对于任何管理 Linux 系统的人来说都是一项至关重要的技能,有助于保护您的网络免受潜在威胁。