Esta reseña ha sido probado por nuestros especialistas así aseguramos la veracidad de nuestra esta noticia.
Solución:
Solución 1:
La solución para mí resultó ser sencilla.
- Crear, validar nuevo grupo; agregue los usuarios requeridos a este grupo:
- Crear:
groupadd no-internet
- Validar:
grep no-internet /etc/group
- Agregar usuario:
useradd -g no-internet username
Nota: si está modificando un usuario ya existente, debe ejecutar:
usermod -a -G no-internet userName
verifícalo con :sudo groups userName
- Crear:
- Crear un guion en tu camino y hazlo ejecutable:
- Crear:
nano /home/username/.local/bin/no-internet
- Ejecutable:
chmod 755 /home/username/.local/bin/no-internet
- Contenido:
#!/bin/bash
sg no-internet "[email protected]"
- Crear:
- Agregar regla de iptables para abandonar la actividad de red para el grupo sin internet:
iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
Nota: No olvide hacer que los cambios sean permanentes, para que se apliquen automáticamente después de reiniciar. Hacerlo depende de su distribución de Linux.
4. Verifíquelo, por ejemplo en Firefox ejecutando:
no-internet "firefox"
En caso de que quiera hacer una excepción y permitir que un programa acceda red local:
iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
NOTA: En caso de desove se mantendrán las reglas. Por ejemplo, si ejecuta un programa con sin internet regla y ese programa abrirá la ventana del navegador, aún así se aplicarán las reglas.
Solución 2:
Una posibilidad más sencilla: utilizar cárcel de incendios. Ejecuta la aplicación dentro de sandbox. En el sandbox, puede controlar el acceso de la aplicación a cualquier red o carpeta en su computadora.
Para ejecutar una determinada aplicación sin acceso a la red, haga lo siguiente:
firejail --net=none
En ese caso, “La caja de arena parece una computadora sin interfaces de red”. (Ver Sección Red en la documentación)
Por ejemplo, firejail --net=none firefox
iniciará Firefox sin ninguna conexión de red.
Instalación
Consulte la documentación de instalación. Debe instalar desde el sistema de paquetes en su distribución, o mejor obtener la última versión LTS. (Por ejemplo, esta última versión LTS, 9.56.2
funciona también en Ubuntu 16.04.)