GNU/Linux >> Linux Esercitazione >  >> Linux

Come bloccare l'accesso a Internet a determinati programmi su Linux

Soluzione 1:

La soluzione per me si è rivelata semplice.

  1. Crea, convalida nuovo gruppo; aggiungi gli utenti richiesti a questo gruppo:
    • Crea:groupadd no-internet
    • Convalida:grep no-internet /etc/group
    • Aggiungi utente:useradd -g no-internet username

      Nota:se stai modificando un utente già esistente dovresti eseguire:usermod -a -G no-internet userName controlla con :sudo groups userName

  2. Crea uno script nel tuo percorso e rendilo eseguibile:
    • Crea:nano /home/username/.local/bin/no-internet
    • Eseguibile:chmod 755 /home/username/.local/bin/no-internet
    • Contenuto:#!/bin/bash
      sg no-internet "[email protected]"

  3. Aggiungi regola iptables per aver interrotto l'attività di rete per il gruppo no-internet :
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      Nota:non dimenticare di rendere permanenti le modifiche, in modo che vengano applicate automaticamente dopo il riavvio. Farlo dipende dalla tua distribuzione Linux.


4. Controllalo, ad esempio su Firefox eseguendo:

  • no-internet "firefox"

Nel caso in cui desideri fare un'eccezione e consentire a un programma di accedere alla rete locale :

  • 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: In caso di deposizione delle uova le regole saranno mantenute. Ad esempio, se esegui un programma con no-internet rule e quel programma aprirà la finestra del browser, le regole verranno comunque applicate.

Soluzione 2:

Una possibilità più semplice:usa firejail . Esegue l'applicazione all'interno della sandbox. Nella sandbox, puoi controllare l'accesso dell'applicazione a qualsiasi rete o cartella nel tuo computer.

Per eseguire una determinata applicazione senza accesso alla rete, procedi come segue:

firejail --net=none <application>

In tal caso, "La sandbox sembra un computer senza interfacce di rete". (Vedi sezione Network nella documentazione)

Ad esempio, firejail --net=none firefox avvierà firefox senza alcuna connessione di rete.

Installazione

Consulta la documentazione di installazione. Dovresti installare dal sistema di pacchetti nella tua distribuzione, o meglio ottenere l'ultima versione LTS. (Ad esempio, quest'ultima versione LTS, 9.56.2 , funziona anche in Ubuntu 16.04.)


Linux
  1. Come accedere ai filesystem Linux in Windows 10 e WSL 2

  2. Linux:come limitare l'accesso a Internet per un particolare utente sulla LAN utilizzando Iptables in Linux?

  3. Come controllare l'accesso ai file su Linux

  4. Come controllare l'accesso a Internet usando lo script bash in Linux?

  5. Come posso disabilitare l'accesso a Internet per i programmi in esecuzione in Wine?

Come trovare le interfacce di rete disponibili su Linux

Come limitare l'accesso SSH a determinati utenti in Linux

Come modificare l'indirizzo MAC di rete in Linux

Come controllare la velocità di Internet in Linux

Come aggiungere route su Linux

Come configurare Linux come router statico