Pourquoi Ubuntu a-t-il un compte root désactivé?

57

Ubuntu désactive la connexion root pour des "raisons de sécurité". Cependant, il me semble que cela n’aide en rien la sécurité.

Si un intrus parvient à obtenir votre mot de passe de connexion pour Ubuntu, il dispose également du mot de passe super-utilisateur, puisqu'il correspond au mot de passe de connexion.

Cependant, si le mot de passe root est requis, le simple fait de se connecter n'aidera pas l'intrus - c'est vrai, n'est-ce pas?

En gros, voici ce que je veux savoir: pourquoi Ubuntu a-t-il choisi de désactiver le mot de passe root? Quelles sont les raisons de sécurité?

S'il vous plaît, ne répondez pas selon ce que vous "pensez" en était la raison - je cherche une réponse auprès de sources officielles, ou liée à celles-ci.

Dis moi pourquoi
la source
6
Voir si cela aide.
Mitch
5
Les raisons d'utiliser sudo sont les mêmes que celles pour lesquelles sudo a été créé.
Thorbjørn Ravn Andersen
2
Canonical estime qu’il s’agit du meilleur compromis entre facilité d’utilisation et sécurité pour les utilisateurs de Windows et OSX qui n’ont aucune expérience en matière d’administration système. Avoir une distribution de bureau a tout intérêt à séduire les personnes qui ne souhaitent pas apprendre Linux, mais veulent pouvoir trouver les éléments qu’elles souhaitent exécuter, cliquez dessus et faites-les fonctionner. Dès qu'un utilisateur "normal" devient curieux de faire autre chose que Web / Mail / Pr0n / Games soudainement, Ubuntu peut être une passerelle vers tous les trucs Unixy dont ils ont entendu parler (y compris "l'activation" de root - ça a toujours été là , essayez sudo su).
zxq9
1
Si quelqu'un utilise votre compte, il peut capturer le mot de passe root au fur et à mesure que vous le saisissez, si vous passez sude votre compte à la racine. Votre remarque sur l'élévation des privilèges ne s'applique que si vous vous connectez en tant que root sur une console séparée et ne faites jamais rien en tant que root qui approuve les fichiers pour lesquels votre compte normal dispose d'un accès en écriture. Comme le disent les réponses existantes, l’une des principales raisons est de décourager les débutants de penser que root est un compte auquel vous devez vous connecter et que vous devez utiliser.
Peter Cordes

Réponses:

81

Mitch a posté un bon lien dans le commentaire: Pourquoi est-il mauvais de se connecter en tant que root? et le site Debian présente les principaux avantages énumérés dans leur wiki :

Pourquoi sudo?

Utiliser sudoest mieux (plus sûr) que d'ouvrir une session en tant que root pour plusieurs raisons, notamment:

  • Personne n'a besoin de connaître le mot de passe root ( sudodemande le mot de passe de l'utilisateur actuel). Des privilèges supplémentaires peuvent être accordés temporairement à des utilisateurs individuels, puis supprimés sans qu'il soit nécessaire de modifier le mot de passe.

  • Il est facile de n’exécuter que les commandes qui nécessitent des privilèges spéciaux via sudo; le reste du temps, vous travaillez en tant qu'utilisateur non privilégié, ce qui réduit les dommages que peuvent causer des erreurs.

  • Audit / journalisation: lorsqu'une sudocommande est exécutée, le nom d'utilisateur et la commande d'origine sont enregistrés.

Pour les raisons ci-dessus, le passage à root avec sudo -i(ou sudo su) est généralement déconseillé car il annule les fonctionnalités ci-dessus.

Concernant Ubuntu Les avantages et inconvénients sont répertoriés sur notre wiki :

Avantages de l'utilisation de sudo

Ubuntu a de nombreux avantages à laisser les connexions root désactivées par défaut, notamment:

  • L'installateur a moins de questions à poser. Les utilisateurs ne doivent pas se souvenir d'un mot de passe supplémentaire pour une utilisation occasionnelle (c'est-à-dire le mot de passe root). S'ils le faisaient, ils l'oublieraient (ou enregistrez-le de manière non sécurisée, permettant ainsi à quiconque de s'introduire facilement dans leur système).

  • Cela évite la connexion interactive "Je peux tout faire" par défaut. Un mot de passe vous sera demandé avant que des changements majeurs ne puissent se produire, ce qui devrait vous faire réfléchir aux conséquences de ce que vous faites.

  • sudo ajoute une entrée de journal de la ou des commandes run (in /var/log/auth.log). Si vous vous trompez, vous pouvez revenir en arrière et voir quelles commandes ont été exécutées.

  • Sur un serveur, chaque pirate essayant de s’imposer brutalement saura qu’il dispose d’un compte nommé root et essaiera d’abord. Ce qu’ils ne savent pas, c’est ce que sont les noms d’utilisateur de vos autres utilisateurs. Étant donné que le mot de passe du compte root est verrouillé, cette attaque n'a plus de sens, puisqu'il n'y a pas de mot de passe à craquer ou à deviner.

  • Permet un transfert facile des droits d'administrateur en ajoutant et en supprimant des utilisateurs de groupes. Lorsque vous utilisez un seul mot de passe root, le seul moyen de désautoriser les utilisateurs consiste à modifier le mot de passe root.
  • sudo peut être configuré avec une politique de sécurité beaucoup plus fine. Le mot de passe du compte racine n'a pas besoin d'être partagé avec toutes les personnes qui doivent effectuer un type de tâche administrative sur le système (voir la puce précédente).

  • L'authentification expire automatiquement après une courte période (qui peut être définie sur une valeur aussi faible que souhaitée ou sur 0); ainsi, si vous vous éloignez du terminal après avoir exécuté des commandes en tant que root à l'aide de sudo, vous ne laisserez pas un terminal root ouvert indéfiniment.

