おそらく特定のプログラムをインストールせずに、インターネットへのアクセスを防ぐアプリケーションを実行する方法を探します。私が見つけた答えのほとんどは THIS postを参照しているので、この解決策を試しました。要するに、no-internetグループ(関連するniコマンド)そして、このグループを使用してアプリケーションを起動します。しかし、これはおそらく投稿が2009年からのものであり、iptablesの何かが変更されたために完全に機能しません(Ubuntu 14.04を使用しています)。たとえば、ni "ping google.com"
を実行すると、出力はping: sendmsg: Operation not permitted
であるため、ソリューションはうまく機能します。しかし、Firefoxやwget(ni firefox
など)などの他のプログラムでは、インターネット接続は引き続き機能します。どうすれば解決できますか?
apparmor
を使用して、一部のアプリケーションのネットワークトラフィックを拒否できます。最初にapparmor
およびapparmor-utils
..をインストールする必要があります。
Sudo apt-get install apparmor*
その後、アプリケーションにプロファイルを生成できます...
Sudo aa-genprof /usr/bin/google-chrome
次のステップは、プロファイルのNetworking
部分を次のように変更することです。
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,
次に、apparmor_parserで構成を確認し、構成を再読み込みします
Sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser
モードをcomplain
からenforce
に変更します。別名、このアプリのapparmor
をオンにします。
Sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser