Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 29-10-2022 01:35:23

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

[résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Bonjour,

Comment donner accès à presque tout (update, upgrade, se balader partout, faire des modifications partout) à l'utilisateur de sudo (toto) mais en excluant quelques points spécifiques histoire de garder 'root' maitre ? Je pense tout d'abord au mot de passe de root qui peut être modifié par l'user qui a l'accès 'sudo ALL'


Je viens de découvrir que l'user qui aurait des droits %sudo dans /etc/sudoers, peut modifier le mot de passe root!
Je découvre aussi que la commande sudo -i fait passer l'user à root, avec le mot de passe de l'user.
Je pensais, naïvement, que sudo pouvait donner accès à presque tout, tout en protégeant root, mais en fait pas du tout.


J'ai vu dans un post qu'il fallait mettre, dans le fichier /etc/sudoers, un point d’exclamation devant le chemin de la commande que l'on souhaite bloquer (ici le changement de mot de passe de root) comme ceci:

toto  ALL=(ALL:ALL) ALL, !/usr/bin/passwd root


Ainsi, toto ne peut plus modifier le mot de passe de root en faisant 'sudo passwd root'.

Mais, toto peut faire encore 2 choses :
Modifier le fichier /etc/sudoers en supprimant la ligne qui le restreint. Comment lui bloquer cela ?
et même faire 'sudo -i' pour devenir root, avec le mot de passe de toto !, et donc pouvoir faire le changement de mot de passe de root!

Comment empêcher toto de faire cela ?

Est-ce qu'il y aurait d'autres points critiques à protéger ?

edit: c'est corrigé pour le point d'exclamation, merci mksmn

Dernière modification par totoZero7 (03-11-2022 17:14:59)

Hors ligne

#2 29-10-2022 02:14:59

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Tu devrai faire une liste blanche de ce qui est autorisé plutôt qu'une liste noire, je vois vraiment pas l’intérêt d'une liste noire, ça semble tellement trivial à contourner...

virtue_signaling.png
Pas de repos pour les oppresseurs ! (/me inclus)

Hors ligne

#3 29-10-2022 06:37:57

mksmn
Membre
Lieu : Ile de France
Distrib. : Debian GNU/Linux Stable (Bullseye) 11.6
Noyau : Noyau Linux 5.10.0-20-amd64
(G)UI : Xfce Desktop 4.16
Inscription : 30-06-2008

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

bonjour,

point d'interrogation ?  ou point d'exclamation !

Debian, c'est bien!
(De retour sous Debian, soyez cool.)
Notebook ASUS X71SL intel(R) Core2Duo CPU T9600 @2.80Ghz Ram 8 Go
Debian/GNU Linux Stable 11.6 (Bullseye), XFCE 4.16, Noyau Linux 5.10.0-20-amd64

Hors ligne

#4 29-10-2022 08:40:58

Kristen
Membre
Lieu : Finistère
Distrib. : Debian Bullseye
Noyau : Linux 5.10.0-19-amd64
(G)UI : XFCE4
Inscription : 19-02-2009

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Salut
Tu peux définir des alias de commande avec visudo. Comme ça, sudo est "restreint" à ce que tu as défini.

Hors ligne

#5 29-10-2022 13:05:16

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

otyugh a écrit :

Tu devrai faire une liste blanche de ce qui est autorisé plutôt qu'une liste noire,


Kristen a écrit :

Tu peux définir des alias de commande avec visudo. Comme ça, sudo est "restreint" à ce que tu as défini.


Je suppose que vous dites la même chose ?

Si je prends le problème dans l'autre sens (faire une liste blanche), là ça se complique car je ne sais pas ce que je dois donner à toto pour que tout fonctionne comme d'habitude.

Aussi, je pense ne pas bien comprendre la problématique de différence entre toto (mon user), que j'utilise quotidiennement et root. J'emploie toto un peu à la manière root en métant sudo assez régulièrement.
Peut-être devrais-je modifier mon comportement, mais je ne sais pas par où commencer.

Je me souviens, quand j'ai installé Debian pour la première fois, j'ai été obligé de mettre toto avec les droits root dans sudoers, pour faire ne serait-se qu'une mise à jour des paquets et du système.
Je ne me suis jamais préoccupé de vérifier la différence de fonction entre ces deux là.
C'est aujourd'hui, en testant la commande "sudo -i" que je découvre cela, après pas mal d'années sur Debian en plus ! (on peut être toujours nul après tant d'année...).

