Pourquoi est-il mauvais de s'exécuter en tant que root?

9

J'ai souvent rencontré des messages sur des forums ou d'autres sites Web où vous voyez des gens plaisanter de manière à exécuter / se connecter en tant que root comme si c'était quelque chose de terrible et que tout le monde devrait le savoir. Cependant, il n'y a pas grand-chose qu'une recherche révèle à ce sujet. Il est peut-être largement connu des experts Linux, mais je ne sais vraiment pas pourquoi. Je me souviens d'avoir toujours exécuté en tant que root lorsque j'ai essayé Linux pour la première fois (Redhat et Mandrake) et je ne me souviens pas avoir rencontré de problème à cause de cela. Il y a en fait quelques distributions qui ont un fond rouge vif avec des signes d'alerte partout comme fond d'écran pour l'utilisateur root (Suse?). J'utilise toujours le compte "Administrateur" pour une utilisation régulière sur mon installation Windows et je n'ai jamais rencontré de problème non plus.

Mussnoon
la source

Réponses:

9

Ces utilisateurs ont un accès administratif au système, un niveau d'autorisation qui leur permet, ainsi qu'aux applications qu'ils exécutent, de contourner les mécanismes de protection (tels que les autorisations du système de fichiers), leur permettant de tout faire sur un système. Les logiciels malveillants adorent l'accès illimité.

Comme exemple simple,

sudo rm -rf *

supprimera à peu près tout sur un système Linux, si vous êtes dans le répertoire racine. Cela n'a pas besoin d'être aussi évident que ça, ni même malveillant. Quelque chose comme des variables non définies de manière inattendue dans des scripts qui nécessitent des privilèges root peut provoquer de graves problèmes:

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

Parfois, il s'agit d'une simple faute de frappe dans un script qui supprime la moitié de votre système.

Par conséquent, la recommandation générale est d'utiliser des programmes d'exécution uniquement avec des autorisations élevées si c'est vraiment nécessaire.

Daniel Beck
la source
3
Bref: c'est dangereux.
digitxp
Le simple fait de regarder cette commande me fait mal au ventre.
Paul Lammertsma
4

Root sur Linux est encore plus puissant qu'un compte Administrateur sur Windows. Il est comparable au compte SYSTEM sur Windows, qui n'est normalement pas accessible.

user54114
la source
0

Ce serait l'équivalent de désactiver complètement l'UAC et de s'exécuter en tant qu'administrateur pour tous les utilisateurs sur une boîte Windows. Les logiciels malveillants peuvent être installés plus facilement, les téléchargements par lecteur sont plus efficaces, s'il y a une pénétration, ils sont maintenant dieu sur votre ordinateur. Vous supprimez simplement les privilèges utilisateur (généralement une mauvaise pratique). à mon humble avis, si vous n'avez pas eu de problème, vous avez soit été très chanceux, vous avez des habitudes de navigation incroyablement sûres, ou le plus probable .... avez eu un problème et ne le saviez pas.

