对于DDOS的攻击,一直属于易攻难守的问题,最近也是在网上看到关于xdp ebpf 比较新颖的处理数据包的解决方案架构,当然也是作为这方面的小白学习一下,由于公司的内核版本较低,暂时无法使用这个功能,不过后续版本迟早也是要升级的, 主要也是了解学习一下相关的设计思想, 希望能够在实际工作生产中有一些启发和解决问题的手段
一般的手段对付 DDOS 网络攻击,基本都是在netfilter 框架 PREROUTING 链做的处理, 但是这里存在一个问题,走到 PREROUTING链已经经过了很多层的处理,包括数据包重组之类的,大大降低了性能
如果在收到数据包尽早地丢包,会对性能有更好的提高
eBPF 挂载流程
图片来自:netronome.com/blog/bpf-ebpf-xdp-and-bpfilter-what-are-these-things-and-what-do-they-mean-enterprise/
图片来自(https://www.h5w3.com/21824.html)
参考资料:
https://docs.cilium.io/en/latest/bpf/
https://blog.cloudflare.com/l4drop-xdp-ebpf-based-ddos-mitigations/