搜索

第 5 章 使用 Web 控制台管理防火墙

download PDF

防火墙是保护机器不受来自外部的、不需要的网络数据影响的一种方式。它允许用户通过定义一组防火墙规则来控制主机上的入站网络流量。这些规则用于对进入的流量进行排序,并可以阻断或允许流量。

5.1. 先决条件

  • RHEL 7 web 控制台配置 firewalld 服务。

    有关 firewalld 服务的详情,请查看 firewalld

5.2. 使用 Web 控制台运行防火墙

本节论述了在 web 控制台中运行 RHEL 7 系统防火墙的位置和方式。

注意

Web 控制台配置 firewalld 服务。

流程

  1. 登录到 web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. 打开 Networking 部分。
  3. Firewall 项,点 ON 来运行防火墙。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

在此阶段,您的防火墙正在运行。

要配置防火墙规则,请参阅使用 Web 控制台在 web 控制台中添加规则

5.3. 使用 Web 控制台停止防火墙

本节论述了在 web 控制台中停止 RHEL 7 系统防火墙的位置和方式。

注意

Web 控制台配置 firewalld 服务。

流程

  1. 登录到 web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. 打开 Networking 部分。
  3. Firewall 部分,点 OFF 来停止它。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

在这个阶段,防火墙已经停止,且不会保护您的系统的安全。

5.4. firewalld

firewalld 是一个防火墙服务守护进程,它为使用 D-Bus 接口提供动态可定制主机防火墙的防火墙服务守护进程。如果是动态的,它可在每次修改规则时启用、修改和删除规则,而不需要在每次修改规则时重启防火墙守护进程。

firewalld 使用 区(zone)服务(service) 的概念来简化流量管理。zones 是预定义的规则集。网络接口和源可以分配给区。允许的流量取决于您计算机连接到的网络,并分配了这个网络的安全级别。防火墙服务是预定义的规则,覆盖了允许特定服务进入流量的所有必要设置,并在区中应用。

服务使用一个或多个 端口地址 进行网络通信。防火墙会根据端口过滤通讯。要允许服务的网络流量,必须 打开 其端口。firewalld 阻断未明确设置为打开的端口上的所有流量。一些区(如 可信区(trusted) )默认允许所有流量。

其它资源

  • firewalld(1) man page

5.5. Zones

firewalld 可以用来根据用户决定放置在那个网络中的接口和流量级别的信任级别将网络划分为不同的区。一个连接只能是一个区的一部分,但一个区可以被用来进行很多网络连接。

NetworkManager 通知一个接口区的 firewalld。您可以为接口分配区:

  • NetworkManager
  • firewall-config 工具
  • firewall-cmd 命令行工具
  • RHEL web 控制台

后三个只能编辑正确的 NetworkManager 配置文件。如果您使用 web 控制台 firewall-cmdfirewall-config 更改接口区域,则请求会转发到 NetworkManager 且不由 ⁠firewalld 处理。

预定义区域存储在 /usr/lib/firewalld/zones/ 目录中,并可立即应用于任意可用的网络接口。只有在修改后,这些文件才会复制到 /etc/firewalld/zones/ 目录中。预定义区的默认设置如下:

block
任何带有 icmp-host-prohibited (IPv4)或 icmp6-adm-prohibited(IPv6)的入站网络连接都会被拒绝。只有从系统启动的网络连接才能进行。
dmz
对于您的非企业化区里的计算机来说,这些计算机可以被公开访问,且有限访问您的内部网络。只接受所选的入站连接。
drop
所有传入的网络数据包都会丢失,没有任何通知。只有外发网络连接也是可行的。
external
适用于启用了伪装的外部网络,特别是路由器。您不信任网络中的其他计算机不会损害您的计算机。只接受所选的入站连接。
home
用于家用,因为您可以信任其他计算机。只接受所选的入站连接。
internal
当您主要信任网络中的其他计算机时,供内部网络使用。只接受所选的入站连接。
public
可用于您不信任网络中其他计算机的公共区域。只接受所选的入站连接。
trusted
所有网络连接都被接受。
work
可用于您主要信任网络中其他计算机的工作。只接受所选的入站连接。

这些区中的一个被设置为 default 区。当接口连接添加到 NetworkManager 时,它们会被分配给默认区。安装时,firewalld 的默认区设置为 public 区。默认区可以被修改。

注意

网络区名称已被选择为自我解释,并允许用户迅速做出合理的决定。要避免安全问题,请查看默认区配置并根据您的需要和风险禁用任何不必要的服务。

其它资源

' firewalld.zone(5) man page

