GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So blockieren Sie den Internetzugriff auf bestimmte Programme unter Linux

Lösung 1:

Die Lösung für mich war einfach.

  1. Erstellen, bestätigen Sie neue Gruppe; Fügen Sie dieser Gruppe die erforderlichen Benutzer hinzu:
    • Erstellen:groupadd no-internet
    • Validieren:grep no-internet /etc/group
    • Benutzer 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 prüfen mit:sudo groups userName

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

  3. Fügen Sie iptables-Regel hinzu zum Beenden der Netzwerkaktivität für die Gruppe no-internet :
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      Hinweis:Vergessen Sie nicht, die Änderungen dauerhaft zu machen, damit sie nach dem Neustart automatisch angewendet werden. Das hängt von Ihrer Linux-Distribution ab.


4. Überprüfen Sie es, zum Beispiel in Firefox, indem Sie Folgendes ausführen:

  • no-internet "firefox"

Falls Sie eine Ausnahme machen und einem Programm den Zugriff auf lokales Netzwerk erlauben möchten :

  • 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 eines Spawnings werden die Regeln beibehalten. Zum Beispiel, wenn Sie ein Programm mit no-internet ausführen Regel und dieses Programm öffnet das Browserfenster, trotzdem werden die Regeln angewendet.

Lösung 2:

Eine einfachere Möglichkeit:Verwenden Sie firejail . Es führt die Anwendung in der Sandbox aus. In der Sandbox können Sie den Zugriff der Anwendung auf jedes Netzwerk oder jeden Ordner auf Ihrem Computer steuern.

Um eine bestimmte Anwendung ohne Netzwerkzugriff auszuführen, gehen Sie wie folgt vor:

firejail --net=none <application>

In diesem Fall "sieht die Sandbox aus wie ein Computer ohne Netzwerkschnittstellen." (Siehe Netzwerkabschnitt in der Dokumentation)

Beispiel:firejail --net=none firefox startet Firefox ohne Netzwerkverbindung.

Installation

Siehe Installationsdokumentation. Sie sollten aus dem Paketsystem Ihrer Distribution installieren oder besser die neueste Version LTS besorgen. (Zum Beispiel diese neueste LTS-Version, 9.56.2 , funktioniert auch in Ubuntu 16.04.)


Linux
  1. Wie man C-Programme unter Linux mit gdb debuggt

  2. Zugriff auf Linux-Dateisysteme in Windows 10 und WSL 2

  3. Linux – Netzwerkzugriff eines Prozesses blockieren?

  4. Linux – Wie beschränkt man den Internetzugang für einen bestimmten Benutzer im LAN mit Iptables in Linux?

  5. Wie überprüfe ich den Internetzugang mit Bash-Skript in Linux?

So finden Sie verfügbare Netzwerkschnittstellen unter Linux

So beschränken Sie den SSH-Zugriff auf bestimmte Benutzer in Linux

So ändern Sie die Netzwerk-MAC-Adresse in Linux

So überprüfen Sie die Internetgeschwindigkeit unter Linux

So fügen Sie eine Route unter Linux hinzu

So konfigurieren Sie Linux als statischen Router