Du coup, je pose une autre question.
Est-ce utile de séparer les droits entre user et root me concernant ?

Dernière modification par totoZero7 (29-10-2022 14:39:06)

Hors ligne

#6 29-10-2022 13:37:44

tux12
Membre
Lieu : ./
Distrib. : stable
Noyau : celui de la stable
(G)UI : KDE
Inscription : 27-02-2008

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Bonjour,

totoZero7 a écrit :

Peut-être devrais-je modifier mon comportement, mais je ne sais pas par où commencer.



Je pense que ce qu'il faut comprendre c'est la relation entre les comptes utilisateurs et les droits (lecture, écriture, exécution) définis pour chaque fichier (au sens large, ça inclut les répertoires, fifos...) pour le propriétaire, le groupe et "les autres". C'est ce qui définit qui a accès à quoi, qui peut exécuter quoi, et ça répond en conséquence aux questions que tu te poses ci-dessus bien au delà de l'utilisation de sudo.

Dernière modification par tux12 (29-10-2022 13:40:50)


Tout est un sauf zéro. - Wau Holland

Hors ligne

#7 29-10-2022 13:43:38

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Est-ce utile de séparer les droits entre user et root me concernant ?

Perso, sur un poste de travail où je suis le seul utilisateur, je ne défini pas de mot de passe root à l'installation et utilise donc sudo à la mode Ubuntu wink


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#8 29-10-2022 13:45:20

ubub
Membre
Distrib. : Debian
(G)UI : xfce
Inscription : 14-05-2019

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Je me souviens, quand j'ai installé Debian pour la première fois, j'ai été obligé de mettre toto avec les droits root dans sudoers, pour faire ne serait-se qu'une mise à jour des paquets et du système.


Pourquoi donc ..?
Sûrement de là que t'as mal interprété la différence utilisateur / super-utilisateur ....

Hors ligne

#9 29-10-2022 13:54:32

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

ubub a écrit :

Sûrement de là que t'as mal interprété la différence utilisateur / super-utilisateur ....

Si tu définis un mot de passe root à l'installation, sudo n'est pas installé d'office il me semble, ou si il l'est, il faut le configurer à la main comme l'indique totoZero7.

Si tu ne défini pas de mot de passe root, sudo est installé et configuré pour donner les droits admin au premier utilisateur créé.


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#10 29-10-2022 14:58:15

ubub
Membre
Distrib. : Debian
(G)UI : xfce
Inscription : 14-05-2019

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

... J'ai toujours pas compris,

Si tu ne défini pas de mot de passe root, sudo est installé et configuré pour donner les droits admin au premier utilisateur créé.


Ça je le comprends, mais

obligé de mettre toto avec les droits root dans sudoers, pour faire ne serait-se qu'une mise à jour des paquets et du système.


comment ça, ça se passe ? bien avec root, ....
sinon, lors d'une configuration sans mot de passe root, j'imagine que sudo a déja tous les droits ne serait-ce pour faire une mise à jour ....

Hors ligne

#11 29-10-2022 14:59:17

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

En effet, lors de l'installation de Debian, j'ai rempli les champs pour les mots de passe de root et user - voulant bien faire -  et j'ai donc dû mettre toto dans sudoers une fois logué pour faire des mises à jour. J'ai gardé cette habitude depuis. J'avais pris l'habitude d'utiliser sudo, dans ma manière de faire des mises à jour, avant de mettre Debian car je m'étais familiarisé avec Ubuntu qui fonctionne avec sudo par défaut me semble t'il, du moins c'est ce que je me rappelle de l'époque car je n'utilise plus ubuntu depuis.

Je vais continuer ainsi pour le moment. Bendia me rassure sur ce point.

tux12 a écrit :

Je pense que ce qu'il faut comprendre c'est la relation entre les comptes utilisateurs et les droits


Je vois comment dire à bidule si il peut avoir accès à tel répertoire/fichier.
En revanche, je maitrise très mal la vision que peut faire, dans l'ensemble, un utilisateur par rapport à un admin sur un PC.

Pour dire cela d'une autre manière:
Supposons que demain, j'ouvre une session pour une personne de confiance, qui n'est pas complètement à l'aise avec la machine, mais que je l'autorise quand même à installer des paquets.
Est-ce qu'il y a des restrictions à mettre tout de même à cette personne ou est-ce que l'autoriser à installer des paquets est synonyme de comportement root ?

Hors ligne

#12 29-10-2022 15:13:23

Kristen
Membre
Lieu : Finistère
Distrib. : Debian Bullseye
Noyau : Linux 5.10.0-19-amd64
(G)UI : XFCE4
Inscription : 19-02-2009

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

Pour dire cela d'une autre manière:
Supposons que demain, j'ouvre une session pour une personne de confiance, qui n'est pas complètement à l'aise avec la machine, mais que je l'autorise quand même à installer des paquets.
Est-ce qu'il y a des restrictions à mettre tout de même à cette personne ou est-ce que l'autoriser à installer des paquets est synonyme de comportement root ?


Comme je l'ai indiqué : tu peux définir des alias de commande avec visudo. Comme ça, sudo est "restreint" à ce que tu as défini. En gros, tu accordes à un utilisateur certains droits comme l'installation de paquets ou autre selon ce que tu as défini.
Tu as des explications ici

Hors ligne

#13 29-10-2022 15:53:11

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Excellent ces exemples que tu donnes en lien Kristen ! Là je vois mieux cette histoire d'alias et donc de "liste blanche".

On peut autoriser l’installation/désinstallation de paquets sans devenir root pour autant.
Je découvre par ces exemples par quel moyen Debian installe un paquet du coup (/usr/bin/apt-get).
Ça peut paraître bête, mais je ne le savais pas. Ça me grandit big_smile

Problème résolu. Merci à tous.

Dernière modification par totoZero7 (29-10-2022 15:54:21)

Hors ligne

#14 29-10-2022 16:10:46

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

tux12 a écrit :

Je pense que ce qu'il faut comprendre c'est la relation entre les comptes utilisateurs et les droits (lecture, écriture, exécution) définis pour chaque fichier


Les privilèges de root (UID=0) vont bien au-delà des permissions sur les fichiers.

bendia a écrit :

sur un poste de travail où je suis le seul utilisateur, je ne défini pas de mot de passe root


Et tu réaliseras que c'est une mauvaise idée si tu te retrouves dans une situation où le mot de passe root est indispensable, comme par exemple le démarrage en mode dépannage ou l'impossibilité d'ouvrir une session utilisateur.

bendia a écrit :

Si tu définis un mot de passe root à l'installation, sudo n'est pas installé d'office


Il peut être installé par dépendance de l'environnement de bureau (recommandé par task-desktop) ou d'un autre paquet.

Dernière modification par raleur (29-10-2022 17:10:58)


Il vaut mieux montrer que raconter.

Hors ligne

#15 29-10-2022 16:17:44

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

est-ce que l'autoriser à installer des paquets est synonyme de comportement root ?


Oui, ce privilège est suffisant pour acquérir le droit d'exécuter n'importe quelle commande en root.


Il vaut mieux montrer que raconter.

Hors ligne

#16 29-10-2022 18:01:59

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

raleur a écrit :

Oui, ce privilège est suffisant pour acquérir le droit d'exécuter n'importe quelle commande en root.


hum, pour aller à l’extrême, peut-il aller... jusqu'à prendre la place de root en modifier/supprimer son mot de passe par exemple ? ou faire des modifications qui ne lui sont pas initialement attribué, comme écrire dans sudoers ?

Hors ligne

#17 29-10-2022 18:10:29

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Qu'est-ce qui n'est pas clair dans "exécuter n'importe quelle commande en root" ?

Il vaut mieux montrer que raconter.

Hors ligne

#18 29-10-2022 18:14:53

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

du coup, la liste blanche ne sert à rien.
peut-on mettre des restrictions tout de même ou ça aussi c'est pas bon ?

