Ich arbeite an einer Webanwendung, die vertrauliche Daten verarbeitet. Wir werden ziemlich streng in Bezug auf die Sicherheit und legen Richtlinien fest, um den Zugriff auf Maschinen zu sperren und alles für technische Prüfungszwecke zu protokollieren.
Die Frage, auf die wir immer wieder zurückkommen, lautet: Wer bekommt Wurzeln?
Unsere Serverinstanzen haben einen Root-Benutzer. Dieser Root-Benutzer hat ein Passwort. Wer sollte Zugang dazu haben? Ist es möglich / wünschenswert, einen Computer zu haben, auf den niemand Root-Zugriff haben kann?
Ich würde mich über Ihre Gedanken zu diesem Thema freuen.
Antworten:
Niemand. Lassen Sie sie verwenden,
sudo
damit alle Befehle auf Stammebene protokolliert und einer bestimmten Person zugeordnet werden können.quelle
Niemand außer vielleicht einem Hardware-Administrator bekommt ein Root-Passwort! Das Root-Passwort sollte nur auf der Konsole verwendet werden können, nicht über SSH oder andere Dienste.
Verwenden Sie Gruppen, um den Zugriff auf verschiedene Programmgruppen mit eskalierten Berechtigungen zu definieren
sudo
. Beispielsweise ist die Radgruppe normalerweise für Personen gedacht, die Root-Rechte erhalten, aber alles wird als Benutzer protokolliert. Wenn Benutzer keine vollständigen Root-Rechte benötigen, sondern nur wenige Befehle als andere Benutzer, erstellen Sie eine andere Gruppe.quelle
Wenn Sie Selinux verwenden und bereitstellen, können Sie das typische "All-Seeing-All-Knowledgeing" -Gottkonto, das das normale Root-Setup ist, entfernen und in ein sicherheitsbewussteres Konto konvertieren.
quelle
Meiner Meinung nach sollten Benutzer keine Befehle ausführen, für die Root-Berechtigungen erforderlich sind, außer natürlich, wenn sie tatsächlich als Root angemeldet sind.
Aus diesem Grund würde ich empfehlen, su (wechselt zum Root-Benutzer) anstelle von sudo zu verwenden (erhöht vorübergehend die Berechtigungen für einen Befehl auf Root-Ebene). Wenn sie eine Root-Berechtigung benötigen, ändern Sie sie in den Root-Benutzer.
Meine Frage ist, was machen Ihre Benutzer, wenn sie glauben, dass sie root brauchen?
quelle
sudo
ist perfekt für diesen Zweck geeignet und protokolliert jeden Befehl, der direkt mit demsudo
vorangestellten Befehl ausgegeben wird . Wenn su verwendet wird, erhalten Sie eine Shell, und nichts in dieser Shell wird protokolliert./etc/sudoers
kann sehr viel gestimmt werden. Sie können feststellen, welcher Befehl von welchem Benutzer als welcher Benutzer ausgeführt werden kann und ob ein Kennwort erforderlich ist oder nicht, sowie eine Reihe weiterer nützlicher Optionen. Ein Grund, warum jemand root benötigt, ist der Neustart eines Daemons. Dies ist leicht zu erreichen,sudo
ohne vollen Zugriff auf das Root-Konto zu gewähren.su
übersudo
wird nicht verteidigt und wäre nach den meisten anderen Stimmen hier tatsächlich Teil des ursprünglichen Problems der Jungs, keine Lösung.