GNU/Linux >> Tutoriels Linux >  >> Linux

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

Supposons qu'il y ait deux utilisateurs sur le réseau local, A et B. Comment puis-je restreindre l'accès à Internet de l'utilisateur A à l'aide des règles iptables et enregistrer les règles afin qu'après le redémarrage, elles soient toujours effectives. Supposons également que je veuille accorder l'accès à cet utilisateur à un moment donné ; comment puis-je l'activer à nouveau ? J'utilise Ubuntu Linux 10.04. Ce serait bien si quelqu'un me montrait comment le faire à partir de la ligne de commande, car je me connecte souvent à la machine en utilisant une connexion ssh locale.

Réponse acceptée :

Je suppose que les utilisateurs A et B utilisent la ou les mêmes machines Linux dont vous êtes l'administrateur. (Ce n'est pas tout à fait clair d'après votre question. Si A et B ont leurs propres ordinateurs sur lesquels ils sont administrateurs, c'est un problème complètement différent.)

La commande suivante empêchera l'utilisateur avec l'uid 1234 d'envoyer des paquets sur l'interface eth0 :

iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
ip6tables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP

Je recommande de lire le guide Ubuntu iptables pour se familiariser avec l'outil (et se référer à la page de manuel pour des choses avancées comme la table mangle).

L'utilisateur pourra toujours exécuter ping (parce que c'est setuid root), mais rien d'autre. L'utilisateur pourra toujours se connecter à un proxy local si ce proxy a été démarré par un autre utilisateur.

Pour supprimer cette règle, ajoutez -D à la commande ci-dessus.

Pour rendre la règle permanente, ajoutez-la à /etc/network/if-up.d/my-user-restrictions (faites-en un script exécutable commençant par #!/bin/sh ). Ou utilisez iptables-save (voir le guide Ubuntu iptables pour plus d'informations).


Linux
  1. Comment bloquer les adresses usurpées locales à l'aide du pare-feu Linux

  2. Comment changer la variable PATH sous Linux

  3. Comment désactiver une commande spécifique pour un utilisateur spécifique sous Linux

  4. Comment savoir quelle interface j'utilise pour me connecter à internet ?

  5. Linux + comment ne donner qu'à un utilisateur spécifique pour lire le fichier

Comment limiter l'accès de l'utilisateur au système Linux

Comment autoriser ou refuser l'accès SSH à un utilisateur ou à un groupe particulier sous Linux

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

Comment activer le sudo sans mot de passe pour l'utilisateur sous Linux

Comment connaître les groupes d'un utilisateur Linux

Comment désactiver la connexion SSH pour l'utilisateur root sous Linux ?