RobotHumains
la source
Quel genre de problèmes aurais-je pu avoir (et avoir maintenant sur Windows) et ne pas connaître?
Mussnoon
Vous ne pouvez pas détecter certains types de rootkits qui ne font rien de processeur ou de disque (comme interroger un site Web avec un seul get / post toutes les 2 minutes pour faire partie d'un DDoS). D'autres possibilités incluent la recherche lente sur votre disque des données liées à PCI (numéros de carte de crédit)
RobotHumans
0

J'ai (au moins deux fois) écrit des scripts qui étaient censés parcourir la structure du répertoire d'une manière particulière et s'exécuter rm -rf *dans un certain répertoire. Il y a eu un bug et le script a fini par aller dans le "/"répertoire (racine) et à s'exécuter rm -rf *. C'est bien sûr l'exemple du pire, mais des scripts ou des commandes encore moins malveillants peuvent endommager gravement votre système s'ils s'exécutent en tant que root.


la source
Pour les scripts (en particulier ceux qui doivent s'exécuter avec des privilèges root), vous devez utiliser des filets de sécurité comme "rm -rf / full / path / to / target / dir / *" ou "cd / some / inexistant / directoy / | exit 1" .
0

Outre les pouvoirs qui l'accompagnent, et donc les effets des erreurs, il est également livré sans aucun avertissement. Et ce sont les avertissements qui vous alertent de choses inattendues.

Comme lors de l'exécution d'une interface graphique en tant que root: comment sauriez-vous que certains logiciels malveillants ont essayé de s'installer?

Arjan
la source
0

Vous avez le triste malheur de Microsoft et des antivirus qui traitent le problème. Le compte administrateur (root) est censé avoir un accès illimité (comme indiqué par tout le monde). Il peut non seulement modifier les fichiers système, ce qui entraîne une machine qui ne peut pas démarrer, mais peut accéder à d'autres données utilisateur (les autorisations utilisateur ne sont pas suffisantes pour sécuriser l'accès aux données et leur modification lorsqu'un accès physique à l'ordinateur est disponible). Passons maintenant à ce que vous ne «voyez» pas.

Il a été regrettable de toujours exécuter une machine Windows en tant qu'administrateur. Il y a de bonnes raisons à cela, comme la possibilité de devenir un autre utilisateur dans une session aspirée (l'installation du programme nécessiterait une déconnexion et une connexion en tant qu'administrateur et l'installation de l'application, ce qui peut même nécessiter d'être administrateur pour s'exécuter). Le résultat est que votre ordinateur est utilisé pour des choses auxquelles vous ne vous attendiez pas, même si vous n'avez pas installé l'application.

Le résultat n'est pas que les gens s'éloignent de l'exécution en tant qu'administrateur, mais Microsoft associe le contrôle des autorisations à la structure de soulignement de l'OS UAC. Cela signifie que vous êtes invité à autoriser l'application à s'exécuter, peu importe qui vous êtes. Vista était vraiment mauvais parce qu'il avait deux couches pour les utilisateurs Admin, "Voulez-vous exécuter ce programme?", "Ok, maintenant que vous exécutez ce programme, voulez-vous le laisser s'exécuter?"

Sous Linux, vous voyez une philosophie très différente. Tout d'abord, le système d'exploitation fait ce que vous lui dites, sans vérifier que vous vouliez vraiment exécuter une application. Deuxièmement, l'utilisateur ne peut pas faire ce qu'il veut pour le système. Cela signifie que le système est à l'abri des erreurs de l'utilisateur, mais l'utilisateur peut toujours augmenter ses autorisations au niveau approprié s'il le souhaite. Microsoft a essentiellement construit une couche d'escalade des autorisations distincte de la couche utilisateur, Linux / Unix aura-t-il toujours eu une conception pour escalader les autorisations qui fonctionnait avec les utilisateurs.

he_the_great
la source
0

Sous Linux, cela vous empêche principalement (ou une application agissant en votre nom) de faire accidentellement quelque chose de stupide.

Sous Windows, vous ne pouvez pas installer de nombreux types de logiciels sans exécuter un compte en tant qu'administrateur, car vous n'avez pas accès en écriture aux fichiers programme ou aux dossiers Windows. Les pires types de logiciels malveillants doivent pouvoir écrire dans ces zones pour se frayer un chemin dans votre système.

Si vous ne vous exécutez pas en tant qu'administrateur et visitez un site compromis qui tente d'installer quelque chose comme un enregistreur de frappe caché pour voler des mots de passe, des informations bancaires ou des numéros de carte de crédit, cette installation échouera probablement. Si vous exécutez en tant qu'administrateur, cette installation a beaucoup plus de chances de réussir. Le même principe s'applique aux systèmes Linux.

La clé ici est que les logiciels antivirus n'entrent même pas. De nos jours, les logiciels antivirus sont votre dernière ligne de défense, pas votre première. L'ordre d'importance que j'utilise pour évaluer les mesures de sécurité se présente comme suit:

  1. Gardez votre système (y compris les logiciels d'application) corrigé
  2. Ne pas exécuter en tant qu'administrateur
  3. Utilisez d'autres habitudes Internet sécuritaires
  4. Exécutez un pare-feu
  5. Avoir une bonne sauvegarde hors ligne (dans ce cas, hors ligne signifie "non accessible à votre système de fichiers normal", ce qui pourrait en fait signifier l'utilisation d'un service en ligne)
  6. Exécutez un logiciel antivirus

En fait, si vous faites correctement les autres éléments, un logiciel antivirus n'est pas vraiment nécessaire du tout. Mais l'important ici est que l'exécution en tant qu'administrateur est un non-non.

Heureusement, il s'agit désormais de l'état par défaut dans Windows 7. Même si votre compte dispose de privilèges d'administrateur, il s'exécute toujours en "bac à sable" et vous donne simplement le droit de procéder à une élévation pour une application spécifique à la demande.

Joel Coehoorn
la source