it-swarm.com.de

So blockieren Sie den Internetzugang für bestimmte Programme unter Linux

Vor kurzem bin ich auf ein Problem gestoßen, den Internetzugang auf bestimmte Programme zu beschränken. Könnte jemand einen guten Weg empfehlen, dies zu tun, ohne eine bestimmte Software zu verwenden?

20
Ilia Rostovtsev

Die Lösung für mich war einfach.

  1. Neue Gruppe erstellen, validieren ; Fügen Sie dieser Gruppe die erforderlichen Benutzer hinzu:
    • Erstellen: groupadd no-internet
    • Validieren: grep no-internet /etc/group
    • Nutzer hinzufügen: useradd -g no-internet username

      Hinweis: Wenn Sie bereits vorhandene Benutzer ändern, sollten Sie Folgendes ausführen: usermod -a -G no-internet userName überprüfen mit: Sudo groups userName

  2. Erstellen Sie ein Skript in Ihrem Pfad und machen Sie es ausführbar:
    • Erstellen: nano /home/username/.local/bin/no-internet
    • Ausführbar: chmod 755 /home/username/.local/bin/no-internet
    • Inhalt: #!/bin/bash
      sg no-internet "[email protected]"

  3. Fügen Sie die iptables-Regel hinzu, um die Netzwerkaktivität für die Gruppe no-internet zu löschen:
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      Hinweis: Vergessen Sie nicht, die Änderungen dauerhaft zu machen, es wäre also wird nach dem Neustart automatisch angewendet . Dies hängt von Ihrer Linux-Distribution ab.


4. Überprüfen Sie dies beispielsweise in Firefox, indem Sie Folgendes ausführen:

  • no-internet "firefox"

Falls Sie eine Ausnahme machen und einem Programm erlauben möchten, auf das lokale Netzwerk zuzugreifen :

  • 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

HINWEIS: Im Falle des Laichens werden die Regeln beibehalten. Wenn Sie beispielsweise ein Programm mit der Regel no-internet ausführen und dieses Programm das Browserfenster öffnet, werden die Regeln weiterhin angewendet.

32
Ilia Rostovtsev