Ip

如何防止在基於 KVM/Proxmox 的虛擬化主機上竊取(其他)IP 地址?

  • August 15, 2020

讓我們假設以下配置:宣布 IP 子網的路由器和一些基於 Proxmox 的 KVM 主機。每個基於 Proxmox 的虛擬化主機執行多個由客戶管理的虛擬伺服器,每個虛擬伺服器分配一個或多個 IP。

如何防止(未配置或惡意)虛擬伺服器宣布不屬於其伺服器的 IP?

我能想到的最好辦法是使用iptables-firewall 規則來阻止任何流量,除了具有正確目標地址的傳入流量和具有正確源地址的傳出流量。這應該可行(但也會阻止我猜想的任何廣播流量,認為這對於那種情況是可以接受的)。但是,有沒有更好的方法來做到這一點(無需更改路由器)?這個問題的常見做法是什麼?

在弄清楚這iptables不合適之後,部分感謝 Christophers 上面對那個資訊的回答,我做了一些閱讀ebtables,只是為了弄清楚 Proxmox 已經內置了防止 IP 欺騙的支持。

只需將以下規則添加到 Proxmox 中的每個虛擬機防火牆設置(請參閱/etc/pve/firewall/<VMID>.fw文件)並適用於 IPv4 和 IPv6:

[IPSET ipfilter-net0]
1.2.3.4
2f1:2:3:4::1

無論如何,這已經隱藏在官方文件中:請參閱IP 集>標準 IP 集 ipfilter-net部分*

IPTables 無法阻止 DHCP 流量,因為它在防火牆之前使用綁定到 IP 堆棧的數據包過濾器。這個連結講的是 CentOS,但是原理是一樣的。

如果您是這些主機上的另一個客戶,請向您的提供商的 NOC 提出緊急支持票,表明網路上有一個流氓 DHCP 伺服器,他們應該(如果他們的工作正常)相當快地跳上它。如果這是您的硬體,這些虛擬機正在執行並且您無權訪問虛擬機廣播,我會禁用網路並讓客戶通過控制台連接以解決問題。

引用自:https://serverfault.com/questions/1030177