介绍
在本挑战中,你将练习在 Red Hat Enterprise Linux 系统上管理网络访问控制。你将使用 firewall-cmd 工具(它是 firewalld 服务的命令行界面)来配置允许或拒绝网络流量的规则。对于任何负责服务器安全的系统管理员来说,这都是一项至关重要的基本技能。
配置防火墙规则以允许 SSH 访问
你的第一个任务是确保允许通过系统防火墙进行 SSH 远程管理。你将为 SSH 服务添加一条永久规则。
在开始之前,检查防火墙状态是一个好习惯。你可以通过运行 sudo firewall-cmd --state 来确认。如果防火墙未运行,可以通过运行 sudo systemctl start firewalld 来启动它。
任务
- 创建一条永久防火墙规则以允许传入的 SSH 流量。
- 将更改应用到当前的防火墙配置中。
- 验证规则是否已成功添加。
要求
- 所有防火墙修改必须使用
firewall-cmd命令执行。 - 该规则必须明确启用
ssh服务。 - 该规则必须是永久性的(permanent),以便在系统重启后依然生效。
示例
在正确添加永久规则并重载防火墙后,列出永久服务列表时应包含 ssh。
$ sudo firewall-cmd --list-services --permanent
cockpit dhcpv6-client ssh
配置防火墙规则以阻止特定 IP 地址
接下来,你将通过阻止来自特定 IP 地址的所有流量来增强安全性。对于此任务,你将使用「富规则」(rich rule),它允许进行更复杂和详细的防火墙配置。
任务
- 创建一条永久富规则,以阻止来自 IP 地址
192.168.1.100的所有传入流量。 - 应用更改使规则生效。
- 验证富规则是否配置正确。
要求
- 必须使用
firewall-cmd命令创建规则。 - 该规则必须是一条「富规则」,用于拒绝(reject)来自源 IP 地址
192.168.1.100的流量。 - 该规则必须设置为永久生效。
示例
添加规则并重载防火墙后,列出永久富规则时应显示你创建的规则。
$ sudo firewall-cmd --list-rich-rules --permanent
rule family="ipv4" source address="192.168.1.100" reject
总结
在本挑战中,你学习了如何在 Red Hat Enterprise Linux 系统上使用 firewall-cmd 执行基本的防火墙管理任务。你成功配置了允许特定服务(SSH)的规则,并使用富规则阻止了来自特定源 IP 地址的流量。你还练习了如何使这些更改永久化并将其应用到当前的防火墙配置中。这些技能对于保护 Linux 系统安全和控制网络访问至关重要。



