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.