Négatifs / inconvénients de la configuration sudo sans racine d'Ubuntu

9

Par défaut, Ubuntu ne crée pas de compte root auquel l'utilisateur peut se connecter. Au lieu de cela, les utilisateurs utilisentsudo lorsqu'ils ont besoin d'effectuer des actions qui nécessitent un accès administrateur.

De toute évidence, les gens d'Ubuntu pensent que c'est une bonne idée, et tout ce que j'ai lu sur le site Ubuntu donne de nombreuses raisons pour lesquelles ils pensent que c'est une bonne idée (voir RootSudo @ le Ubuntu Wiki , par exemple).

Cependant, de nombreuses autres distributions grand public, telles que Debian, Gentoo, etc. ne configurent pas les choses de cette façon par défaut, et j'essaie de comprendre pourquoi. Si la configuration par défaut de sudo-root d'Ubuntu est une si bonne idée, pourquoi toutes les autres distributions traditionnelles ne le font-elles pas aussi? Cela m'amène à croire qu'il pourrait y avoir de bonnes raisons de NE PAS le configurer de cette façon; mais j'ai du mal à trouver quoi que ce soit qui donne des détails à ce sujet. Tout ce que je trouve, ce sont des articles / publications qui parlent de sa qualité ...

Ma question est donc: y a-t-il des problèmes majeurs avec la configuration sudo d'Ubuntu (insécurité, limitations fonctionnelles, etc.) qui empêchent d'autres distributions d'utiliser cette configuration, et si oui, quels sont-ils? Bien sûr, cela pourrait simplement être une excellente idée que d'autres distributions aient été lentes à accepter ou résistantes, car elles sont différentes de la façon dont les choses ont fonctionné au cours des 30 dernières années. Si tel est le cas, j'aimerais le savoir.

J. Taylor
la source
Non, je n'avais pas vu ça. Merci de l'avoir signalé. Cela répond à peu près à la plupart de mes questions sur les avantages / inconvénients de l'utilisation de sudo ... même si je serais toujours intéressé à comprendre les motifs des autres distributions pour ne pas faire les choses à la manière d'Ubuntu.
J. Taylor
1
Eh bien, FWIW, j'ai fait pression pour que Fedora le fasse depuis, eh bien, depuis avant qu'Ubuntu n'existe, et je pense que ce sera finalement la valeur par défaut en F16 sinon F15.
mattdm

Réponses:

4

Le seul inconvénient non subjectif que je connaisse est que lorsque l'utilisateur root n'a pas de mot de passe défini, il permet d'accéder au mode mono-utilisateur sans mot de passe.

Une machine vraiment sécurisée sera dans un boîtier verrouillé, le démarrage à partir d'un support amovible désactivé, un mot de passe BIOS défini pour empêcher les modifications, un mot de passe du chargeur de démarrage défini pour empêcher la modification de la cmdline de démarrage du noyau (donc pas d'ajout init=/bin/sh), et un mot de passe serait requis pour accéder au mode mono-utilisateur.

Arrowmaster
la source
1
Si vous ne pouvez pas ajouter init=/bin/sh, vous ne pouvez pas ajouter non singleplus, donc dans les deux cas, le mot de passe du chargeur de démarrage vous assure votre protection.
mattdm
2
Mais si une erreur se produit lors du démarrage (comme lors de la fsck d'une partition), elle vous fera passer en mode mono-utilisateur sans demander de mot de passe.
Arrowmaster
1
Dépend de votre système init. Dans RHEL5, cela fonctionne sulogin; cela pourrait être configuré différemment.
mattdm
4

Lorsque vous utilisez vi au lieu de visudo pour éditer / etc / sudoers sur un système distant et gâcher la syntaxe, vous ne pouvez plus utiliser sudo ou utiliser su car aucun mot de passe root n'est défini.

Je l'ai fait. J'en ai tiré des leçons. Ça a brûlé. :-)

Sirex
la source
3

