Bagaimana cara memblokir akses internet untuk aplikasi anggur?

39

Bagaimana seseorang mencegah aplikasi anggur spesifik atau apa pun dari mengakses internet?

Saat menggunakan aplikasi tertentu di bawah Windows, mereka mencoba mengakses internet dari waktu ke waktu tanpa alasan yang jelas. Saya bisa mencegah perilaku itu dengan firewall pribadi saat itu. Sayangnya saya tidak menemukan firewall level aplikasi di Ubuntu hingga sekarang. Ini sangat menjengkelkan ketika saya di luar negeri menggunakan roaming data dengan modem 3G saya.

YSN
sumber
Anda dapat mencoba prapuat noinet saya. askubuntu.com/questions/249826/…
escor
Dapat seseorang memperluas jawaban / memberikan jawaban tambahan yang berfungsi dengan nftables?
dirdi

Jawaban:

29

Ada tutorial yang bagus tentang pemblokiran program apa pun dari mengakses Internet di forum Ubuntu .

Tangga

sudo addgroup no-internet  # Create group "no-internet"
sudo adduser $USER no-internet  # Add current user to no-internet

aturan iptables untuk mencegah grup itu mengakses jaringan

sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic

Proses Anda tidak ingin memiliki akses internet menggunakan sg atausudo -g (jalankan perintah sebagai ID grup yang berbeda):

sg no-internet -c "processFullPath args"

Ini pada dasarnya melibatkan pembuatan grup baru, menolak akses Internet, dan kemudian menjalankan program apa pun yang ingin Anda batasi sebagai ID grup itu. Jadi dalam kasus Anda, Anda hanya akan selalu menjalankan anggur menggunakan metode yang dijelaskan dalam tutorial.

goric
sumber
2
Terima kasih, itu dia! Tapi saya tidak mengerti, mengapa seseorang menolak Anda. Jawaban Anda persis seperti yang saya harapkan.
YSN
Ini adalah jawaban yang bagus jika Anda mengikuti tautan, tetapi saya curiga DV adalah karena sebagian besar merupakan tautan jawaban. Jika Anda ingin caranya, Anda harus pergi ke forum. Yang mengatakan, itu mendapat dukungan dari saya.
RobotHumans
1
Untuk menguraikan: untuk menjalankan perintah di bawah penggunaan grup baru: sg no-internet -c "command args". Juga perhatikan: tampaknya aturan iptable ini tidak menjatuhkan ping, jadi jika Anda akan menguji apakah itu berfungsi, gunakan netcat sebagai gantinya. EDIT : Saya juga mencatat: itu tidak menjatuhkan koneksi IPv6, jadi Anda hanya memblokir UDP dan TCP IPv4.
Hi-Angel
1
@ Hi-Angel Mungkin harus argumen yang sama tetapi dengan ip6tables.
Pablo A
16

Buat grup dan menjadi anggota itu

addgroup wino

adduser $USER wino

Sekarang masukkan iptablesaturan untuk memblokir grup itu dari menggunakan internet Anda bisa mengetik ini di terminal dan tekan enter

iptables -A OUTPUT -m owner --gid-owner wino -j REJECT

Untuk membuat aturan ini berjalan setelah setiap reboot dengan systemd gunakan iptables-persistent savedari iptables-persistentpaket.

Jika menggunakan rc-local : Anda bisa memasukkan aturan /etc/rc.local. Pastikan baris terakhir dalam file teks itu mengatakan exit 0.

Contoh penggunaan:

sg wino "wine executablename.exe"

Anda memerlukan " "dan juga mengetik anggur sebelum nama program.

menandai
sumber
2
Saya telah mengedit usermodperintah Anda untuk ditambahkan -a. Tanpa -a, Anda akan berakhir menghapus pengguna dari semua kelompok pelengkap lainnya (seperti admin, cdrom, dll)! Lebih nyaman menggunakan addgroup/ adduser.
gertvdijk
baru saja akan memperbaiki -a sendiri. ya jangan mulai anggur sebagai root! hanya perlu root untuk membuat aturan iptables. contoh penggunaan adalah untuk pengguna normal setelah melakukan langkah-langkah tersebut.
tandai
ah maaf, kesalahanku. komentar yang dihapus.
gertvdijk
@ gertvdijk Saya mengedit perintah sekali lagi, adduser <username> <groupname>adalah hal yang masuk akal di sini.
guntbert
1
apakah ada kemungkinan untuk menjadikannya default bahwa internet diblokir untuk program itu (yaitu membuat sgpanggilan menjadi usang, misalnya dengan chownmemasukkan program)?
bonanza
8
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp.1.1"=dword:00000000
"ProxyOverride"="<local>"
"ProxyServer"="http://NonExistantProxyAddress:80"
"User Agent"="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"

untuk menambah anggur Anda (atau drive virtual playonlinux):

solusi yang jauh lebih sederhana daripada menggunakan grup (& tidak mencegah pol untuk terhubung, hanya aplikasi)

kredit untuk http://ootput.wordpress.com/2011/06/06/block-wine-aplikasi-dari-internet/comment-page-1/

EDIT: menunggu geek di komentar untuk menambahkan pengaturan registri untuk memblokir TCP, sementara itu: http://support.microsoft.com/en-us/kb/154596 (terdengar seperti mengatur port ke nol atau membuat beberapa konfigurasi kesalahan memang akan memblokir koneksi tcp / udp; tetapi saya belum menghadapi masalah itu belum, jadi saya tidak memiliki kebutuhan untuk bekerja di sekitar)

mikakun
sumber
3
ini hanya memblokir akses untuk perangkat lunak yang menghormati pengaturan proxy, kebanyakan tidak jelas ... jadi ini bukan solusi yang valid!
K1773R
1
seperti yang mana? (semua perangkat lunak yang saya gunakan dengan pol memang diblokir). oleh karena itu saya tidak yakin dengan pernyataan Anda: valid dalam banyak kasus, mungkin tidak dalam beberapa kasus, tetapi yang mana?
mikakun
2
tidak, bukan itu. misalnya; perangkat lunak apa pun yang hanya terhubung ke host: port via TCP akan terus berfungsi. Pengaturan proxy HTTP adalah sesuatu yang harus dikenali dan dihormati oleh suatu program. Jika Anda tidak percaya, dapatkan / kompilasi perangkat lunak yang terhubung ke host lain melalui TCP dan lihat sendiri.
K1773R