簡體   English   中英

如何在流量過濾器 (tc-bpf) 中保護 eBPF 防火牆

[英]How to protect an eBPF firewall in traffic filter (tc-bpf)

我將在流量控制分類器(man 8 tc-bpf)上實施防火牆。 防火牆用於過濾傳出流量。 但是,有一點使這項任務變得非常困難。 我的用戶空間代理必須知道,過濾器(分類器)是否加載並通過自身傳遞所有傳出流量。 請告訴我:

  1. 如何保護已加載的過濾器免於卸載(tc filter [replace | delete])或其他可能使其遠離所有流量的措施?
  2. 如何連接流量控制過濾器的變化,讓用戶空間代理采取適當的措施。
  3. 其他實現此類防火牆的方法。
  1. 需要特權來設置(或刪除)TC 分類器,因此沒有特權的用戶不應該能夠刪除您的過濾器。 我不記得所需的確切功能集,在最近的內核上這可能是CAP_BPFCAP.NET_ADMIN ,舊內核可能需要CAP_SYS_ADMIN (root)。

  2. 我認為當分類器改變時應該有一個 Netlink 通知,你可能會掛鈎。

  3. 這個問題很廣泛。 請問Linux怎么設置防火牆? 有幾個可用的框架。 如果你想用 eBPF 來做,XDP 掛鈎(在驅動程序級別)是需要考慮的,它會比 TC 上的掛鈎有更好的性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM