www : suid sur sh

Le
Thomas
bonjour :-)


je n'ai pas envie de m'embêter avec des trucs comme chroot, compliqués
pour moi parce que je ne les maîtrise pas

(et puis c'est pour un truc relativement temporaire)


à la limite, je pourrais fiche mon serveur web directement dans
l'utilisateur courant,
mais si ça n'est pas trop coûteux, autant compartimenter un tout petit
peu

apache tourne sous un utilisateur qui s'appelle www
je pense que cet utilisateur a le droit de lire bcp (faut bien aller
chercher les données), mais n'a presque pas le droit d'écrire

si je fais une copie de sh sous le nom www, et que je lui colle le suid
bit (pour pouvoir lancer mon serveur web à partir de l'utilisateur
courant),
il me semble que ça n'a aucun inconvénient,
parce que ça va avoir pour effet que n'importe qui va pouvoir exécuter
n'importe quoi en tant que www, et c'est tout
donc comme www ne peut presque rien faire, ça ne donnera aucun avantage
à qui que ce soit


est ce que je me trompe,
et que c'est susceptible de créer un énorme trou de sécurité ?

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane CHAZELAS
Le #22006591
2010-05-09, 04:19(+02), Thomas:
[...]
apache tourne sous un utilisateur qui s'appelle www
je pense que cet utilisateur a le droit de lire bcp (faut bien aller
chercher les données), mais n'a presque pas le droit d'écrire

si je fais une copie de sh sous le nom www, et que je lui colle le suid
bit (pour pouvoir lancer mon serveur web à partir de l'utilisateur
courant),
il me semble que ça n'a aucun inconvénient,
parce que ça va avoir pour effet que n'importe qui va pouvoir exécuter
n'importe quoi en tant que www, et c'est tout
donc comme www ne peut presque rien faire, ça ne donnera aucun avantage
à qui que ce soit


est ce que je me trompe,
et que c'est susceptible de créer un énorme trou de sécurité ?


[...]

Je n'ai pas trop compris ce que tu essaies de realiser a la fin,
mais en permettant a n'importe qui d'executer n'importe quoi en
tant que www, tu leur permets:

- de tuer apache
- de faire un strace/truss/tusc/dtrace dessus et donc voir tout
le trafic y compris les mots de passe echangés
- d'attacher un debugger a apache et de change son comportement
(donc d'acceder et detourner resource privilegiee qu'est le port
TCP 80)
- ca leur permet de contourner des quotas disk en creant leur
fichier sous l'utilisateur www
- d'installer une crontab en tant que www


Note que si tu veux permettre certaines personnes d'executer
certaines commandes en tant que "www", sudo est fait pour ca
(voir man sudoers).


--
Stéphane
Bruno Tréguier
Le #22008721
Le 09/05/2010 à 4:19, Thomas a écrit :
bonjour :-)



Bonjour,

Je ne reprends pas votre texte Thomas, mais relisez-vous, vous verrez
que vous nous demandez votre avis sur une solution, mais sans nous
expliquer le problème... :-)

Le fait de donner les droits d'un utilisateur à un autre n'est jamais
anodin, et est toujours un trou potentiel de sécurité. Après, il faut
voir si le jeu en vaut la chandelle, et surtout, examiner si d'autres
solutions ne sont pas envisageables. Mais pour cela, il faut décrire le
problème, et pas seulement la solution envisagée...

Cordialement,

Bruno
Thomas
Le #22099251
In article Stephane CHAZELAS
2010-05-09, 04:19(+02), Thomas:
[...]
> apache tourne sous un utilisateur qui s'appelle www
> je pense que cet utilisateur a le droit de lire bcp (faut bien aller
> chercher les donn?(C)es), mais n'a presque pas le droit d'?(C)crire
>
> si je fais une copie de sh sous le nom www, et que je lui colle le suid
> bit (pour pouvoir lancer mon serveur web ?? partir de l'utilisateur
> courant),
> il me semble que ?ssa n'a aucun inconv?(C)nient,
> parce que ?ssa va avoir pour effet que n'importe qui va pouvoir ex?(C)cuter
> n'importe quoi en tant que www, et c'est tout
> donc comme www ne peut presque rien faire, ?ssa ne donnera aucun avantage
> ?? qui que ce soit
>
>
> est ce que je me trompe,
> et que c'est susceptible de cr?(C)er un ?(C)norme trou de s?(C)curit?(C) ?
[...]

Je n'ai pas trop compris ce que tu essaies de realiser a la fin,



je sais pas trop comment expliquer

j'ai dit "a la limite, je pourrais fiche mon serveur web directement
dans l'utilisateur courant"
ce que ca pose comme pb, c'est que si le serveur web est pirate, le
pirate a immediatement acces a tout l'utilisateur courant

alors que si a la place le serveur web est www, il ne doit pas pouvoir
faire grand chose, puisqu'il y a deja apache, les concepteurs du systeme
ont du tout verrouiller


mais en permettant a n'importe qui d'executer n'importe quoi en
tant que www, tu leur permets:

- de tuer apache
- de faire un strace/truss/tusc/dtrace dessus et donc voir tout
le trafic y compris les mots de passe echang?(C)s
- d'attacher un debugger a apache et de change son comportement
(donc d'acceder et detourner resource privilegiee qu'est le port
TCP 80)
- ca leur permet de contourner des quotas disk en creant leur
fichier sous l'utilisateur www
- d'installer une crontab en tant que www



j'envisageais que le seul point d'intrusion possible etait le serveur
web (je fais confiance aux utilisateurs locaux)
auquel cas, le pirate fait deja ce qu'il veut avec le serveur web lui
meme




Note que si tu veux permettre certaines personnes d'executer
certaines commandes en tant que "www", sudo est fait pour ca
(voir man sudoers).



j'avais oublie, merci :-)

ouais, je vais peut etre faire ca
c'est un peu chiant a configurer, mais normalement on ne le fait qu'une
fois,
et c'est quand meme ce qu'il y a de plus propre :-)

--
Teleassistance / Telemaintenance
http://www.portparallele.com/ThomasDECONTES/
Publicité
Poster une réponse
Anonyme