Sans me casser les pieds =E0 faire une cage (on verra plus tard), mais
pour =E9viter que Firefox ait le droit d'acc=E9der =E0 n'importe quoi s'il
=E9tait compromis, je me suis dit que ce serait mieux et assez simple de
le faire ex=E9cuter par son propre utilisateur.
J'ai cr=E9=E9 un utilisateur firefox, je lui ai donn=E9 un mot de passe
et acc=E8s =E0 un shell.
Les r=E9pertoires des utilisateurs ne sont accessible qu'=E0 leur
propri=E9taire (d'ailleurs pourquoi ce n'est pas le cas dans les
distribution Linux en g=E9n=E9ral ?).
=C7a a l'air de marcher en ex=E9cutant dans un terminal :
su - firefox [+ saisie du mot de passe]
firefox
Je ne sais pas s'il y a moyen de passer en param=E8tre =E0 su le mot de
passe de l'utilisateur firefox. Donc j'ai essay=E9 avec sudo. J'ai ajout=E9
=E0 la fin de /etc/sudoers :
<utilisateur> alcheringa,localhost=3D(firefox) NOPASSWD: /usr/bin/firefox
Et quand je tape
sudo -u firefox firefox
=E7a ne fonctionne pas. Il n'y a pas de message d'erreur, parfois un
processus firefox est lanc=E9 par l'utilisateur firefox mais la fen=EAtre
n'appara=EEt jamais, parfois il n'y a rien.
Un essai avec Epiphany a donn=E9 quelque chose d'un peu diff=E9rent : la
premi=E8re fois =E7a n'a pas march=E9 (la fen=EAtre d'Epiphany est apparue =
et
il s'est plaint d'un probl=E8me de connexion =E0 /tmp/xxxxxxx-socket-xxxx
[=E7a parlait de dbus aussi], puis la fen=EAtre a disparu). J'ai ensuite
essay=E9 avec "su - firefox" + lancer Epiphany, =E7a a march=E9, et depuis =
la
version avec sudo fonctionne aussi.
Voil=E0, si vous avez un avis. Y a-t-il une diff=E9rence entre le lancement
avec sudo et celui en =E9tant r=E9ellement connect=E9 avec l'utilisateur ?
L'initialisation du shell ? Mais =E7a marche =E9galement avec "su firefox",
sans le tiret, puis lancement de Firefox.
Les avis g=E9n=E9raux sur le principe sont =E9galement les bienvenus.
Pour acc=E9der =E0 quelques r=E9pertoires personnels depuis l'instance de
Firefox lanc=E9e avec un autre utilisateur, je pensais =E0 utiliser
=E9ventuellement des liens durs. Et dans une cage pareil : on peut
laisser acc=E8s =E0 certains r=E9pertoires avec des liens durs. Je ne dis p=
as
de b=EAtise, =E7a ne permet pas de sortir de la cage ?
Le Tue, 27 Apr 2010 22:18:36 +0200 François a écrit :
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
Bijour,
Ce cher Yliur a posté :
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ɥ
Bijour,
Ce cher Yliur <yliur@free.fr> a posté :
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.
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 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
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)
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
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
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é).
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
appzer0 wrote in message <4bd8289f$0$28658$:
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.
appzer0 wrote in message <4bd8289f$0$28658$426a34cc@news.free.fr>:
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.
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 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
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 ?
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
Toxico Nimbus wrote in message <4bd8422e$0$24818$:
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.
Toxico Nimbus wrote in message
<4bd8422e$0$24818$426a74cc@news.free.fr>:
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.