[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Limiter l'execution d'un programme à un groupe ?



MXSinge a écrit :

> Ah oui j'y avais pas pensé à ca...
> En gros n'importe qui peut installer firefox ou apache par exemple ?
> Je pensais que seul le root avait le droit de le faire... ,Il y'a un
> moyen de limiter les install uniquement au root ?


Au niveau des installations, c'est difficile. Mais tu peux agir au
niveau du reseau. Par exemple, si tu veux interdire l'acces au reseau a
un utilisateur, tu peux utiliser la cible 'owner' d'iptables. Par
exemple, si tu veux interdire l'acces a toto qui a un uid de 500, tu
peux faire une regle du genre (j'utilise un firewall statefull, tu peux
adapter a ta configuration):

iptables -A OUTPUT -m state --state NEW -m owner --uid-owner 500 -j DROP

Il y a des limitations, notamment au niveau d'ICMP, voir le man pages
d'iptables. Cette regle n'empeche pas le systeme et les autres
utilisateurs d'acceder au reseau. Par contre, il faut surveiller que
toto ne puisse pas changer d'uid (commande avec suid d'activé pour un
autre utilisateur par exemple).

Après, tu dois pouvoir affiner. Par exemple, si tu veux que
l'utilisateur toto puisse quand meme faire du thunderbird, tu peux, par
exemple, créer un groupe thunderbird (pour l'exemple, ce groupe a un gid
de 600), faire un petit script qui lance thunderbird, le mettre dans le
groupe thunderbird, activer le sgid sur ce script et autoriser seulement
les paquets qui appartiennent a ce groupe :

iptables -A OUTPUT -m state --state NEW -m owner --gid-owner 600 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -m owner --uid-owner 500 -j DROP

toto pourra alors faire du thunderbird en lancant le script (il ne doit
pas pouvoir ecrire dedans bien sur!), tu peux meme affiner les regles
pour n'autoriser que certains serveurs ...etc.

Je n'ai pas testé mais ca doit etre jouable, tu peux toujours logger les
ouvertures de sessions (la, il faut absolument du statefull) pour
verifier que la mesure n'est pas detournée. En plus, ca permet de
laisser firefox fonctionner normalement localement, ce qui est pratique
pour lire les docs en html par exemple.

Un principe en securité, c'est qu'il vaut mieux definir ce qui est
autorisé que ce qui est interdit.

A+

PS: Ces regles ne sont valables que sur le PC utilisé par toto, il faut
donc avoir le controle du PC.

>
> Merci
>
>> Salut
>> Je dirais que la méthode la plus simple serait de faire la chose
>> suivante :
>> # chmod 750 /usr/bin/firefox
>> puis
>> # chgrp firefox /usr/bin/firefox.
>>
>> C'est le plus simple.
>> Mais bon, personne ne serait empécher de le télécharger de l'utiliser
>> sur son compte !!
>>
>> Ludovic
>>
>> Le 27/02/06, MXSinge<singenunux@free.fr> a écrit :
>>  
>>
>>> Bonsoir tout le monde,
>>> J'espere que vous allez bien.
>>>
>>> Habitué de windows, et reconverti en Debian depuis peu, j'ai une
>>> question qui va vous paraitre dans le style"newbie". Je me lance quand
>>> meme :)
>>>
>>> Afin de me familiariser avec le systeme Linux et de bien comprendre sa
>>> philosophie, j'aimerais essayé de limiter l'execution de FireFox (et
>>> autre programme à l'avenir) à un seul utilisateur qui serait dans le
>>> groupe firefox.
>>>
>>> Ma question est : dois-je faire un CHGRP sur l'exe de firefox  (trouvé
>>> dans /usr/bin) ou bien de carement faire le chgrp du repertoire
>>> /usr/lib/mozilla-firefox/ ? (avec tout ce qu'il contient)
>>>
>>> Ou bien est-ce que je suis completement à l'Ouest, et y'a plus
>>> simple et
>>> pratique à faire ? (sachant que jveux absolument faire cela en ligne de
>>> commande).
>>>
>>> Merci d'avance
>>> Bonne soirée !
>>>
>>>
>>>   
>>
>
>



Reply to: