sudo et Firefox

Le
Yliur
Bonjour

Sans me casser les pieds à faire une cage (on verra plus tard), mais
pour éviter que Firefox ait le droit d'accéder à n'importe quoi s'il
était compromis, je me suis dit que ce serait mieux et assez simple de
le faire exécuter par son propre utilisateur.

J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.

Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).

Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox

Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
passe de l'utilisateur firefox. Donc j'ai essayé avec sudo. J'ai ajouté
à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox

Et quand je tape
sudo -u firefox firefox

ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.

Un essai avec Epiphany a donné quelque chose d'un peu différent : la
première fois ça n'a pas marché (la fenêtre d'Epiphany est apparue =
et
il s'est plaint d'un problème de connexion à /tmp/xxxxxxx-socket-xxxx
[ça parlait de dbus aussi], puis la fenêtre a disparu). J'ai ensuite
essayé avec "su - firefox" + lancer Epiphany, ça a marché, et depuis =
la
version avec sudo fonctionne aussi.

Voilà, si vous avez un avis. Y a-t-il une différence entre le lancement
avec sudo et celui en étant réellement connecté avec l'utilisateur ?
L'initialisation du shell ? Mais ça marche également avec "su firefox",
sans le tiret, puis lancement de Firefox.

Les avis généraux sur le principe sont également les bienvenus.

Pour accéder à quelques répertoires personnels depuis l'instance de
Firefox lancée avec un autre utilisateur, je pensais à utiliser
éventuellement des liens durs. Et dans une cage pareil : on peut
laisser accès à certains répertoires avec des liens durs. Je ne dis p=
as
de bêtise, ça ne permet pas de sortir de la cage ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
François
Le #21643211
Le 27/04/2010 18:49, Yliur a écrit :

Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox



En lançant Firefox en root, tu autorises d'avance le premier script
malveillant venu à flinguer ton système.

Si tu es parano, tu te crées un compte d'utilisateur ordinaire que tu
utiliseras chaque fois que tu veux surfer dangereusement.

--
François
Yliur
Le #21643481
Le Tue, 27 Apr 2010 22:18:36 +0200
François
Le 27/04/2010 18:49, Yliur a écrit :

> Ça a l'air de marcher en exécutant dans un terminal :
> su - firefox [+ saisie du mot de passe]
> firefox

En lançant Firefox en root, tu autorises d'avance le premier script
malveillant venu à flinguer ton système.




Je ne le lance pas en root.
"su - <utilisateur>" permet de se connecter avec un autre utilisateur
(qui s'appelle ici "firefox").


Si tu es parano, tu te crées un compte d'utilisateur ordinaire que tu
utiliseras chaque fois que tu veux surfer dangereusement.



C'est bien ce que j'ai décrit dans mon message.
Hugues
Le #21645701
Bijour,

Ce cher Yliur
Bonjour

Sans me casser les pieds à faire une cage (on verra plus tard), mais
pour éviter que Firefox ait le droit d'accéder à n'importe quoi s'il
était compromis, je me suis dit que ce serait mieux et assez simple de
le faire exécuter par son propre utilisateur.



Pourquoi pas.


J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.



Jusque là, ok.

Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).



Je ne comprends pas ce que tu veux dire.. : le propriétaire de qui ?

Ça a l'air de marcher en exécutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox

Je ne sais pas s'il y a moyen de passer en paramètre à su le mot de
passe de l'utilisateur firefox.



Non, il faudrait jouer avec PAM, je pense, mais à chaud je ne vois pas comment...

Donc j'ai essayé avec sudo. J'ai ajouté
à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox



C'est une meilleure idée, en effet.

Et quand je tape
sudo -u firefox firefox

ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.



Vérifie le comportement des variables d'environnement telles que HOME,
il est bien possible qu'elles soient restées aux valeurs de
l'utilisateur <user lambda>...

[...]
Les avis généraux sur le principe sont également les bienvenus.



sudo aura tendance à ne pas mettre à jour toutes les variables
d'environnement, typiquement le PATH, HOME, etc..
man sudoers pour avoir plus d'infos..

Alors qu'avec su, tu as la garantie de faire un login complet, avec mise
à zéro des différentes variables shell.

Selon moi, l'utilisateur firefox n'a même pas besoin d'avoir un shell
dans son /etc/passwd avec sudo, mais c'est à tester..


Pour accéder à quelques répertoires personnels depuis l'instance de
Firefox lancée avec un autre utilisateur, je pensais à utiliser
éventuellement des liens durs. Et dans une cage pareil : on peut
laisser accès à certains répertoires avec des liens durs. Je ne dis pas
de bêtise, ça ne permet pas de sortir de la cage ?



