¿Cómo bloquear el acceso a Internet para las aplicaciones de vino?

39

¿Cómo se puede evitar que aplicaciones específicas o cualquier vino accedan a Internet?

Cuando usaban ciertas aplicaciones en Windows, intentaban acceder a Internet de vez en cuando sin ninguna razón obvia. Pude evitar ese comportamiento con un firewall personal en ese entonces. Lamentablemente, no encontré un firewall de nivel de aplicación en Ubuntu hasta ahora. Esto es especialmente molesto cuando estoy en el extranjero usando roaming de datos con mi módem 3G.

YSN
fuente
Puedes probar mi precarga de noinet. askubuntu.com/questions/249826/…
escor
Can smb. extender las respuestas / proporcionar una respuesta adicional que funcione con nftables?
dirdi

Respuestas:

29

Hay un buen tutorial sobre cómo bloquear el acceso de cualquier programa a Internet en los foros de Ubuntu .

Pasos

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

regla de iptables para evitar que ese grupo acceda a la red

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

Proceso que no desea tener acceso a Internet usando sg osudo -g (ejecute el comando como ID de grupo diferente):

sg no-internet -c "processFullPath args"

Básicamente implica crear un nuevo grupo, negarle el acceso a Internet y luego ejecutar cualquier programa que desee restringir como esa ID de grupo. Entonces, en su caso, siempre ejecutará wine utilizando el método descrito en el tutorial.

goric
fuente
2
Gracias, eso es todo! Pero no entiendo por qué alguien te ha rechazado. Su respuesta es exactamente lo que esperaba.
YSN
Es una gran respuesta si sigues el enlace, pero sospecho que el DV se debe a que es principalmente una respuesta de enlace. Si quieres el cómo, tienes que ir a los foros. Dicho esto, recibió un voto positivo de mi parte.
RobotHumans
1
Elaborar: ejecutar un comando bajo el nuevo uso del grupo: sg no-internet -c "command args". También tenga en cuenta: aparentemente esta regla de iptable no suelta pings, por lo que si va a probar si funciona, use netcat en su lugar. EDITAR : También noté: no deja caer las conexiones IPv6, por lo que solo ha bloqueado UDP y TCP de IPv4.
Hola Ángel
1
@ Hi-Angel Probablemente debería ser el mismo argumento pero con ip6tables.
Pablo A
16

Forme un grupo y conviértase en miembro de él.

addgroup wino

adduser $USER wino

Ahora ingrese una iptablesregla para impedir que ese grupo use Internet, puede escribir esto en la terminal y presionar enter

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

Para hacer que esta regla se ejecute después de cada reinicio con systemd use iptables-persistent savefrom iptables-persistentpackage.

Si usa rc-local : puede poner la regla /etc/rc.local. Asegúrese de que la última línea en ese archivo de texto dice exit 0.

Ejemplo de uso:

sg wino "wine executablename.exe"

Necesita el " "y también escriba vino antes del nombre del programa.

marca
fuente
2
He editado su usermodcomando para agregar -a. Sin -a, el resultado final será eliminar al usuario de todos los demás grupos complementarios (como admin, cdrom, etc.)! También es más conveniente usar addgroup/ adduser.
gertvdijk
estaba a punto de arreglar el -a yo mismo. sí, no empieces el vino como raíz! solo necesita root para hacer la regla de iptables. El ejemplo de uso fue para el usuario normal después de realizar esos pasos.
marca el
Ah lo siento, mi error. Comentario eliminado
gertvdijk
@gertvdijk Edité los comandos una vez más, adduser <username> <groupname>es lo más sensato aquí.
guntbert
1
¿Existe alguna posibilidad de que sea predeterminado que Internet esté bloqueado para ese programa (es decir, hacer que la sgllamada sea obsoleta, por ejemplo, al chowningresar al programa)?
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"

para agregar a su registro de vino (o unidades virtuales playonlinux):

solución mucho más simple que usar grupos (y no impide que se conecte pol, solo las aplicaciones)

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

EDITAR: esperando al geek en el comentario para agregar configuraciones de registro para bloquear TCP, mientras tanto: http://support.microsoft.com/en-us/kb/154596 (suena como configurar los puertos a cero o crear alguna configuración de hecho, el error bloqueará las conexiones tcp / udp; pero aún no he enfrentado ese problema, así que no tengo la necesidad de solucionarlo)

Mikakun
fuente
3
esto solo bloquea el acceso al software que respeta la configuración del proxy, la mayoría obviamente no ... ¡así que esta no es una solución válida!
K1773R
1
como cual? (todo el software que he estado usando con pol estaba bloqueado). por lo tanto, no me convence su afirmación: es válida en muchos casos, podría no serlo en algunos, pero ¿cuál?
mikakun
2
no, no es. p.ej; cualquier software que solo se conecte a un host: el puerto a través de TCP continuará funcionando. Una configuración de proxy HTTP es algo que un programa debe reconocer y respetar. Si no me cree, obtenga / compile software que se conecte a otro host a través de TCP y compruébelo usted mismo.
K1773R