règle iptables / pf pour autoriser uniquement l'application / l'utilisateur XY?

8

Je pense qu'il n'y a pas de solution iptables / pf pour autoriser uniquement une application XY sur par exemple: port TCP sortant 80, eth0. Donc, si j'ai un ID utilisateur: "500", comment pourrais-je bloquer toute autre communication que celle mentionnée sur le port 80 / outbound / tcp / eth0? (par exemple: juste privoxy utilise le port 80 sur eth0)

Extra: virtualbox utilise aussi le port 80? lorsqu'un navigateur sur le système d'exploitation invité visite un site .. comment décliner cela? - définir l'utilisateur normal serait trop de trou

LanceBaynes
la source
Certes, cela pourrait être plus facile si vous divisez cette question en 2 (ou plus) questions ... le truc bsd va être très différent du truc linux ... et puis à bien des égards, vous avez également une question de boîte virtuelle. Personnellement, je pense que "comment autoriser uniquement l'application / l'utilisateur XY via iptables" et "comment autoriser uniquement l'application / l'utilisateur XY via pf" sont de bonnes questions.
xenoterracide

Réponses:

8

voici la iptablescommande pour autoriser un certain uidvia un certain port.

iptables -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner username -j ACCEPT 

depuis la page de manuel

[!] --uid-owner userid [-userid] Correspond si la structure de fichier du socket de paquet (si elle en a une) appartient à l'utilisateur donné. Vous pouvez également spécifier un UID numérique ou une plage d'UID.

en ce qui concerne virtualbox .. Je pense qu'il exécute son propre noyau ... donc vous voudrez peut-être utiliser le --uid-ownerde virtualbox sur le système d'exploitation hôte, mais aussi avoir une --uid-ownerrègle de propriétaire sur la machine virtuelle.

Il pourrait également être utile de noter qu'il --gid-ownerexiste également, et vous pouvez créer un groupe browseret sgidvos applications de navigateur afin qu'il s'exécute avec un groupe efficace browser, puis ne mettre que les utilisateurs que vous souhaitez avoir dans ce groupe ... ce ne serait pas un solution parfaite ... mais la plupart des utilisateurs n'essaieraient pas d'exécuter d'autres applications en tant que groupe, restreignant ainsi généralement le trafic sortant vers cette application, je crois. Je n'ai pas essayé cela, donc je ne suis pas à 100% que cela fonctionnerait comme je l'ai décrit.

xénoterracide
la source