Dafür gibt es einige Gründe:
-
Rückverfolgbarkeit :Mit sudo ausgeführte Befehle werden protokolliert. Befehle, die mit Bash ausgeführt werden, sind manchmal protokolliert, aber mit weniger Details und unter Verwendung eines einfach zu blockierenden Mechanismus.
-
Privilegientrennung :fast jeder Befehl ist nicht dasselbe wie jeder Befehl. Es gibt immer noch viele, die kein Root benötigen
-
Dateibearbeitung :Die Webdateien gehören einem Nicht-Root-Benutzer und werden von einem Nicht-Root-Benutzer ausgeführt ... also warum sollten Sie sie mit Root bearbeiten?
-
Angriffsminderung :Stellen Sie sich folgendes völlig nicht einmal hypothetisches Szenario vor:Ihre Workstation bekommt Malware darauf, die Ihre FTP/SCP/SFTP/SSH-Anmeldung aus der gespeicherten Authentifizierungsdatenbank des entsprechenden Clients klaut und an den Angreifer übermittelt. Der Angreifer meldet sich bei Ihrem Gerät an, um Unheil anzustellen. Können sie jetzt ihre Spuren verwischen, oder wird das, was sie tun, für Sie sichtbar sein? Ich spreche mehr als einmal pro Woche mit jemand Neuem wem dies kürzlich passiert ist.
-
Automatisierte Angriffsabwehr :Ein gehackter Server in Brasilien scannt Ihr Netzwerk und ruft einen lauschenden SSH-Server auf. Welchen Benutzernamen verwendet der Angreifer für seinen automatisierten Angriff? Vielleicht
webuser
, odertest
, oderwww
oderadmin
-- aber mehr als alle anderen:root
.
Es gibt sicherlich noch viele weitere Gründe, aber diese fallen mir als erstes ein.
Gerade erst gesehen, etwas spät, aber...
Nein - Ein einfacher Webserver kann von root administriert werden und ist dennoch grundsätzlich sicher.
Es stimmt, dass die Verwaltung als Nicht-Root einige Vorteile hat, aber diese sind geringfügig und werden von den meisten Sicherheitsratschlägen stark überbewertet. Es ist viel wichtiger, Ihre netzwerkseitigen Dienste zu sichern. Halten Sie den Webserver gepatcht und suchen Sie nach Fehlern auf Anwendungsebene in Ihrer Web-App.
Um auf Tylerls Punkte zu antworten:
-
Rückverfolgbarkeit - Dies könnte gültig sein, wenn Sie mehrere Administratoren hatten, aber wenn Sie es nur sind, dann sind Sie vollständig nachvollziehbar, wenn Sie als Root arbeiten.
-
Privilegientrennung - Ich gehe davon aus, dass Sie in der Praxis so wenig als Nicht-Root tun würden, dass dies keinen Unterschied macht.
-
Dateibearbeitung - Siehe oben
-
Angriffsminderung - Wenn Sie Malware auf Ihrer Workstation haben, sind alle Wetten ausgeschlossen. Wenn Sie passwortloses sudo verwenden, funktioniert der von ihm erwähnte Angriff immer noch. Wenn Sie su verwenden, kann die Malware Ihr Passwort mithilfe eines Keyloggers abrufen.
-
Automatisierte Angriffsabwehr - Wenn Sie den Standardratschlägen zur Verwendung starker Passwörter folgen (oder stattdessen SSH-Schlüssel verwenden), kommt ein Brute Force sowieso nicht hinein.