Existuje několik důvodů:
-
sledovatelnost :Příkazy spuštěné pomocí sudo jsou protokolovány. Příkazy spouštěné pomocí bash jsou někdy zaprotokolováno, ale s méně podrobnostmi a pomocí mechanismu, který lze snadno zablokovat.
-
oddělení oprávnění :téměř každý příkaz není stejný jako každý příkaz. Stále existuje spousta věcí, které nevyžadují root
-
úprava souboru :webové soubory vlastní uživatel bez oprávnění root a spouští je uživatel bez oprávnění root... tak proč byste je upravovali pomocí root?
-
zmírnění útoku :Zvažte následující zcela ne-dokonce hypotetický scénář:Vaše pracovní stanice dostane nějaký malware, který odřízne vaše přihlášení k FTP/SCP/SFTP/SSH z uložené ověřovací databáze z příslušného klienta a přenese je útočníkovi. Útočník se přihlásí k vašemu zařízení, aby provedl nějakou neplechu. Dokážou zahladit stopy, nebo to, co dělají, bude pro vás viditelné? Mluvím s někým novým více než jednou za týden komu se to nedávno stalo.
-
automatické zmírňování útoků :Napadený server v Brazílii prohledává vaši síť a stahuje naslouchající server SSH. Jaké uživatelské jméno používá útočník pro svůj automatizovaný útok? Možná
webuser
nebotest
nebowww
neboadmin
-- ale více než kterýkoli jiný:root
.
Důvodů je jistě mnohem více, ale toto jsou první, které mě napadají.
Právě jsem to viděl, trochu pozdě, ale...
Ne - jednoduchý webový server může být spravován uživatelem root a přitom být v zásadě bezpečný.
Je pravda, že administrace bez oprávnění root má určité výhody, ale ty jsou nepodstatné a většinou nadhodnocené většinou bezpečnostních rad. Je mnohem důležitější zabezpečit své síťové služby. Udržujte webový server opravený a kontrolujte chyby aplikační vrstvy ve vaší webové aplikaci.
Chcete-li odpovědět na tylerlovy body:
-
sledovatelnost - to by mohlo platit, pokud jste měli více administrátorů, ale pokud jste to jen vy, pak jste plně sledovatelní, když pracujete jako root.
-
oddělení oprávnění - Očekávám, že v praxi uděláte tak málo jako non-root, že na tom nezáleží.
-
úprava souboru - Viz výše
-
zmírnění útoku - Pokud máte na své pracovní stanici malware, všechny sázky jsou vypnuté. Pokud používáte sudo bez hesla, útok, který zmiňuje, stále funguje. Pokud používáte su, malware může získat vaše heslo pomocí keyloggeru.
-
automatické zmírňování útoků - Pokud se budete řídit standardními radami ohledně používání silných hesel (nebo místo nich použijete klíče SSH), brutální vnucovač se do toho stejně nedostane.