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'accder n'importe quoi s'il
tait compromis, je me suis dit que ce serait mieux et assez simple de
le faire excuter par son propre utilisateur.

J'ai cr un utilisateur firefox, je lui ai donn un mot de passe
et accs un shell.

Les rpertoires des utilisateurs ne sont accessible qu' leur
propritaire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en gnral ?).

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

Je ne sais pas s'il y a moyen de passer en paramtre 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 fentre
n'apparat jamais, parfois il n'y a rien.

Un essai avec Epiphany a donn quelque chose d'un peu diffrent : la
premire fois a n'a pas march (la fentre d'Epiphany est apparue =
et
il s'est plaint d'un problme de connexion /tmp/xxxxxxx-socket-xxxx
[a parlait de dbus aussi], puis la fentre 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 diffrence entre le lancement
avec sudo et celui en tant rellement connect avec l'utilisateur ?
L'initialisation du shell ? Mais a marche galement avec "su firefox",
sans le tiret, puis lancement de Firefox.

Les avis gnraux sur le principe sont galement les bienvenus.

Pour accder quelques rpertoires personnels depuis l'instance de
Firefox lance avec un autre utilisateur, je pensais utiliser
ventuellement des liens durs. Et dans une cage pareil : on peut
laisser accs certains rpertoires avec des liens durs. Je ne dis p=
as
de btise, a ne permet pas de sortir de la cage ?

Merci
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