在 Linux 系统安全基线检查中,IPv4 ICMP 重定向是一个常见的中危风险点。如果未禁用,攻击者可能利用该机制进行路由欺骗,导致用户访问到恶意系统。
🔎 什么是 ICMP 重定向
- ICMP 重定向:当主机发现数据包的路由更优时,会向源主机发送 ICMP 重定向报文,提示其更新路由。
- 风险:如果攻击者控制了某台主机,就可能伪造 ICMP 重定向报文,把流量引导到恶意路由器或伪造的系统,从而窃取或篡改数据。
在 非路由器场景(例如普通服务器或工作站),主机无需发送 ICMP 重定向,因此建议禁用。
⚠️ 风险描述
检查结果显示以下参数未禁用:
net.ipv4.conf.all.send_redirectsnet.ipv4.conf.default.send_redirects
🛠️ 解决方案
1. 修改配置文件
编辑 /etc/sysctl.conf,添加以下内容:
bash
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
2. 立即生效
执行以下命令:
bash
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
sysctl -w net.ipv4.route.flush=1
3. 验证结果
运行:
bash
sysctl -a | grep send_redirects
确保输出结果为:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
📌 注意事项
- 如果服务器作为 Docker 宿主机 或需要路由功能,可以忽略此项。
- 在普通服务器或工作站环境,强烈建议禁用,避免被利用进行路由欺骗。
- 修改后需 重启网络服务或系统,确保配置持久生效。
✅ 最佳实践
- 将安全基线检查纳入日常运维流程。
- 使用自动化脚本定期扫描并修复常见内核参数风险。
- 保持
/etc/sysctl.conf配置与安全基线一致,避免遗漏。
📝 总结
禁用 IPv4 ICMP 重定向发送是 Linux 安全加固的重要一环。通过简单的配置修改,可以有效防止攻击者利用路由欺骗手段破坏网络通信,提升系统整体安全性。