Red Hat Training
A Red Hat training course is available for RHEL 8
45.12. 管理 ICMP 请求
Internet 控制消息协议
(ICMP
)是一种支持协议,其被各种网络设备用来进行测试、故障排除和诊断。ICMP
与 TCP 和 UDP 等传输协议不同,因为它不用于在系统之间交换数据。
您可以使用 ICMP
消息(特别是 echo-request
和 echo-reply
)来显示有关网络的信息,以及将这些信息滥用于各种欺诈活动。因此,firewalld
启用了控制 ICMP
请求,来保护您的网络信息。
45.12.1. 配置 ICMP 过滤
您可以使用 ICMP 过滤来定义您希望防火墙允许或拒绝哪些 ICMP 类型和代码到达您的系统。ICMP 类型和代码是 ICMP 消息的特定类别和子类别。
例如,在以下区域中,ICMP 过滤帮助:
- 安全增强 - 阻止潜在的有危害的 ICMP 类型和代码,以减少攻击面。
- 网络性能 - 仅允许必要的 ICMP 类型,以优化网络性能,并防止过量的 ICMP 流量导致的潜在网络拥塞。
- 排除控制问题 - 为排除网络故障维护基本的 ICMP 功能,并阻止表示潜在安全风险的 ICMP 类型。
前提条件
-
firewalld
服务正在运行。
流程
列出可用的 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 类型和代码。
通过以下方法过滤特定的 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 类型被防火墙阻止。
重新载入防火墙配置,以应用更改:
# firewall-cmd --reload
验证
验证您的过滤规则是否生效:
# firewall-cmd --list-icmp-blocks redirect
命令输出显示您允许或阻止的 ICMP 类型和代码。
其他资源
-
firewall-cmd (1)
手册页