iptables / pf-Regel, um nur XY-Anwendung / Benutzer zuzulassen?

8

Ich denke, es gibt keine iptables / pf-Lösung, die nur eine XY-Anwendung zulässt, z. B.: Ausgehender TCP-Port 80, eth0. Wenn ich also eine Benutzer-ID habe: "500", wie kann ich dann andere Kommunikationen blockieren als die auf Port 80 / outbound / tcp / eth0 genannten? (zB: Nur Privoxy verwendet Port 80 auf eth0)

Extra: Virtualbox verwendet auch Port 80? Wenn ein Browser auf dem Gast-Betriebssystem eine Website besucht. Wie kann man das deklamieren? - Das Einstellen des normalen Benutzers wäre zu viel Loch

LanceBaynes
quelle
Zugegeben, es könnte einfacher sein, wenn Sie diese Frage in zwei (oder mehr) Fragen aufteilen ... das bsd-Zeug wird sich stark vom Linux-Zeug unterscheiden ... und dann haben Sie in vielerlei Hinsicht auch eine virtuelle Box-Frage. Ich persönlich denke, dass "Wie erlaube ich nur Anwendung / Benutzer XY durch iptables" und "Wie erlaube ich nur Anwendung / Benutzer XY durch pf" gute Fragen sind.
Xenoterracide

Antworten:

8

Hier ist der iptablesBefehl, einen bestimmten uiddurch einen bestimmten Port zuzulassen .

iptables -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner username -j ACCEPT 

von der Manpage

[!] --uid-owner userid [-userid] Stimmt überein, ob die Dateistruktur des Paketsockets (falls vorhanden) dem angegebenen Benutzer gehört. Sie können auch eine numerische UID oder einen UID-Bereich angeben.

Was Virtualbox betrifft. Ich glaube, es wird ein eigener Kernel ausgeführt. Vielleicht möchten Sie die --uid-ownerVirtualbox auf dem Host-Betriebssystem verwenden, haben dann aber auch eine --uid-ownerEigentümerregel auf der virtuellen Maschine.

Es kann auch nützlich sein, darauf hinzuweisen, dass es --gid-ownerauch eine gibt, und Sie könnten eine Gruppe browserund sgidIhre Browser-Apps erstellen, damit sie mit einer effektiven Gruppe ausgeführt werden, browserund dann nur Benutzer, die Sie durchsuchen möchten, in diese Gruppe aufnehmen ... dies wäre keine perfekte Lösung ... aber die meisten Benutzer würden nicht versuchen, andere Apps als diese Gruppe auszuführen, wodurch der Ausgang meiner Meinung nach generell auf diese Anwendung beschränkt wird. Ich habe das nicht ausprobiert, daher bin ich nicht zu 100% davon überzeugt, dass es so funktionieren würde, wie ich es beschrieben habe.

Xenoterracid
quelle