Fondamentalement, sudo vous donne des privilèges administratifs. Si vous n'avez pas compte root, et votre utilisateur a ALL=(ALL) ALLdans /etc/sudoers, votre utilisateur est un super - utilisateur. Ce n'est pas recommandé car vous pouvez exécuter des commandes avec des privilèges administratifs en utilisant sudoet VOTRE mot de passe utilisateur.

L'administrateur DOIT configurer sudopour admettre certaines commandes pour les utilisateurs, mais certaines tâches administratives le seront rootuniquement, tout rootcomme le vrai superutilisateur .

Le vrai problème est que les privilèges sont un privilège. Le système le plus sécurisé n'aura qu'un seul superutilisateur, et c'est le cas root.

Voir ça

D4RIO
la source
En bref: les privilèges administratifs doivent être utilisés pour les tâches administratives, pas pour le bureau, pour une utilisation quotidienne.
D4RIO
3

Dans les autres distributions que vous mentionnez, il est conseillé de créer (ou plutôt de décommenter) une ligne /etc/sudoers, qui donne au groupe wheelun accès illimité, puis de vous ajouter à ce groupe.

Ce n'est pas seulement exclusif à Linux, mais également standard sur * BSD, et je crois même sur Mac OS X (je ne suis pas sûr du dernier, car je n'utilise pas régulièrement les Mac).

polémon
la source
1
dans le cas où plus de personnes ont besoin d'un accès root à une machine, c'est certainement le moyen recommandé, au lieu de donner à plus de personnes le mot de passe root.
polemon
Oui, c'est ce que je faisais quand je dirigeais Gentoo. Mais si la meilleure façon de donner aux utilisateurs réguliers un accès complet à root est de les placer dans wheel + sudoers, je ne comprends pas pourquoi ils ne voudraient pas simplement configurer sudo-root par défaut, puis les laisser créer un compte root manuellement s'ils ont réellement besoin d'une connexion root.
J. Taylor
sudon'est pas une nouvelle invitation, elle existe depuis des années. Peut-être qu'Ubuntu a quelque chose de différent, ou essaie simplement de copier le comportement de Windows.
polemon
Je comprends que sudo n'est pas une nouvelle invention, mais la façon dont Ubuntu l'utilise (c'est-à-dire pour supprimer complètement le compte root) est certainement inhabituelle, par rapport à d'autres distributions.
J.Taylor
2
Donner un accès illimité à sudo n'est en fait pas plus sûr que de donner le mot de passe root, vu que n'importe qui avec ce niveau d'accès peut simplement sudo passwdet verrouiller tout le monde. Comme toujours, le maillon faible de la sécurité se situe entre le fauteuil et le clavier.
Shadur
2

Je soupçonne que c'est en grande partie une question d'inertie. Il était une fois, la sudocommande n'existait pas, donc le compte root devait être configuré avec un mot de passe. Selon "Une brève histoire de Sudo" , référencé dans cet article de Wikipédia , il a sudoété mis en œuvre pour la première fois vers 1980, mais il n'a probablement pas été généralisé avant les années 1990.

Il peut toujours y avoir une tendance à voir sudocomme une commodité supplémentaire, plutôt que comme quelque chose qui devrait être au cœur de la gestion des systèmes.

Keith Thompson
la source
1

Comme l'a souligné mattdm, cette question (pour la plupart) a déjà été répondue ici: Quel est le moyen le plus sûr d'obtenir les privilèges root: sudo, su ou login?

J. Taylor
la source
(Je dis "pour la plupart", parce que je suis toujours intéressé à comprendre pourquoi d'autres distributions ne choisissent pas de passer à l'utilisation de sudo)
J. Taylor
2
Eh bien, je le regardais de l'autre côté. Je ne comprenais pas pourquoi ubuntu choisissait sudo plutôt que d'autres méthodes. Mes préoccupations sont exprimées dans la question, mais pour résumer: si un attaquant peut exécuter du code en tant qu'utilisateur normal, je ne peux pas faire confiance au système à partir du moment où je me suis connecté. Je ne peux pas être sûr d'avoir démarré le vrai sudo ou une version de vol de mot de passe.
stribika