Cara memblokir akses internet untuk suatu aplikasi

8

Saya akan mencari cara untuk menjalankan aplikasi untuk mencegahnya mengakses internet, mungkin tanpa menginstal program khusus untuk melakukan ini. Sebagian besar jawaban yang saya temukan merujuk pada pos INI , jadi saya mencoba solusi ini. Singkatnya, saya telah membuat grup tanpa internet (dengan perintah ni terkait ) dan saya meluncurkan aplikasi menggunakan grup ini. Tapi itu tidak berfungsi sepenuhnya, mungkin karena postingannya berasal dari 2009, dan sesuatu di iptables diubah (saya menggunakan Ubuntu 14.04). Misalnya jika saya menjalankan ni "ping google.com"outputnya ping: sendmsg: Operation not permitted, maka solusinya bekerja dengan baik. Tetapi dengan program lain, seperti Firefox atau wget (eg ni firefox), koneksi internet masih berfungsi. Bagaimana saya bisa menyelesaikannya?

ᴜsᴇʀ
sumber

Jawaban:

3

Anda dapat menggunakan apparmoruntuk menolak lalu lintas jaringan untuk beberapa aplikasi. Pertama, Anda harus menginstal apparmordan apparmor-utils..

sudo apt-get install apparmor*

Setelah itu Anda dapat membuat profil untuk aplikasi Anda ...

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

Langkah selanjutnya adalah mengubah Networkingbagian dalam profil menjadi:

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,

Selanjutnya, periksa config dengan apparmor_parser dan muat ulang konfigurasi

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

Ubah mode dari complainmenjadi enforcealias nyalakan apparmoruntuk aplikasi ini.

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

Lebih banyak manual dapat Anda temukan di sini dan di sini dan di sini

2707974
sumber
Tidak bekerja. Perhatikan bahwa saya telah menambahkan baris dalam file /etc/apparmor.d/usr.bin.APPNAMEsetelah baris /usr/bin/APPNAME r,dan saya tidak tahu apakah itu benar.
2sᴇʀ