Trop de complication nuit à la sécurité : keep it simple, keep it stupid.
L'idée du sudo est déjà pas mal à mon goût.

--
Hugues Hiegel [http://www.hiegel.fr/~hugues/]

ꞁəƃəᴉɥ sənƃnɥ
Bastien Durel
Le #21646301
Le Tue, 27 Apr 2010 18:49:28 +0200, Yliur a écrit :
Bonjour



bonjour,
[...]
Et quand je tape
sudo -u firefox firefox



Tu peux essayer avec sudo -H pour placer $HOME, voir -i pour simuler le
login (comme le "-" de "su - user")

Par contre, je ne vois pas comment il va parler au serveur X ... mais
avec su - non plus. (à moins de transférer le MIT-cookie)

--
Bastien
appzer0
Le #21647541
Hugues wrote:

J'ai créé un utilisateur firefox, je lui ai donné un mot de passe
et accès à un shell.





Peut-être même que tu peux lui donner un faux shell, à savoir /bin/false
(qui doit faire partie de /etc/shells sunr une distro linux standard,
ubuntu je ne sais pas)

Les répertoires des utilisateurs ne sont accessible qu'à leur
propriétaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en général ?).





Ça c'est la politique de la distro. Sur Slackware par exemple, les
home/user/ sont en 755, fichiers en 644 comme bcp d'autres distro, donc
accessibles aux autres (le groupe et aussi les autres) . C'est à toi de
décider si tu veux restreindre l'accès ou pas à ces répertoires au seul
groupe/propriétaire.

Donc j'ai essayé avec sudo. J'ai ajouté
à la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=(firefox) NOPASSWD: /usr/bin/firefox



C'est une meilleure idée, en effet.

Et quand je tape
sudo -u firefox firefox

ça ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lancé par l'utilisateur firefox mais la fenêtre
n'apparaît jamais, parfois il n'y a rien.



Vérifie le comportement des variables d'environnement telles que HOME,
il est bien possible qu'elles soient restées aux valeurs de
l'utilisateur <user lambda>...



Il est possible que ce soit la faute du script 'firefox', c'est un
"wrapper" qui exécute firefox-bin.sh ou quelque chose dans ce goût-là,
possible que ton sudo ne passe pas l'étape 'firefox', alors que c'est
'firefox-bin.sh' qui devrait être lancé par l'utilisateur 'firefox' (de
tête, je n'ai rien vérifié).

appzer0
Nicolas George
Le #21647591
appzer0 wrote in message
Peut-être même que tu peux lui donner un faux shell, à savoir /bin/false
(qui doit faire partie de /etc/shells sunr une distro linux standard,



Il ne devrait pas : le rôle du fichier /etc/shells est de reconnaître les
vrais shells, justement.
Toxico Nimbus
Le #21647971
Le 28/04/2010 14:22, appzer0 a écrit :

Il est possible que ce soit la faute du script 'firefox', c'est un
"wrapper" qui exécute firefox-bin.sh ou quelque chose dans ce goût-là,
possible que ton sudo ne passe pas l'étape 'firefox', alors que c'est
'firefox-bin.sh' qui devrait être lancé par l'utilisateur 'firefox' (de
tête, je n'ai rien vérifié).



C'est peut-être un peu simpliste, mais mettre firefox-bin avec un id
firefox et un setuid ne ferait-il pas l'affaire ?

--
Toxico Nimbus
Nicolas George
Le #21648161
Toxico Nimbus wrote in message
C'est peut-être un peu simpliste, mais mettre firefox-bin avec un id
firefox et un setuid ne ferait-il pas l'affaire ?



Non, les binaires SUID gagnent des droits mais n'en perdent pas à moins de
le faire exprès.
Yannick Patois
Le #21652591
Le 27.04.2010 18:49, Yliur a écrit :
Et quand je tape
sudo -u firefox firefox



Essaie sux, sinon, tu vas au devant de gros problèmes avec X.

Yannick

--
_/ Yannick Patois ___________________________________________________
| web: http://feelingsurfer.net/garp/ | Garp sur irc undernet |
| email: | |
Toxico Nimbus
Le #21653101
Le 29/04/2010 10:57, Yannick Patois a écrit :
Le 27.04.2010 18:49, Yliur a écrit :
Et quand je tape
sudo -u firefox firefox



Essaie sux, sinon, tu vas au devant de gros problèmes avec X.



Dans la même lignée, y'a pas un gksudo ?

--
Toxico Nimbus
Publicité
Poster une réponse
Anonyme