Question Quel est le problème avec toujours être root?


J'ai l'impression que c'est une question stupide, mais c'est quelque chose que je me suis demandé depuis un moment.

J'ai un VPS et c'est ma première grande entreprise Linux. Je suis la seule personne qui y a accès. Ma question est la suivante: qu'est-ce qui ne va pas si vous vous connectez en tant qu'utilisateur root plutôt que de créer un compte et de leur donner un accès sudo? Si un sudoer peut faire tout ce que root peut faire, alors quelle est la différence? Si un pirate informatique peut déchiffrer mon mot de passe pour mon compte standard non-root, il peut également exécuter des commandes sudo. Comment un pirate piratant mon compte root compte-t-il plus ou moins?


81
2017-08-24 14:23


origine


Je dirais également que si vous n'êtes pas familier avec "Unix Way", ce n'est pas une question stupide. Vous devriez avoir un bonus pour penser à poser la question en tant que nouvel administrateur Linux. - Bart Silverstrim
Et j'aimerais commenter certaines des réponses. Particulièrement ceux qui disent "vous pouvez bousiller des choses étant root". Je ne pense pas que ce soit le but ... "rm -rf /" fait la même chose que "sudo rm -rf /". Le fait est que des choses comme "sudo rm" ne fonctionnent pas, mais que "sudo startMyApp sur port faible" fonctionne. - Zlatko
qu'est-ce qui ne va pas avec ne jamais être? - ostendali


Réponses:


Si vous êtes connecté en tant que root, vous pouvez facilement effacer des répertoires ou faire quelque chose qui, rétrospectivement, est vraiment stupide sur le système, d'un simple geste du doigt, alors qu'en tant qu'utilisateur, vous devez normalement mettre quelques cycles mentaux supplémentaires dans ce que vous voulez. 'taper avant de faire quelque chose de dangereux.

Tous les programmes que vous exécutez en tant que root en tant que privilèges root, c'est-à-dire si quelqu'un ou quelque chose vous oblige à exécuter / compiler / naviguer sur un site Web dangereux et qui veut endommager votre système, tel qu'un cheval de Troie ou un autre programme malveillant, ont pleinement accès à votre système. système et peut faire ce qu’il veut, y compris l’accès aux ports TCP inférieurs à 1024 (afin de transformer votre système en réémetteur à votre insu, par exemple).

En gros, vous demandez en quelque sorte que des problèmes vous empêchent de vous connecter vous-même. J'ai rencontré de nombreuses personnes qui ont fini par être heureuses de disposer de ce filet de sécurité après un moment d'inattention.

EDIT: Il y a aussi le problème de la racine étant la cible la plus connue, donc une cible facile, pour les scripts et les hacks. Les systèmes qui désactivent le compte et obligent les utilisateurs à utiliser sudo signifient que toute tentative de casser la racine de ssh ou un exploit local sur le compte se heurte à un mur. Ils devraient deviner / craquer un mot de passe et Nom d'utilisateur. C'est un peu la sécurité par l'obscurité, mais il est difficile d'affirmer que cela ne fait pas obstacle à la plupart des attaques de script pour enfants.


71
2017-08-24 14:30



+1 - L'utilisation de "sudo" rend l'exécution de programmes en tant que root un acte manifeste. Il ne s'agit pas "d'arrêter les pirates", mais de vous habituer à travailler en tant qu'utilisateur non privilégié et à faire de l'invocation des privilèges root un acte manifeste et intentionnel. - Evan Anderson
Je commence à me demander si Evan est vraiment un IA. - Bart Silverstrim
Sudo ajoute également une piste d'audit. En tant que qui, quoi et quand est enregistré lorsqu’il est exécuté en tant que sudo. Le fichier journal peut varier avec la distribution, mais les distributions RedHat ont tendance à utiliser / var / log / secure et Ubuntu utilise /var/log/auth.log... Je ne sais pas si cela est vrai pour toutes les distributions basées sur Debian. - 3dinfluence
+1 - il ne s'agit pas uniquement de droits de créer ou de créer des objets, il s'agit également de droits de destruction. Se connecter en tant que root (ou l’équivalent sur tout autre système d’exploitation) est comme se promener avec une arme à feu en sécurité. Vous pourriez ne jamais toucher intentionnellement ce déclencheur, mais vous feriez-vous confiance pour le faire tout de même? - Maximus Minimus
mh: / me met son chapeau de cow-boy, enlève la sécurité de son pistolet, ouvre une bière, marmonne dans un murmure quelque chose à propos de pensées, puis se connecte en tant que root. - Kyle Brandt♦


Si vous ne permettez pas à un idiot de se connecter à votre serveur en tant que root, ne vous lancez pas toujours en tant que root. À moins que vous ne puissiez vous battre, dites que vous avez jamais été un idiot. Pas vraiment? Vous êtes sûr? :)

Avantage: réduit la possibilité d'être root et un idiot en même temps.


29
2017-08-24 14:41



