Как заблокировать доступ в интернет для приложения

8

Я бы искал способ запустить приложение, не позволяющее ему получить доступ к Интернету, возможно, без установки конкретной программы для этого. Большинство ответов я нашел относится к НАСТОЯЩЕЙ сообщению, поэтому я попытался это решение. Короче говоря, мне пришлось создать группу без интернета (с соответствующей командой ni ), и я запускаю приложение, используя эту группу. Но это не работает полностью, вероятно, потому что пост от 2009 года, и что-то в iptables изменилось (я использую Ubuntu 14.04). Например, если я запускаю ni "ping google.com"вывод ping: sendmsg: Operation not permitted, значит, решение отлично работает. Но с другими программами, такими как Firefox или wget (например ni firefox), интернет-соединение все еще работает. Как я могу решить?

ᴜsᴇʀ
источник

Ответы:

3

Вы можете использовать, 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на enforceaka включите apparmorдля этого приложения.

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

Более подробное руководство вы можете найти здесь и здесь и здесь

2707974
источник
Это не работает. Обратите внимание, что я добавил строки в файл /etc/apparmor.d/usr.bin.APPNAMEпосле строки, /usr/bin/APPNAME r,и я не знаю, правильно ли это.
ᴇʀsᴇʀ