![Sperren Sie den Netzwerkzugriff der Linux-App](https://rvso.com/image/1638105/Sperren%20Sie%20den%20Netzwerkzugriff%20der%20Linux-App.png)
Ich möchte eine nicht vertrauenswürdige Anwendung in einer Linux-VM ausführen (Host ist Windows 10 mit VirtualBox). Sie benötigt Zugriff auf einen anderen Server in meinem LAN, aber ich möchte jeden anderen Netzwerkzugriff über diesen einen Port auf einer IP hinaus blockieren.
AppArmor scheint solche feinkörnigen Netzwerkbeschränkungen nicht zuzulassen.
Ich möchte den Netzwerkzugriff des gesamten Gastbetriebssystems nicht blockieren, da ich zB ausführen möchte sudo apt-get update
, aber wenn das das Beste ist, was ich tun kann, ist es akzeptabel.
Was ist die beste Lösung? Vielleicht ein Skript, das vor dem Start dieses Programms temporäre systemweite Firewall-Regeln festlegt?
Antwort1
Da Ihre VM Linux ist, würde ich Linux nutzenNamensräumeum die App in einemSandboxUmgebung, zum Beispiel durchFeuergefängnis. In Ihrem Fall wäre ein möglicher Ansatz die Erstellung einesvirtuelle Netzwerkschnittstellemit begrenztem Umfang, der nur den anderen Server in Ihrem LAN erreichen kann.
Starten Sie dann Ihre App mit Firejail, sodass sie nur eine Netzwerkschnittstelle „sehen“ kann – die eingeschränkte.
Von der Kommandozeile aus würde der resultierende Befehl etwa so aussehen:
firejail --net=veth0 yourapp
Sie können aber auch ein benutzerdefiniertes Profil erstellen.