+1 - "Avantage: réduit la possibilité d'être simultanément root et idiot." J'adore ça - Evan Anderson
+1 pour la philosophie de Scott Adams selon laquelle tout le monde est un idiot. :) Oui, cela signifie que vous et moi aussi. - Ernie
Absolument - c’est l’une de mes questions clés dans les entretiens d’emploi - quand vous êtes-vous trompés pour la dernière fois? Tout le monde a, il vous suffit de lire les discussions ici sur "le plus divertissant sysadmin fubar" ou autre. Si quelqu'un ne reconnaît pas avoir commis une véritable erreur stupide au moins une fois dans sa vie, il y a probablement une poignée de raisons pour lesquelles vous ne souhaitez pas travailler avec elles. - Tom Newton


La principale raison est des erreurs. Si vous êtes toujours root, une simple faute de frappe peut vraiment bousiller le système. Si vous vous connectez uniquement en tant que root ou utilisez sudo pour effectuer des tâches qui le nécessitent, vous minimisez le risque de commettre une grave erreur.


9
2017-08-24 14:31





Lorsque vous êtes root, vous êtes paresseux en matière d'autorisations, puisque vous avez accès à tout, à tout moment, vous ne vous inquiétez pas de la situation, qu'il s'agisse de 777 ou de 644, ou peu importe. Donc, si jamais vous laissez quelqu'un d'autre sur votre système vous interdire l'accès à tout, il devient soudainement très difficile de rendre la machine plus sûre pour une autre personne.


9
2017-08-24 14:38



C'est ce qu'on appelle "la pourriture des racines". - kmarsh
J'aime ce terme, "pourriture racinaire". En effet, s’exécuter en tant que root à tout moment peut transformer les machines * nix en machines de type Windows 95 bizarres sans aucune apparence de sécurité multi-utilisateurs. (Je me souviens d'une machine SCO, il y a des années, où chaque utilisateur de l'application de comptabilité partagée fonctionnait en tant qu'utilisateur root parce que "les problèmes d'autorisation disparaissaient".> Sigh <) - Evan Anderson
Je me souviens d'avoir eu une explication comme celle-là: ils avaient un outil de liste de diffusion fonctionnant en tant que root, avec sendmail. Ma réponse a été "Les problèmes de permission ont également disparu pour les pirates." - duffbeer703


Il y a quelques principes clés derrière ne pas vous connecter en tant que root: 1) Le mot de passe root n'est jamais envoyé sur le réseau au moment de la connexion 2) Pas moyen de dire qui a fait quelque chose si plusieurs utilisateurs se connectent avec le même compte (root ou autre). 3) Faire accidentellement quelque chose de "stupide"


7
2017-08-24 14:31





C’est davantage une protection contre vous-même, ce qui vous donne une seconde chance d’examiner les commandes de privilège plus élevé que vous essayez d’exécuter, comme dans le cas du contrôle de compte d'utilisateur sous Windows. C'est assez facile de faire accidentellement quelque chose comme rm -rf / en étant connecté en tant que root.

De plus, vous avez la traçabilité. Ce n'est pas un gros problème dans votre situation où vous êtes le seul à émettre des commandes (théoriquement), mais la possibilité de se connecter et de retrouver une personne est un élément clé de nombreuses formes d'analyse.


3
2017-08-24 14:30



La traçabilité est cruciale dans les systèmes où plusieurs personnes travaillent en tant qu'administrateur système. Ce n’est pas seulement souhaitable que cela soit imposé par les régimes de réglementation. - APC
Je l'ai fait vendredi. au lieu de supprimer "/ dump / folder /", j'ai supprimé le dossier /. Une barre oblique inversée puante m'a rappelé pourquoi nous ne nous connectons pas en tant que root. - oneodd1


La différence est principalement:
que vous ne pouvez rien faire de mal par accident.
ce code "diabolique" ne peut pas prendre le contrôle du système.
Remarque: le code maléfique ne signifie pas nécessairement que quiconque a déjà accès au système.


2
2017-08-24 14:30



J'ai remarqué que ces jours-ci, le code maléfique signifie généralement des robots de spam, qui peuvent fonctionner comme n'importe quel utilisateur. - Ernie
Si vous pensez à un virus (essayer de détruire quelque chose) ou à un rootkit, le malware est beaucoup plus compliqué si vous n'êtes pas un root. - StampedeXV


Vous devez toujours utiliser des comptes avec le niveau de privilège le plus bas possible. Courir en tout temps en tant que racine encourage les mauvaises habitudes et la paresse qui rendront la vie désagréable lorsque vous travaillez avec plusieurs utilisateurs ou exposez quelque chose à un réseau public / semi-public.

N'oubliez pas non plus que la fissuration du mot de passe n'est qu'un scénario de compromis, et qu'il ne s'agit pas non plus du scénario le plus courant. Vous êtes plus susceptible d'être victime d'une vulnérabilité de navigateur ou d'une vulnérabilité de certains démons s'exécutant sur votre système.

Pensez au code que vous utilisez sans réfléchir. Par exemple, le port Linux d'Adobe Flash, qui est une pile de caca fumante qui n'est devenue utilisable que dans un passé relativement récent. À quel point pensez-vous que ce code est sécurisé? Voulez-vous que cela soit en mesure d'exercer un contrôle total de votre système?


2
2017-08-24 14:37