禁用非法icmp重定向是linux服务器基础安全的刚性要求,须同时关闭ipv4/ipv6的accept_redirects与send_redirects(all/default),并补全secure_redirects=0、accept_source_route=0、rp_filter=1,写入/etc/sysctl.d/99-secure.conf后执行sysctl -p生效,再通过sysctl -a | grep验证全为=0或=1(rp_filter),确保业务路由正常。

禁用非法ICMP重定向不是“可选优化”,而是Linux服务器基础安全的刚性要求。它从内核网络栈源头切断攻击者伪造路由指令的能力,尤其适用于不承担路由器职能的Web、数据库、API等业务主机。
必须同时关闭接收与发送
只关一边等于形同虚设:
- 禁收(accept_redirects = 0):防止本机被恶意网关误导,错误更新本地路由表,导致流量被劫持到攻击者控制的节点
- 禁发(send_redirects = 0):避免本机在开启转发时被利用为跳板,向局域网其他主机广播伪造重定向报文
需为IPv4和IPv6分别配置,且覆盖all(全局)与default(新接口默认)两个作用域:
net.ipv4.conf.all.accept_redirects = 0<br>net.ipv4.conf.default.accept_redirects = 0<br>net.ipv4.conf.all.send_redirects = 0<br>net.ipv4.conf.default.send_redirects = 0<br>net.ipv6.conf.all.accept_redirects = 0<br>net.ipv6.conf.default.accept_redirects = 0
补全配套防护参数防绕过
ICMP重定向常与其他IP层机制配合被滥用,以下三项应同步启用:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- secure_redirects = 0:该旧机制本意是校验重定向来源是否“可信”,但实际易被绕过,显式关闭更安全
- accept_source_route = 0:禁用源路由选项,堵住IP地址伪造和路径操控的另一入口
- rp_filter = 1:启用反向路径过滤,自动丢弃源IP不可达或不匹配入接口的可疑包,是防IP欺骗的基础防线
配置落地与验证方法
将上述所有参数写入/etc/sysctl.d/99-secure.conf(推荐)或/etc/sysctl.conf,然后执行:
sudo sysctl -p /etc/sysctl.d/99-secure.conf
验证是否全部生效:
sysctl -a | grep -E 'redirects|source_route|rp_filter' | grep =\ 0
若输出中每行末尾均为= 0或= 1(仅rp_filter应为1),说明配置已加载。再用ip route get 8.8.8.8确认业务路由未受影响。
特别注意适用场景
该加固适用于绝大多数非路由器角色的Linux服务器。若主机运行Docker/Kubernetes或明确启用net.ipv4.ip_forward=1,需检查容器网络或转发逻辑是否依赖重定向——但现代云环境与主流编排平台均不依赖此机制,禁用后通常零影响。










