So blockieren Sie den Internetzugang für eine Anwendung

8

Ich würde nach einer Möglichkeit suchen, eine Anwendung auszuführen, um zu verhindern, dass sie auf das Internet zugreift, möglicherweise ohne ein bestimmtes Programm zu installieren, um dies zu tun. Die meisten Antworten, die ich gefunden habe, beziehen sich auf DIESEN Beitrag, daher habe ich diese Lösung ausprobiert. Kurz gesagt, ich hatte eine Gruppe ohne Internet (mit einem zugehörigen Befehl ni ) erstellt und starte die Anwendung mit dieser Gruppe. Aber das funktioniert nicht vollständig, wahrscheinlich weil der Beitrag aus dem Jahr 2009 stammt und etwas in iptables geändert wurde (ich verwende Ubuntu 14.04). Wenn ich zum Beispiel ni "ping google.com"die Ausgabe ausführe ping: sendmsg: Operation not permitted, funktioniert die Lösung hervorragend. Bei anderen Programmen wie Firefox oder wget (z. B. ni firefox) funktioniert die Internetverbindung jedoch weiterhin. Wie kann ich lösen?

ᴜsᴇʀ
quelle

Antworten:

3

Sie können verwenden apparmor, um den Netzwerkverkehr für einige Anwendungen zu verweigern. Zuerst müssen Sie installieren apparmorund apparmor-utils..

sudo apt-get install apparmor*

Danach können Sie ein Profil für Ihre Anwendung erstellen ...

sudo aa-genprof /usr/bin/google-chrome

Der nächste Schritt besteht darin, das NetworkingTeil im Profil zu ändern in:

sudo nano /etc/apparmor.d/usr.bin.chromium-browser

audit deny network,
audit deny network inet stream,
deny network inet6 stream,
deny @{PROC}/[0-9]*/net/if_inet6 r,
deny @{PROC}/[0-9]*/net/ipv6_route r,
deny capability net_raw,

Überprüfen Sie als Nächstes die Konfiguration mit apparmor_parser und laden Sie die Konfiguration neu

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser

Ändern Sie den Modus für diese App von complainauf enforceaka aka apparmor.

sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser

Weitere Handbücher finden Sie hier und hier und hier

2707974
quelle
Es funktioniert nicht. Beachten Sie, dass ich die Zeilen in der Datei /etc/apparmor.d/usr.bin.APPNAMEnach der Zeile hinzugefügt habe /usr/bin/APPNAME r,und nicht weiß, ob es richtig ist.
2sᴇʀ