
遇到 ICMP 攻击就一刀切禁 ping?攻击挡住了,监控也失明了。本文拆解四类 ICMP 攻击的判断方法,给出"按类型放行、限速管控、白名单保底、上游协同"的精细化防护方案,并附一份可直接对照执行的清单。
一、先纠正一个最常见的错误做法
提到 ICMP 攻击,很多运维的第一反应是"禁 ping"。这一刀切下去,攻击确实打不进来了,但代价也跟着来了:链路质量无法探测、监控告警失明、CDN 健康检查失效、客户和上级 ping 不通就以为服务挂了——故障沟通成本反而飙升。
正确的思路不是"禁用 ICMP",而是把 ICMP 当成一个有正常业务价值的协议来管理:区分类型、限制速率、收敛暴露面。本文按"认识协议 → 识别攻击 → 精细防护"的顺序展开,最后给一份可以直接对照执行的清单。
二、先认识 ICMP:它不是"可有可无"的协议
ICMP(Internet Control Message Protocol,互联网控制报文协议)工作在网络层,负责传递控制和差错信息。它承担着几项正经工作:
| 类型 |
常见报文 |
用途 |
| 差错类 |
Type 3(目的不可达)、Type 11(超时) |
告知发送方报文未能送达及原因 |
| 诊断类 |
Type 8(Echo 请求)/ Type 0(Echo 应答) |
ping 的底层实现,链路连通性探测 |
| 路径发现 |
Type 5(重定向)、PMTUD 相关报文 |
路由优化、路径 MTU 发现(PMTUD) |
注意最后一行:PMTUD(路径 MTU 发现)依赖 ICMP 差错报文。如果防火墙把 ICMP 差错报文一刀切掉,会出现"小包正常、大包发不出去"的经典疑难杂症——网站图片打不开、VPN 传大文件卡死、SSL 握手失败。这是"无脑禁 ICMP"最常踩的坑。
所以应对 ICMP 攻击的前提是:知道哪些 ICMP 必须留,哪些可以限,哪些可以拒。
三、四类 ICMP 攻击与判断方法
3.1 ICMP 洪水攻击(ICMP Flood)
- 形式:海量 Echo 请求(ping)涌向目标,耗尽带宽或连接处理能力;
- 特征:入站 ICMP 流量陡增,源地址可能分散也可能集中,ping 延迟同步飙升;
- 判断:流量监控中 ICMP 占比异常升高(正常业务网络中 ICMP 只占很小比例);抓包看每秒 Echo 请求速率远超正常水平。
3.2 Smurf 反射攻击
- 形式:攻击者伪造受害者的源地址,向某网段的广播地址发送 Echo 请求,整个网段的主机把应答全部发给"受害者"——这是反射流量攻击的早期形态(DNS 反射攻击是它的"现代升级版");
- 特征:受害者收到海量来自不同主机的 Echo 应答(Type 0),而自己从未发起过对应请求;
- 判断:入站流量以 Type 0 应答为主、来源极其分散、且与出站请求量完全对不上。
3.3 超大报文攻击(超大 ping / 分片攻击)
- 形式:构造超过协议规范或利用分片机制的异常报文,试图触发目标系统处理异常或耗尽重组资源;
- 特征:报文长度异常、分片数量异常;
- 判断:现代系统对此类报文普遍已有免疫,但老旧设备和嵌入式系统仍需防范;抓包可见异常长度的 ICMP 报文或异常分片模式。
3.4 ICMP 隧道滥用
- 形式:把数据藏进 Echo 报文的数据字段,借 ping 的"合法外衣"绕过防火墙进行隐蔽通信或数据外发——严格说这不是"攻击服务器",而是攻击者利用 ICMP 的"宽容"做掩护;
- 特征:ICMP 报文的数据字段大小异常、频率规律性异常(周期性 ping 且载荷恒定)、出站 ICMP 流量与业务行为不匹配;
- 判断:这最容易被忽视。如果你的安全策略"放行了全部 ICMP",那么这条通道可能正在被滥用。
共同点:四类问题都依赖"ICMP 被无差别放行"这个前提。这决定了防护方向——精细化管控,而不是全禁。
四、精细化防护方案
4.1 第一步:按类型放行,而不是按协议放行
推荐的企业出入站基线:
| ICMP 类型 |
方向 |
建议策略 |
| Echo 请求(Type 8) |
入站 |
限速放行或仅对监控/白名单源开放 |
| Echo 应答(Type 0) |
入站 |
默认拒绝——正常业务不应收到大量陌生应答(防 Smurf) |
| 目的不可达(Type 3) |
入站 |
放行(PMTUD 依赖,代码 4"需要分片"必须放行) |
| 超时(Type 11) |
入站 |
放行(traceroute 诊断依赖) |
| 重定向(Type 5) |
入站 |
默认拒绝——正规网络中网关不应向终端发重定向 |
| 时间戳请求/应答(13/14) |
双向 |
默认拒绝——可被用于主机侦察 |
核心原则一句话:放行差错类、管控诊断类、拒绝侦察类。
4.2 第二步:对必须放行的 Echo 做速率限制
主流防火墙和云安全组都支持 ICMP 限速(如 iptables 的 limit 模块、云防火墙的限速策略)。参考基线:
- 单源 IP:每秒几个探测包足够监控和排障使用;
- 全局:设置 ICMP 带宽占用量上限(如链路带宽的 1%–2%),超过即丢弃并告警;
- 监控系统的探测源 IP 建议加入白名单,保证告警链路不受限速影响。
这样即使遭遇 ICMP 洪水,影响也被压在很小的带宽占比内,正常业务不受波及。
4.3 第三步:收敛"应答面",而不是藏起来
"禁 ping"要不要做?建议分场景:
- 公网核心业务服务器:不必禁。ping 是客户和监控判断服务存活的直觉工具,限速放行即可;
- 管理网段、跳板机、数据库等内部资产:应禁止公网 ICMP,且只对管理源 IP 开放;
- 如果业务必须禁 ping(如合规要求):请同步改造监控探测方式(TCP 探测、HTTP 探活),避免监控失明。
另外注意:禁 ping 挡不住扫描。端口扫描、TCP SYN 探测照样能发现你的主机,禁 ping 提供的"隐蔽感"基本是心理安慰,真正的价值在于限速和类型管控。
4.4 第四步:上游协同,对付大流量洪水
- 确认攻击量级与类型(是 Echo 洪水还是应答反射);
- 联系托管商/云厂商在上游过滤——在源头丢一个包,比在目的地丢便宜得多;
- 已有高防/清洗服务的,切换到清洗线路;Smurf 类反射流量可以在清洗中心按"只应答不请求"的特征直接过滤;
- 留存证据,视损失情况报案。
4.5 第五步:防"内鬼"——ICMP 出站也要管
ICMP 隧道滥用的方向是出站的。在出口防火墙上:
- 对出站 ICMP 同样做类型与速率限制;
- 内网终端一般不需要对公网任意目标 ping(放行给运维网段即可);
- 结合流量审计,对"周期性、大载荷"的出站 ping 模式告警。
五、可直接对照执行的防护清单
- 摸底:当前防火墙/安全组对 ICMP 的策略是"全放行"还是"全禁"?有无类型级控制?
- 基线:按 4.1 的类型表调整——差错类放行、Echo 限速、Type 0/5/13/14 入站默认拒
- 限速:对入站和出站 Echo 都设速率上限与带宽占比告警阈值
- 白名单:监控探测源、CDN 健康检查源加入放行名单
- 收敛:管理面资产不对公网开放 ICMP,仅限管理源访问
- 监控:把 ICMP 占比、异常 Echo 速率纳入告警项;出站异常 ping 模式纳入审计
- 演练:模拟一次 ICMP 洪水(经授权的压力测试),验证限速与告警是否生效
- 预案:记录托管商/云厂商安全团队的紧急联系通道,明确大流量攻击时的上报与切换流程
六、常见问题(FAQ)
- Q1:到底要不要禁 ping?
- 不建议一刀切禁。建议限速放行并对管理资产收紧。禁 ping 挡不住端口扫描,反而损失了链路探测能力;如果因合规必须禁,记得同步改造监控探测方式。
- Q2:禁 ping 之后黑客就找不到我的服务器了吗?
- 找不到的只是"回应 ping 的主机"。端口扫描、TCP 探测、证书透明度日志、历史 DNS 记录都能定位服务器。真正的隐蔽要靠"源站只对 CDN 回源开放 + 收紧端口"来实现。
- Q3:ping 值突然飙高、丢包严重,是 ICMP 攻击吗?
- 先看量级和构成:登录防火墙查看入站 ICMP 占比与每秒 Echo 速率。如果 ICMP 占比异常升高、Echo 速率远超正常,可基本判断;如果 ICMP 正常但丢包,问题可能在国际链路拥塞或其他攻击类型,可参考本站关于反射流量攻击的文章进一步排查。
- Q4:ICMP 差错报文为什么不能全禁?会不会有风险?
- 不能全禁。PMTUD(路径 MTU 发现)依赖"目的不可达/需要分片"(Type 3 Code 4)报文,全禁会导致大包传输异常:网页大图加载失败、VPN 大文件卡死、部分 TLS 握手失败。差错类报文不含可被利用的应答放大特性,放行风险很低。
- Q5:云服务器安全组应该怎么配 ICMP?
- 分资产定级:面向公网的业务服务器,放行入站 Type 8 但加限速;内部资产仅对管理源开放;所有服务器的出站 ICMP 建议限速。多数云安全组支持按 ICMP 类型/代码配置,不必停留在"允许 ICMP"这种粗粒度上。
- Q6:ICMP 攻击和 DDoS 是什么关系?
- ICMP Flood 是 DDoS 的一种经典形式;Smurf 则是反射型 DDoS 的鼻祖。ICMP 攻击主要是 DDoS 体系里的一个子类,应对思路(限速、上游过滤、清洗)也一脉相承。
- Q7:发现 ICMP 流量异常,第一步做什么?
- 先分流:是入站打你(洪水/反射),还是你的机器在对外发异常 ICMP(被当跳板或隧道滥用)。方向不同,处置完全不同:前者找上游过滤,后者排查主机是否失陷。
- Q8:监控探测因为限速误伤了怎么办?
- 把监控和健康检查的源 IP 加入白名单,并给白名单单独设置更宽的速率配额。限速策略上线前,先核对所有探测点的来源 IP 清单,避免"防护上线、监控失明"。
关于墨者安全
墨者安全致力于安全防护、服务器高防、网络高防、ddos防护、cc防护、dns防护、防劫持、高防服务器、高防dns、网站防护等方面的服务,全网第一款指纹识别技术防火墙,自研的WAF指纹识别架构,提供任意CC和DDoS攻击防御