Inconvénients de l'utilisation de sudo

Bien que, pour les ordinateurs de bureau, l'utilisation de sudo présente de grands avantages, il convient de noter certains problèmes:

  • La redirection de la sortie des commandes exécutées avec sudo nécessite une approche différente. Par exemple, consider sudo ls > /root/somefile ne fonctionnera pas puisque c'est le shell qui essaie d'écrire dans ce fichier. Vous pouvez utiliser ls | sudo tee -a /root/somefilepour ajouter ou ls | sudo tee /root/somefileécraser du contenu. Vous pouvez également passer toute la commande à un processus shell exécuté sous sudo pour que le fichier soit écrit avec les droits root, tels que sudo sh -c "ls > /root/somefile".

  • Dans de nombreux environnements de bureau, le SEUL utilisateur local sur un système est root. Tous les autres utilisateurs sont importés à l'aide de techniques NSS telles que nss-ldap. Pour installer un poste de travail ou le réparer, en cas de défaillance du réseau lorsque nss-ldap est endommagé, vous devez utiliser la racine. Cela a tendance à laisser le système inutilisable à moins d'être fissuré. Un utilisateur local supplémentaire ou un mot de passe root activé est nécessaire ici. Le compte utilisateur local doit avoir son $ HOME sur un disque local, passur NFS (ou tout autre système de fichiers en réseau) et un fichier .profile / .bashrc qui ne fait référence à aucun fichier sur des montages NFS. C'est généralement le cas pour root, mais si vous ajoutez un compte de secours non root, vous devrez prendre ces précautions manuellement. Cependant, l’utilisation d’un utilisateur local avec sudo présente l’avantage de pouvoir suivre facilement les commandes, comme indiqué dans les avantages ci-dessus.

Et nous l’avons toujours eu (à partir de la toute première version).


La référence la plus ancienne que j'ai trouvée parle de 4.10 qui a "sudo"

SHUTTLEWORTH LANCE UBUNTU LINUX À BASE DE DÉBIAN

... Ubuntu Linux basé sur Debian inclut Gnome 2.8, le noyau 2.6.8.1, OpenOffice.org 1.1.2 et est livré avec une procédure d'installation texte mais facile. Ubuntu a désactivé l'utilisateur root préférant utiliser sudo un peu comme le fait Mac OSX ...

Rinzwind
la source
Il manque quelques fonctionnalités de sécurité parmi les avantages : (i.) (Pour l'interface graphique) Personne ne peut obtenir un «privilège élevé» sans accès local interactif (saisie du mot de passe au clavier); (ii.) Le "privilège élevé" accordé concerne uniquement la ou les commandes sudo'd, pas les tâches / tâches pour l'utilisateur (ou la racine).
david6
Cela semble ignorer les points soulevés dans la question initiale et l’obscurcir avec de nombreuses autres informations, pourquoi c’est bon?
paul23
6

Je pense que ce qui est écrit sur la page d’aide est suffisamment clair et objectif.

Ubuntu est "pour tout le monde" et même si vous êtes assez bon, vous n'avez pas besoin d'un accès root pour endommager votre ordinateur, mais en même temps vous n'en avez presque pas besoin (et vous savez comment l'activer facilement).
Le problème ne réside donc pas dans les gens "assez bons", mais pour tout le monde, cela peut venir de Linux depuis un autre monde informatique et le premier impact est avec Ubuntu (et nous sommes nombreux).

Si vous n'êtes pas un expert et ne savez pas exactement ce qui rootest et comment le gérer correctement, vous ne voulez ni n'avez besoin de l'activer (et vous risquez, par exemple, de vous connecter avec un graphique).
Il vaut bien mieux apprendre à faire les choses en toute sécurité et à passer ensuite à un chemin plus difficile et plus dangereux, que de commencer directement par la voie difficile, puis d’endommager son installation / poste de travail, d’être frustré et peut-être incapable de récupérer un système entièrement fonctionnel. système.
En général, mieux vaut prévenir que guérir.

dadexix86
la source