你有没有遇到过这种情况?服务器前一秒还好好的,下一秒突然卡成幻灯片,远程连接直接断开,重启之后没一会儿又不行了。查了半天日志,才发现是收到了一堆超大的 ping 包 —— 这就是传说中的 “死亡之 ping” 攻击。小编之前帮一个做电商的朋友处理过,他的服务器因为这个攻击,网站瘫痪了两个小时,损失了不少订单。今天就来教大家,服务器该怎么防这种攻击,新手也能看懂,一起往下看吧!
先搞懂:死亡之 ping 到底是啥来头?
其实这东西原理不复杂,你可以把它理解成 “用超大包裹堵门”。正常情况下,ping 包的大小是有限制的,就像快递不能超过一定重量。但 “死亡之 ping” 会发送超过最大限制的包,服务器收到后处理不了,内存就会混乱,最后只能死机或者重启。
这种攻击在早期很流行,因为那时候很多系统(比如 Windows 95、老版本 Linux)都没设防。现在虽然少见了,但不少新手管理的服务器,因为没做防护,还是容易中招。小编见过最夸张的,有台服务器一天被攻击三次,每次都得手动重启,折腾得人够呛。
基础防护:从系统设置下手,简单有效
不管你用的是 Windows 还是 Linux 服务器,这几招都能先筑起一道防线。
限制 ping 包大小(关键中的关键)
这是防 “死亡之 ping” 最核心的一步,就像给大门装了限高杆,超过尺寸的车进不来。
- Windows 系统:
- 按 “Win+R”,输入 “regedit” 打开注册表
- 找到路径 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”
- 右键新建 “DWORD(32 位)值”,命名为 “ICMPAllowBigPackets”
- 双击它,把值设为 “0”(0 代表不允许超大 ICMP 包,1 是允许),重启服务器生效
- Linux 系统(以 Ubuntu 为例):
- 打开终端,输入命令 “sudo iptables -A INPUT -p icmp –icmp-type echo-request -m length –length 65536: -j DROP”
- 回车执行,这条命令的意思是,只要是超过 65535 字节的 ping 包,一律拦截
小编提醒,设置完最好自己测一下,用另一台电脑 ping 服务器,发个超大包试试,比如 “ping 服务器 IP -l 65536”,如果收不到回复,就说明生效了。
关闭不必要的 ICMP 响应
如果你的服务器不需要对外提供 ping 测试功能,直接关掉 ICMP 响应更省事,相当于直接把大门关上,不让 ping 包进来。
- Windows:
- 打开 “控制面板→系统和安全→Windows Defender 防火墙→高级设置”
- 点击 “入站规则”,找到 “文件和打印机共享 (回显请求 – ICMPv4-In)”
- 右键选择 “禁用规则”,这样外面就 ping 不通你的服务器了
- Linux:
- 终端输入 “sudo iptables -A INPUT -p icmp –icmp-type echo-request -j DROP”
- 想恢复的话,用 “sudo iptables -D INPUT -p icmp –icmp-type echo-request -j DROP”
有人可能会问,关了 ping 响应,会不会影响服务器正常工作?其实不用担心,网站访问、数据传输用的是 TCP/UDP 协议,和 ICMP 没关系,关了反而更安全。
进阶防护:防火墙和设备层面再加一层
光靠系统设置还不够,防火墙和路由器也能帮上大忙,尤其是针对大规模的攻击。
防火墙设置(以 Windows 防火墙为例)
- 打开防火墙高级设置,新建入站规则
- 选择 “自定义”,下一步,在 “协议和端口” 里选 “ICMPv4”
- 点击 “自定义”,选择 “特定类型的 ICMP 消息”,勾选 “回显请求”
- 在 “操作” 里选 “阻止连接”,下一步到底,给规则起个名字(比如 “阻止恶意 ping”)
这样设置后,防火墙会专门盯着 ping 包,发现有问题就直接拦下。
路由器或交换机设置
如果你的服务器在局域网里,路由器或交换机也能提前过滤:
- 登录路由器管理后台,找到 “防火墙设置” 或 “安全设置”
- 开启 “防 ICMP Flood 攻击” 功能,设置阈值(比如每秒最多接收 10 个 ping 包)
- 有些高端路由器还能限制单 IP 发送 ping 包的频率,超过就临时拉黑
小编之前帮朋友配置过路由器,开启这个功能后,服务器被攻击的次数明显少了,效果挺不错的。
日常维护:这些习惯能减少被攻击的概率
除了上面的设置,平时多注意这几点,能让服务器更安全:
- 及时更新系统补丁:很多系统漏洞会被黑客利用,微软、Linux 社区都会定期发布补丁,记得及时装上
- 定期检查日志:看看有没有大量来自同一 IP 的 ping 请求,发现异常就拉黑
- 用专业防护工具:比如 “Snort”(入侵检测系统)、“Fail2ban”(防暴力破解工具),这些工具能自动识别并拦截可疑流量
表格:不同系统防护方法对比
防护措施 | Windows 系统操作 | Linux 系统操作 |
---|---|---|
限制 ping 包大小 | 注册表添加 ICMPAllowBigPackets 值为 0 | iptables 命令限制包长度超过 65535 字节 |
关闭 ICMP 响应 | 禁用防火墙入站规则中的回显请求 | iptables 命令 DROP 掉 echo-request |
防火墙高级设置 | 新建自定义规则阻止恶意 ICMP | 配置 iptables 链规则精细化拦截 |
自问自答:新手可能会问的问题
问:我只是个个人站长,有必要防这种攻击吗?
答:太有必要了。黑客攻击可不管你是个人还是企业,只要服务器有漏洞就可能盯上。而且个人服务器防护往往更薄弱,更容易成为目标。
问:设置这么多,会不会影响服务器性能啊?
答:基本不会。这些设置都是在网络层进行过滤,对服务器的 CPU、内存占用很小,和被攻击导致的损失比起来,这点影响可以忽略不计。
小编觉得,防 “死亡之 ping” 攻击,就像给房子装防盗窗,看着简单,但能挡住大部分小偷。关键是要养成良好的安全习惯,不要觉得 “我服务器没人会盯上”,等真出了问题再补救,就晚了。
希望今天讲的这些方法能帮到你,要是你有其他好的防护经验,欢迎在评论区分享,让大家都能学到~