Як заблокувати доступ до Інтернету для програми


8

Я б шукав спосіб запустити програму, яка не дозволить їй отримати доступ до Інтернету, можливо, без встановлення певної програми для цього. Більшість знайдених нами відповідей стосується ЦЕГО допису, тому я спробував це рішення. Коротше кажучи, я створив групу без Інтернету (із відповідною командою ni ) і запускаю програму за допомогою цієї групи. Але це не працює повністю, ймовірно, тому, що повідомлення від 2009 року, і щось в iptables змінюється (я використовую Ubuntu 14.04). Наприклад, якщо я запускаю ni "ping google.com"висновок є ping: sendmsg: Operation not permitted, тому рішення чудово працює. Але з іншими програмами, такими як Firefox або wget (наприклад ni firefox), Інтернет-з'єднання все ще працює. Як я можу вирішити?

Відповіді:


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до enforceаки включити apparmorдля цього додатка.

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

Більше посібника ви можете знайти тут і тут і тут


Це не працює. Зауважте, що я додаю рядки у файл /etc/apparmor.d/usr.bin.APPNAMEпісля рядка, /usr/bin/APPNAME r,і я не знаю, чи правильно це.
ᴜsᴇʀ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.