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?
linux
ssh
permissions
Ryeguy
la source
la source
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 votre '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. Il leur faudrait deviner / déchiffrer un mot de passe et un nom d'utilisateur. C'est un peu la sécurité par l'obscurité, mais il est difficile d'affirmer que cela ne fait pas échec à la plupart des attaques de script pour enfants.
la source
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 dire ce que vous pensez, vous n’avez jamais été un idiot. Pas vraiment? Vous êtes sûr? :)
Avantage: réduit la possibilité d'être simultanément root et idiot.
la source
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.
la source
Lorsque vous êtes root, vous êtes paresseux en matière d'autorisations, puisque vous avez accès à tout, à tout moment, vous ne vous en souciez plus, que ce soit 777 ou 644, ou autre. 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.
la source
Ne vous connectez pas en tant que root à quelques principes clés: 1) Le mot de passe root n’est jamais envoyé sur le réseau au moment de la connexion. 2) Il est impossible 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"
la source
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 (UAC) de Windows. Il est assez facile de faire quelque chose par accident en
rm -rf /
é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 retracer un individu est un élément clé de nombreuses formes d'analyse.
la source
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.
la source
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?
la source
Il peut empêcher les attaques par force brute de SSH. Chaque unix a un compte 'root'. Cependant, de l'extérieur, votre nom d'utilisateur «sudo» n'est pas clair. Par conséquent, si quelqu'un veut essayer de faire usage de la force brutale, il sait qu'il existe un compte root et va probablement l'essayer. Cependant, ils ne savent pas par où commencer si vous utilisez sudo.
la source
http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html
la source
Mon conseil serait d’essayer d’utiliser root tout le temps; vous découvrirez bientôt pourquoi vous ne devriez pas :)
la source
Même si je ne fais pas confiance à "security by obscurity", il y a sûrement un avantage à utiliser un identifiant personnalisé au lieu d'un identifiant root existant. Vous pouvez donc également configurer SSH pour empêcher la connexion root.
Comme d'autres l'ont également dit, root peut tout faire sans aucune confirmation. Donc, utiliser un utilisateur non privilégié peut éviter les erreurs stupides et les fautes de frappe.
Un autre argument en faveur de plusieurs comptes d'utilisateurs est d'exécuter différents logiciels sous différents utilisateurs. Ainsi, si une faille de sécurité est exploitée dans une application, l’exploiteur ne peut accéder qu’aux fichiers et aux ressources accessibles à son utilisateur en cours d’exécution.
Un dernier point pour ne pas utiliser root: la consommation de ressources. Root n’a aucune limite sur la quantité de mémoire, le temps de traitement, les gestionnaires de fichiers ou l’espace disque qu’il peut utiliser. Sur beaucoup de systèmes de fichiers, il y a des blocs de données qui sont réservés uniquement à root. Ainsi, un utilisateur normal ne peut jamais les utiliser pour remplir votre disque. La commande ulimit peut également être utilisée pour limiter la mémoire et le numéro de gestionnaire de fichiers qu'un utilisateur peut consommer. Mais si vous êtes root (ou une application fonctionnant en tant que root), rien ne vous empêche de modifier cette limite.
la source
Oui, je suis d'accord avec vous et je pense que c'est une question de protection contre les erreurs humaines et parfois contre les programmes malveillants. La mauvaise chose que je n'ai jamais vue, c'est d'utiliser root comme compte gnome par défaut.
Je pense que la plupart des utilisateurs qui font cela sont les utilisateurs Windows récemment migrés vers Linux ou Unix. Essayez de copier l'utilisation du privilège d'administrateur sur root.
la source
Il n'y a rien de mal à être connecté en tant que root. Il aide à développer la mémoire musculaire en ne tapant que des commandes sûres et favorise la précision de la pensée lorsque vous effectuez des actions avec des conséquences graves. Je recommande fortement de travailler en tant que root pour améliorer l'administration du système.
vous pouvez également faire des choses cool comme
ping -i 0.2 -c 1000 example.com
la source