GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo bloquear el acceso a Internet a ciertos programas en Linux

Solución 1:

La solución para mí resultó ser sencilla.

  1. Crear, validar nuevo grupo; agregue los usuarios requeridos a este grupo:
    • Crear:groupadd no-internet
    • Validar:grep no-internet /etc/group
    • Añadir usuario:useradd -g no-internet username

      Nota:si está modificando un usuario ya existente, debe ejecutar:usermod -a -G no-internet userName comprobar con:sudo groups userName

  2. Cree un guión 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]"

  3. Agregar regla de iptables por abandonar la actividad de red para el grupo no-internet :<último>
  4. 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 a la 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 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:usa firejail . 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 <application>

En ese caso, "La caja de arena parece una computadora sin interfaces de red". (Consulte la 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 de LTS, 9.56.2 , también funciona en Ubuntu 16.04.)


Linux
  1. Cómo depurar programas C en Linux usando gdb

  2. Cómo acceder a los sistemas de archivos de Linux en Windows 10 y WSL 2

  3. Linux – ¿Bloquear el acceso a la red de un proceso?

  4. Linux:¿cómo restringir el acceso a Internet para un usuario en particular en la LAN usando Iptables en Linux?

  5. Cómo auditar el acceso a archivos en Linux

Cómo encontrar interfaces de red disponibles en Linux

Cómo restringir el acceso SSH a ciertos usuarios en Linux

Cómo cambiar la dirección MAC de la red en Linux

Cómo comprobar la velocidad de Internet en Linux

Cómo agregar una ruta en Linux

Cómo configurar Linux como un enrutador estático