du coup, je ne vois pas l'intérêt de brider sudo sauf pour les enfant de 5ans.

Hors ligne

#19 29-10-2022 18:54:17

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

du coup, la liste blanche ne sert à rien.


Si, mais à condition de n'y inclure que des commandes qui ne permettent pas d'obtenir une élévation de privilège, ce qui n'est pas le cas d'apt-get ou dpkg.
dpkg ou apt permettent d'installer n'importe quel paquet .deb arbitraire pouvant par exemple contenir un exécutable suid ou un script de préinstallation exécuté en root, donc exclu.
apt-get ne permet d'installer que des paquets des dépôts définis
[EDIT : en fait non, il permet aussi d'installer des .deb, voir les messages suivants]
mais son option -c permet de spécifier un fichier de configuration arbitraire pouvant contenir des commandes qui seront exécutées en root, donc il faut faire en sorte qu'apt-get ne puisse pas être exécuté via sudo avec cette option (via un script wrapper par exemple).

Dernière modification par raleur (29-10-2022 21:03:50)


Il vaut mieux montrer que raconter.

Hors ligne

#20 29-10-2022 19:12:58

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

du coup, je ne vois pas l'intérêt de brider sudo sauf pour les enfant de 5ans.


Sauf si tes partitions sont chiffrées, avec un accès physique à ta machine, avoir un accès root demande 2 minute environ. Ce n'est pas un secret. Et ça marche pour windows aussi.

Dernière modification par otyugh (29-10-2022 19:15:32)


virtue_signaling.png
Pas de repos pour les oppresseurs ! (/me inclus)

Hors ligne

#21 29-10-2022 19:25:47

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

otyugh a écrit :

du coup, je ne vois pas l'intérêt de brider sudo sauf pour les enfant de 5ans.


Sauf si tes partitions sont chiffrées, avec un accès physique à ta machine, avoir un accès root demande 2 minute environ. Ce n'est pas un secret. Et ça marche pour windows aussi.


Je n'ai pas compris.
Je sais que si les partitions ne sont pas chiffrées, ça demande effectivement 2 minutes pour prendre root (testé).
Par-contre, si c'est chiffré et qu'il y ait sudo activé pour un user, avec ou sans liste blanche, selon ce que j'ai compris de raleur, ça craint aussi.
Il faut donc passer par un bridage spécifique. wrapper script

Mais du coup, je vais dire un truc idiot. Comment installer un paquet sans être root et sans mettre sudo sur le plan théorique ? ou alors je pose la question à l'envers comme d'habitude.

Hors ligne

#22 29-10-2022 19:44:27

raleur
Membre
Inscription : 03-10-2014

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

totoZero7 a écrit :

sans mettre sudo sur le plan théorique


Pardon ?


Il vaut mieux montrer que raconter.

Hors ligne

#23 29-10-2022 19:47:51

totoZero7
Membre
Distrib. : Debian 11 bullseye
Noyau : 5.10.0-19-amd64
(G)UI : Mate 1.24.1
Inscription : 05-07-2020

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

ahh j'ai capté, faut brider sudo apt-get -c

Dernière modification par totoZero7 (30-10-2022 13:53:20)

Hors ligne

#24 29-10-2022 19:50:19

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

Si tu permet à quelqu'un d'installer des paquets, tu lui permet de modifier n'importe quoi dans le système ; tu peux pas avoir l'un sans l'autre.

Je n'ai pas compris.


Moi non plus, c'est quoi l'objectif T_T

Dernière modification par otyugh (29-10-2022 19:58:42)


virtue_signaling.png
Pas de repos pour les oppresseurs ! (/me inclus)

Hors ligne

#25 29-10-2022 19:56:20

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [résolu] Comment sécuriser le passwd root de l'user qui utilise sudo ?

raleur a écrit :

apt-get ne permet d'installer que des paquets des dépôts définis


Contre-exemple ?

apt-get install ./litteralement_nimportequoi_pasdanslédepots.deb


virtue_signaling.png
Pas de repos pour les oppresseurs ! (/me inclus)

Hors ligne

Pied de page des forums