web-dev-qa-db-fra.com

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

Récemment, j'ai rencontré un problème de limitation de l'accès Internet à des programmes spécifiques. Quelqu'un pourrait-il recommander une bonne façon de procéder sans utiliser de logiciel particulier?

20
Ilia Rostovtsev

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

  1. Créer, valider un nouveau groupe ; ajoutez les utilisateurs requis à ce groupe:
    • Créer: groupadd no-internet
    • Validez: 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éez 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 "$@"

  3. Ajouter règle iptables pour abandonner l'activité réseau pour le groupe no-internet :


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

  • no-internet "firefox"

Dans le 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 d'apparition, les règles seront maintenues. Par exemple, si vous exécutez un programme avec la règle no-internet et que ce programme ouvrira la fenêtre du navigateur, les règles seront toujours appliquées.

32
Ilia Rostovtsev