搜索

9.12. 管理 ICMP 请求

download PDF

Internet 控制消息协议 (ICMP)是一种支持协议,供各种网络设备用来测试、故障排除和诊断。ICMP 与 TCP 和 UDP 等传输协议不同,因为它不用于在系统之间交换数据。

您可以使用 ICMP 消息(特别是 echo-requestecho-reply )来显示有关网络的信息,并为各种欺诈活动使用此类信息。因此,firewalld 允许控制 ICMP 请求来保护您的网络信息。

9.12.1. 配置 ICMP 过滤

您可以使用 ICMP 过滤来定义您希望防火墙允许或拒绝到达系统的 ICMP 类型和代码。ICMP 类型和代码是 ICMP 消息的特定类别和子类。

例如,在以下区域中的 ICMP 过滤可帮助:

  • 安全增强 - 阻止潜在的 ICMP 类型和代码,以减少您的攻击面。
  • 网络性能 - 仅计算必要的 ICMP 类型以优化网络性能,并防止受过度 ICMP 流量导致的潜在网络拥塞。
  • 故障排除控制 - 维护基本的 ICMP 功能,用于表示潜在的安全风险的网络故障排除和阻止 ICMP 类型。

前提条件

  • firewalld 服务正在运行。

流程

  1. 列出可用的 ICMP 类型和代码:

    # firewall-cmd --get-icmptypes
    address-unreachable bad-header beyond-scope communication-prohibited destination-unreachable echo-reply echo-request failed-policy fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable
    ...

    从该预定义列表中选择允许或阻止的 ICMP 类型和代码。

  2. 通过以下方法过滤特定的 ICMP 类型:

    • 允许 ICMP 类型:

      # firewall-cmd --zone=<target-zone> --remove-icmp-block=echo-request --permanent

      该命令删除对 echo requests ICMP 类型的任何现有的阻塞规则。

    • 阻塞 ICMP 类型:

      # firewall-cmd --zone=<target-zone> --add-icmp-block=redirect --permanent

      该命令确保防火墙阻止重定向消息 ICMP 类型。

  3. 重新载入防火墙配置以应用更改:

    # firewall-cmd --reload

验证

  • 验证您的过滤规则是否生效:

    # firewall-cmd --list-icmp-blocks
    redirect

    命令输出显示您允许或拒绝的 ICMP 类型和代码。

其他资源

  • firewall-cmd (1) 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.