FatManStanding
Lieutenant
- Registriert
- Aug. 2021
- Beiträge
- 670
Hi,
ich hatte früher unter älteren Ubuntu-Versionen (16.04 oder 18.04) mal eine recht simple aber funktionierende Lösung im Einsatz um einem einzelnen Programm den Zugriff ins Internet zu sperren. Ich hab das leider nie richtig dokumentiert und irgendwann nicht mehr eingesetzt. Das Script habe ich aber in einem Backup noch gefunden.
Ich habe eine neue Gruppe 'testgroup' angelegt, dann das ausgeführt:
Dann meinen Benutzer zur Gruppe 'testgroup' hinzugefügt. Dann sollte eigentlich mit diesem Aufruf kein Internet mehr möglich sein
Dem ist aber nicht so. Alles geht wie vorher auch. Ich weiß, dass iptables-Regeln nach einem Neustart verloren gehen, aber vor dem Neustart sollten sie wirken. Hat sich in der Zwischenzeit etw3as geändert oder ist ein Fehler im Vorgehen?
Hier noch der Aufruf von 'ip addr' (Netzwerk-Device 1 ist das loopback-Device). IPv6 ist im Network Manager deaktiviert.
Ich habe das ganze mal Merlin AI gefragt. Da hat das hier funktioniert:
Ich habe jetzt nicht getestet ob IPv6 eine Rolle spielt. Das habe ich zunächst im Netzwerk Manager deaktiviert.
ich hatte früher unter älteren Ubuntu-Versionen (16.04 oder 18.04) mal eine recht simple aber funktionierende Lösung im Einsatz um einem einzelnen Programm den Zugriff ins Internet zu sperren. Ich hab das leider nie richtig dokumentiert und irgendwann nicht mehr eingesetzt. Das Script habe ich aber in einem Backup noch gefunden.
Ich habe eine neue Gruppe 'testgroup' angelegt, dann das ausgeführt:
Code:
sudo iptables -t mangle -A OUTPUT -m owner --gid-owner testgroup -j MARK --set-mark 42
sudo iptables -t nat -A POSTROUTING -o enp0s3 -m mark --mark 42 -j SNAT --to-source 192.168.10.64
sudo ip rule add fwmark 42 table 42
sudo ip route add default via 192.168.10.1 dev enp0s3 table 42
Dann meinen Benutzer zur Gruppe 'testgroup' hinzugefügt. Dann sollte eigentlich mit diesem Aufruf kein Internet mehr möglich sein
Code:
sg testgroup -c 'ping www.google.de'
Dem ist aber nicht so. Alles geht wie vorher auch. Ich weiß, dass iptables-Regeln nach einem Neustart verloren gehen, aber vor dem Neustart sollten sie wirken. Hat sich in der Zwischenzeit etw3as geändert oder ist ein Fehler im Vorgehen?
Hier noch der Aufruf von 'ip addr' (Netzwerk-Device 1 ist das loopback-Device). IPv6 ist im Network Manager deaktiviert.
Code:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:b5:86:ae brd ff:ff:ff:ff:ff:ff
inet 192.168.10.64/24 brd 192.168.10.255 scope global dynamic noprefixroute enp0s3
valid_lft 863936sec preferred_lft 863936sec[code]
Ergänzung ()
Ich habe das ganze mal Merlin AI gefragt. Da hat das hier funktioniert:
- Gruppe erstellen
- Benutzer zur Gruppe hinzufügen
- sudo iptables -A OUTPUT -d 192.168.10.0/24 -m owner --gid-owner 1001 -j ACCEPT
sudo iptables -A OUTPUT -m owner --gid-owner 1001 -j REJECT - Zugriff wird verweigert mit 'sg testgroup -c 'ping www.google.de' aber gestattet im eigenen Netzwerk z. B. sg testgroup -c 'ping 192.168.10.1'
Ergänzung ()
Ich habe jetzt nicht getestet ob IPv6 eine Rolle spielt. Das habe ich zunächst im Netzwerk Manager deaktiviert.
Zuletzt bearbeitet: