Il y a plusieurs raisons :
-
traçabilité :Les commandes exécutées avec sudo sont enregistrées. Les commandes exécutées avec bash sont parfois connecté, mais avec moins de détails et en utilisant un mécanisme facile à bloquer.
-
séparation des privilèges :presque chaque commande n'est pas la même que chaque commande. Il y en a encore beaucoup qui ne nécessitent pas de root
-
édition de fichiers :les fichiers Web appartiennent à un utilisateur non root et sont exécutés par un utilisateur non root... alors pourquoi voudriez-vous les modifier avec root ?
-
atténuation des attaques :Considérez le scénario totalement non hypothétique suivant :votre poste de travail reçoit un logiciel malveillant qui vole votre connexion FTP/SCP/SFTP/SSH hors de la base de données d'authentification stockée du client approprié et la transmet à l'attaquant. L'attaquant se connecte à votre appareil pour faire des bêtises. Maintenant, peuvent-ils couvrir leurs traces, ou ce qu'ils font vous sera-t-il visible ? Je parle à quelqu'un de nouveau plus d'une fois par semaine à qui cela est arrivé récemment.
-
atténuation automatisée des attaques :Un serveur piraté au Brésil analyse votre réseau et affiche un serveur SSH en écoute. Quel nom d'utilisateur l'attaquant utilise-t-il pour son attaque automatisée ? Peut-être
webuser
, outest
, ouwww
ouadmin
-- mais plus que tout autre :root
.
Il y a certainement bien d'autres raisons, mais ce sont les premières qui me viennent à l'esprit.
Je viens de voir ça, un peu tard, mais...
Non - un simple serveur Web peut être administré par root tout en étant fondamentalement sécurisé.
Il est vrai qu'il y a certains avantages à administrer en tant que non root, mais ceux-ci sont mineurs et largement exagérés par la plupart des conseils de sécurité. Il est beaucoup plus important de sécuriser les services faisant face à votre réseau. Maintenez le serveur Web à jour et recherchez les failles de la couche d'application dans votre application Web.
Pour répondre aux points de tylerl :
-
traçabilité - cela peut être valable si vous aviez plusieurs administrateurs, mais si c'est juste vous, alors vous êtes entièrement traçable en tant que root.
-
séparation des privilèges - Je m'attends à ce que, dans la pratique, vous fassiez si peu de choses en tant que non root que cela ne fasse aucune différence.
-
édition de fichiers - Voir ci-dessus
-
atténuation des attaques - Si vous avez des logiciels malveillants sur votre poste de travail, tous les paris sont ouverts. Si vous utilisez sudo sans mot de passe, l'attaque qu'il mentionne fonctionne toujours. Si vous utilisez su, le logiciel malveillant peut obtenir votre mot de passe à l'aide d'un enregistreur de frappe.
-
atténuation automatisée des attaques - Si vous suivez les conseils standard d'utilisation de mots de passe forts (ou utilisez des clés SSH à la place), un forcer brutal n'entrera de toute façon pas.