Cómo bloquear el acceso a internet para una aplicación

8

Buscaría una forma de ejecutar una aplicación para evitar que acceda a Internet, posiblemente sin instalar un programa específico para hacerlo. La mayoría de las respuestas que he encontrado se refieren a ESTA publicación, así que probé esta solución. En pocas palabras, había creado un grupo sin internet (con un comando ni relacionado ) y lance la aplicación usando este grupo. Pero eso no funciona por completo, probablemente porque la publicación es de 2009, y algo en iptables ha cambiado (estoy usando Ubuntu 14.04). Por ejemplo, si ejecuto ni "ping google.com"el resultado ping: sendmsg: Operation not permitted, entonces la solución funciona muy bien. Pero con los otros programas, como Firefox o wget (por ejemplo ni firefox), la conexión a Internet aún funciona. ¿Cómo puedo resolverlo?

ᴜsᴇʀ
fuente

Respuestas:

3

Puede usar apparmorpara denegar el tráfico de red para alguna aplicación. Primero debes instalar apparmory apparmor-utils..

sudo apt-get install apparmor*

Después de eso, puede generar un perfil para su aplicación ...

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

El siguiente paso es cambiar Networkingparte del perfil a:

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,

Luego, verifique la configuración con apparmor_parser y vuelva a cargar la configuración

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

Cambia el modo de complaina enforceaka activado apparmorpara esta aplicación.

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

Más manual puede encontrar aquí y aquí y aquí

2707974
fuente
No funciona. Tenga en cuenta que he agregado las líneas en el archivo /etc/apparmor.d/usr.bin.APPNAMEdespués de la línea /usr/bin/APPNAME r,y no sé si es correcto.
ᴇʀsᴇʀ