内容提要
该文章讨论了L4LB四层负载均衡中的IP伪造漏洞,导致业务服务器获取到伪造的IP,可能导致业务受损和信息安全风险。文章介绍了不同厂商在修复该漏洞方面的表现,并提出了修复方案。最后提到了基于IP Option的客户端IP透传方案的安全性问题。
延伸解读
漏洞根源:TCP Option 处理不当
L4LB 在 FNAT 模式下需通过 TCP Option 透传客户端 IP,但若未清除客户端原有的恶意 TOA 信息,或 TCP Option 已满时未清理,就会将伪造 IP 传给后端。DPVS 的 tcp_in_add_toa 函数在空间不足时直接返回,未清理已有 Option,导致攻击者可填满 Option 伪造任意 IP。
影响范围:国内大厂普遍存在
腾讯、华为、阿里、百度等国内厂商多采用基于 LVS 的 FNAT TOA 技术,虽实现细节不同,但 TCP Option 处理机制相似,均可能受此漏洞影响。该漏洞可绕过 Web 防火墙、反爬虫等基于 IP 的策略,造成业务损失或安全风险。
修复难点与方案
修复需逐字节读取并清理 TCP Option,防止多个 TOA 信息。DPVS 的 PR #928 方案仅允许特定 opcode 和长度,并在合适时机重置,性能损耗小。但若 RS 的 TOA 模块读取首个 SYN 包,仍可能被绕过,需注意读取时机。
国外方案与 IOA 风险
国外 L4LB 产品多基于 eBPF XDP 实现,如 Cilium、Katran,无需使用 TCP Option/IP Option,避免了此类漏洞。而基于 IP Option 的透传方案同样存在安全隐患,需谨慎评估其安全性。
Q&A
L4LB四层负载均衡中的IP伪造漏洞是什么?
L4LB四层负载均衡中的IP伪造漏洞是指通过未清除TCP Option中的恶意TOA信息,导致伪造的IP透传至业务服务器,从而影响业务安全。
这个漏洞会带来哪些安全风险?
该漏洞可能导致Web防火墙、反爬虫系统失效,造成业务受损和信息安全风险,尤其是在ACL策略中被利用。
如何修复L4LB中的IP伪造漏洞?
修复方案包括逐字节读取和清理TCP Option,以防止多个TOA信息的存在,从而避免伪造IP的风险。
国内大厂在处理这个漏洞方面表现如何?
国内大厂如腾讯、华为、阿里等均使用FNAT TOA技术,存在相似的安全问题,且大多数厂商未能完全解决该漏洞。
国外的L4LB产品如何避免这个漏洞?
国外的L4LB产品多基于eBPF XDP实现,避免了TCP Option/IP Option的使用,从而降低了IP伪造的风险。
基于IP Option的客户端IP透传方案安全吗?
基于IP Option的客户端IP透传方案存在安全隐患,需谨慎使用,尤其是在不同厂商的实现中存在细微差异。