5.6. Web 控制台中的区

重要

防火墙区(zone)在 RHEL 7.7.0 中是新的。

Red Hat Enterprise Linux Web 控制台实现 firewalld 服务的主要功能,并可让您:

  • 将预定义的防火墙区添加到特定接口或 IP 地址范围
  • 在启用的服务列表中配置选择服务的区域
  • 通过从已启用的服务列表中删除此服务来禁用服务
  • 从接口中删除区

5.7. 使用 Web 控制台启用区

Web 控制台允许您在特定接口或者一系列 IP 地址中应用预定义和现有防火墙区。这部分论述了如何在接口中启用区。

先决条件

流程

  1. 使用管理权限登录到 RHEL web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. Networking
  3. 防火墙复选框标题。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

  4. Firewall 部分,点 Add Services
  5. Add Zone 按钮。
  6. Add Zone 对话框中,从信任级别中选择一个区。

    您可以在 firewalld 服务中看到所有预定义的区。

  7. Interfaces 部分,选择应用所选区的接口或接口。
  8. Allowed Addresses 部分,您可以选择是否应用区:

    • 整个子网
    • 或者以以下格式表示的 IP 地址范围:

      • 192.168.1.0
      • 192.168.1.0/24
      • 192.168.1.0/24, 192.168.1.0
  9. Add zone 按钮。

    cockpit fw zones add

验证 Active 区域中的配置。

cockpit fw zones active

5.8. 使用 Web 控制台在防火墙中启用服务

默认情况下,服务添加到默认防火墙区。如果您在更多网络接口中使用更多防火墙区,您必须首先选择一个区,然后使用端口添加该服务。

Web 控制台显示预定义的 firewalld 服务,您可以将其添加到活跃的防火墙区中。

重要

Web 控制台配置 firewalld 服务。

Web 控制台不允许没有在 web 控制台中列出的通用 firewalld 规则。

先决条件

流程

  1. 使用管理员权限登录到 RHEL web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. Networking
  3. 防火墙复选框标题。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

  4. Firewall 部分,点 Add Services

    cockpit add service

  5. Add Services 对话框中,选择要添加该服务的区。

    只有系统包含多个活跃区时,Add Services 对话框会包括一个活跃的防火墙区列表。

    如果系统只使用一个(默认)区,则对话框不包括区设置。

  6. Add Services 对话框中,找到您要在防火墙中启用的服务。
  7. 启用所需的服务。

    cockpit fw add jabber

  8. Add Services

此时,web 控制台在 Allowed Services 列表中显示该服务。

5.9. 使用 Web 控制台配置自定义端口

Web 控制台允许您添加:

这部分论述了如何使用配置了自定义端口添加服务。

先决条件

流程

  1. 使用管理员权限登录到 RHEL web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. Networking
  3. 防火墙复选框标题。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

  4. Firewall 部分,点 Add Services

    cockpit add service

  5. Add Services 对话框中,选择要添加该服务的区。

    只有系统包含多个活跃区时,Add Services 对话框会包括一个活跃的防火墙区列表。

    如果系统只使用一个(默认)区,则对话框不包括区设置。

  6. 添加端口对话框中点击自定义端口单选按钮。
  7. 在 TCP 和 UDP 字段中,根据示例添加端口。您可以使用以下格式添加端口:

    • 端口号,如 22
    • 端口号范围,如 5900-5910
    • 别名,比如 nfs, rsync
    注意

    您可以在每个字段中添加多个值。值必须用逗号分开,且没有空格,例如: 8080、8081、http

  8. TCP 和/或 UDP 字段中添加了端口号后,在名称字段验证服务名称。

    Name 字段显示保留此端口的服务名称。如果您确定这个端口可用,且不需要在该端口上通信,则可以重写名称。

  9. Name 字段中,为服务添加一个名称,包括定义的端口。
  10. 添加端口按钮。

    cockpit ports define

要验证设置,请进入防火墙 页面,在 Allowed Services 列表中找到该服务。

cockpit ports http

5.10. 使用 Web 控制台禁用区

这部分论述了如何使用 Web 控制台在防火墙配置中禁用防火墙区。

先决条件

流程

  1. 使用管理员权限登录到 RHEL web 控制台。

    详情请参阅 Web 控制台的日志记录

  2. Networking
  3. 防火墙复选框标题。

    cockpit fw

    如果没有看到 Firewall 复选框,请使用管理权限登录到 web 控制台。

  4. Active zones 表中,点您要删除的区的 Delete 图标。

    cockpit fw zones remove

现在,区已被禁用,接口不包括在区中配置的打开的服务和端口。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.