Come bloccare l'accesso a Internet per le applicazioni del vino?


39

Come si può impedire ad applicazioni specifiche o qualsiasi vino di accedere a Internet?

Quando utilizzavano determinate applicazioni in Windows, di tanto in tanto cercavano di accedere a Internet senza ovvi motivi. All'epoca ero in grado di prevenire quel comportamento con un firewall personale. Sfortunatamente finora non ho trovato un firewall a livello di applicazione in Ubuntu. Ciò è particolarmente fastidioso quando sono all'estero utilizzando il roaming dati con il mio modem 3G.


Puoi provare il mio precarico noinet. askubuntu.com/questions/249826/…
— escor

Può smb. estendere le risposte / fornire una risposta aggiuntiva che funzioni con nftables?
— dirdi

Risposte:


29

C'è un bel tutorial su come impedire a un determinato programma di accedere a Internet sui forum di Ubuntu .

passi

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

regola iptables per impedire a quel gruppo di accedere alla rete

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

Processo che non si desidera avere accesso a Internet utilizzando sg osudo -g (esegui comando come ID gruppo diverso):

sg no-internet -c "processFullPath args"

Fondamentalmente implica la creazione di un nuovo gruppo, la negazione dell'accesso a Internet e quindi l'esecuzione di qualsiasi programma che si desidera limitare come tale ID gruppo. Quindi, nel tuo caso, eseguiresti sempre wine usando il metodo descritto nel tutorial.


2
Grazie, tutto qui! Ma non capisco, perché qualcuno ti abbia votato. La tua risposta è esattamente ciò che avevo sperato.
— YSN il

È un'ottima risposta se segui il link, ma sospetto che il DV sia stato perché è principalmente una risposta al link. Se vuoi il come, devi andare ai forum. Detto questo, ha ottenuto un mio voto.
— RobotHumans il

1
Elaborare: per eseguire un comando con il nuovo uso di gruppo: sg no-internet -c "command args". Nota anche: apparentemente questa regola iptable non rilascia ping, quindi se testerai se funziona, usa invece netcat. EDIT : Ho anche notato: non rilascia connessioni IPv6, quindi hai solo bloccato UDP e TCP di IPv4.
— Ciao Angelo

1
@ Ciao-Angelo Probabilmente dovrebbe essere lo stesso argomento ma con ip6tables.
— Pablo A

16

Crea un gruppo e diventa un membro di esso

addgroup wino

adduser $USER wino

Ora inserisci una iptablesregola per bloccare quel gruppo dall'uso di Internet, puoi digitarlo sul terminale e premere invio

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

Per far funzionare questa regola dopo ogni riavvio con systemd utilizzare iptables-persistent savedal iptables-persistentpacchetto.

Se si utilizza rc-local : è possibile inserire la regola /etc/rc.local. Assicurati che l'ultima riga di quel file di testo indichi exit 0.

Esempio di utilizzo:

sg wino "wine executablename.exe"

È necessario " "e anche digitare il vino prima del nome del programma.


2
Ho modificato il tuo usermodcomando per aggiungere -a. Senza -a, si finirà per rimuovere l'utente da tutti gli altri gruppi supplementari (come admin, cdromecc)! È anche più conveniente usare addgroup/ adduser.
— gertvdijk,

Stavo per risolvere il problema -a me stesso. sì, non iniziare il vino come radice! serve solo root per rendere la regola iptables. l'esempio di utilizzo era per l'utente normale dopo aver eseguito questi passaggi.
— segna il

ah scusa, errore mio. commento rimosso.
— gertvdijk,

@gertvdijk Ho modificato ancora una volta i comandi, adduser <username> <groupname>è la cosa sensata qui.
— Guntbert,

1
esiste la possibilità di rendere predefinito il blocco di Internet per quel programma (ovvero rendere sgobsoleta la chiamata, ad es. tramite chownil programma)?
— 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"

da aggiungere al registro wine (o unità virtuali playonlinux):

soluzione molto più semplice rispetto all'utilizzo dei gruppi (e non impedisce a pol di connettersi, solo le app)

crediti a http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

EDIT: in attesa del geek nel commento per aggiungere le impostazioni del registro per bloccare TCP, nel frattempo: http://support.microsoft.com/en-us/kb/154596 (sembra come impostare le porte su zero o creare alcune configurazioni l'errore bloccherà davvero le connessioni tcp / udp; ma non ho ancora affrontato questo problema, quindi non ho bisogno di un lavoro intorno)


3
questo blocca solo l'accesso per software che rispetta le impostazioni del proxy, la maggior parte ovviamente non ... quindi questa non è una soluzione valida!
— K1773R,

1
come quale? (tutti i software che ho usato con pol sono stati effettivamente bloccati). quindi non sono convinto dalla tua affermazione: è valida in molti casi, potrebbe non esserlo in alcuni, ma quale?
— Mikakun,

2
no non lo è. per esempio; qualsiasi software che si connette a un host: la porta via TCP continuerà a funzionare. Un'impostazione proxy HTTP è qualcosa che un programma deve riconoscere e onorare. Se non mi credi, scarica / compila software che si connette a un altro host tramite TCP e guardalo da solo.
— K1773R,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.