GNU/Linux >> Tutoriels Linux >  >> Linux

Comment bloquer l'accès Internet à certains programmes sous Linux

Solution 1 :

La solution pour moi s'est avérée simple.

  1. Créer, valider un nouveau groupe; ajoutez les utilisateurs requis à ce groupe :
    • Créer :groupadd no-internet
    • Valider :grep no-internet /etc/group
    • Ajouter un utilisateur :useradd -g no-internet username

      Remarque :Si vous modifiez un utilisateur déjà existant, vous devez exécuter :usermod -a -G no-internet userName vérifier avec :sudo groups userName

  2. Créer un script dans votre chemin et rendez-le exécutable :
    • Créer :nano /home/username/.local/bin/no-internet
    • Exécutable :chmod 755 /home/username/.local/bin/no-internet
    • Contenu :#!/bin/bash
      sg no-internet "[email protected]"

  3. Ajouter une règle iptables pour avoir abandonné l'activité du réseau pour le groupe pas d'internet :
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      Remarque :N'oubliez pas de rendre les modifications permanentes, afin qu'elles soient appliquées automatiquement après le redémarrage. Cela dépend de votre distribution Linux.


4. Vérifiez-le, par exemple sur Firefox en exécutant :

  • no-internet "firefox"

Au cas où vous voudriez faire une exception et autoriser un programme à accéder au réseau 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

REMARQUE : En cas de ponte les règles seront maintenues. Par exemple, si vous exécutez un programme avec pas d'internet règle et ce programme ouvrira la fenêtre du navigateur, les règles seront toujours appliquées.

Solution 2 :

Une possibilité plus simple :utilisez firejail . Il exécute l'application à l'intérieur du bac à sable. Dans le bac à sable, vous pouvez contrôler l'accès de l'application à n'importe quel réseau ou dossier de votre ordinateur.

Pour exécuter une certaine application sans accès au réseau, procédez comme suit :

firejail --net=none <application>

Dans ce cas, "Le bac à sable ressemble à un ordinateur sans aucune interface réseau." (Voir la section Réseau dans la documentation)

Par exemple, firejail --net=none firefox démarrera firefox sans aucune connexion réseau.

Installation

Voir la documentation d'installation. Vous devez installer à partir du système de paquets de votre distribution, ou mieux obtenir la dernière version LTS. (Par exemple, cette dernière version LTS, 9.56.2 , fonctionne également dans Ubuntu 16.04.)


Linux
  1. Comment déboguer des programmes C sous Linux à l'aide de gdb

  2. Comment accéder aux systèmes de fichiers Linux dans Windows 10 et WSL 2

  3. Linux - Bloquer l'accès réseau d'un processus ?

  4. Linux - Comment restreindre l'accès à Internet pour un utilisateur particulier sur le réseau local à l'aide d'Iptables sous Linux ?

  5. Comment vérifier l'accès à Internet à l'aide du script bash sous Linux?

Comment trouver les interfaces réseau disponibles sous Linux

Comment restreindre l'accès SSH à certains utilisateurs sous Linux

Comment changer l'adresse MAC du réseau sous Linux

Comment vérifier la vitesse d'Internet sous Linux

Comment ajouter une route sous Linux

Comment configurer Linux en tant que routeur statique