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

Recentemente, ho incontrato un problema di limitare l'accesso a Internet a programmi specifici. Qualcuno potrebbe raccomandare un buon modo di farlo, senza utilizzare alcun software particolare?

  • Scrittura non rioutput: Tubo rotto (in Ubuntu 10.04)
  • * nix OS che è facile da aggiornare al software più recente
  • Utilizzando iptables per redirect le richieste in entrata dalla port 2525 alla port 25?
  • Come avviare automaticamente supervisord su Linux (Ubuntu)
  • C'è un modo per creare una voce "unica" di avvio in grub?
  • Apache e linux file permessi
  • Come posso sapere se netcat & dd stanno lavorando?
  • I volumi logici sono inattivi al momento dell'avvio
  • Docker - Porte esposte accessibili dall'esterno - le regole iptables ignorate
  • eseguire script come un altro utente da uno script di root senza tty stdin
  • strumento simile come Visual Round Trip Analyzer per Linux
  • Configurazione del firewallD in Fedora 18/19
  • One Solution collect form web for “Come bloccare l'accesso a Internet a determinati programmi su Linux”

    La soluzione per me è accaduta diretta.

    1. Crea, validation un nuovo gruppo ; aggiungi gli utenti necessari a questo gruppo:
      • Crea: groupadd no-internet
      • Validate: grep no-internet /etc/group
      • Aggiungi utente: useradd -g no-internet username

        Nota: se si sta modificando l'utente già esistente, è necessario eseguire: usermod -a -G no-internet userName con: sudo groups userName

    2. Creare uno script nel path e renderlo eseguibile:
      • Crea: nano /home/username/.local/bin/no-internet
      • Eseguibile: chmod 755 /home/username/.local/bin/no-internet
      • Contenuto: #!/bin/bash
        sg no-internet "$@"
    3. Aggiungere la regola iptables per la distriggerszione dell'attività di networking per il gruppo no-internet :
      • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

        Nota: non dimenticate di apportre le modifiche permanenti, per cui verrà applicata automaticamente dopo il riavvio . Facendolo, dipende dalla tua distribuzione Linux.

    4. Controllarlo, ad esempio su Firefox, eseguendo:

    • no-internet "firefox"

    Nel caso in cui vorrebbe fare un'exception e consentire ad un programma di accedere alla networking 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 spawn le regole saranno mantenute. Ad esempio, se si esegue un programma con la regola no-internet e che il programma apre la window del browser, vengono applicate le regole.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.