Wer bekommt Root-Zugriff?

8

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.

Ross McFarlane
quelle
Dies ist mir aufgefallen. Sieht nach guter Praxis aus.
Ross McFarlane

Antworten:

14

Niemand. Lassen Sie sie verwenden, sudodamit alle Befehle auf Stammebene protokolliert und einer bestimmten Person zugeordnet werden können.

ceejayoz
quelle
6
+1. Ändern Sie das Root-Passwort in ein sehr zufälliges Passwort, drucken Sie es aus und verschließen Sie es in einem Umschlag, der nur für den Notfall bestimmt ist.
EEAA
4
Ändern Sie außerdem Ihr Root-Konto .bashrc so, dass PROMPT_COMMAND so eingestellt ist, dass alles als einfacher Root-Benutzer in syslog protokolliert wird. Praktisch.
Sirex
1
Benutzer kann sudo verwenden, um Shell auszuführen, dann werden Befehle nicht protokolliert (nur Bash anmelden)
ooshro
wahr, es sei denn, sie machen "sudo bash -l" - was sie sollten. Wenn Sie den Root-Befehl .bashrc prompt_command festlegen, wird dies ebenfalls protokolliert. Dies ist ein Grund, warum es sich lohnt, dies zu tun.
Sirex
+1 Stellen Sie außerdem sicher, dass sudo für höhere Zugriffsebenen eingerichtet ist. An einer Stelle wurden alle Root-Passwörter für alle Fälle in einem versiegelten Umschlag aufbewahrt. Wenn das Siegel gebrochen war, musste es aus Sicherheitsgründen gemeldet und die Passwörter geändert werden.
st3v3o
3

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.

Caleb
quelle
-1

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.

Sirex
quelle
1
Wie? Die Antwort ist nicht wirklich nützlich, solange sie keine
Hinweise
Es ist ein Thema, das viel zu groß ist, um in eine Antwort zu passen. Aber meines Wissens kann (und wird oft) Selinux für diesen Zweck verwendet werden.
Sirex
-5

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?

user76897
quelle
4
@ user76897: Ich bin anderer Meinung. sudoist perfekt für diesen Zweck geeignet und protokolliert jeden Befehl, der direkt mit dem sudovorangestellten Befehl ausgegeben wird . Wenn su verwendet wird, erhalten Sie eine Shell, und nichts in dieser Shell wird protokolliert. /etc/sudoerskann 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, sudoohne vollen Zugriff auf das Root-Konto zu gewähren.
0xC0000022L
Diese Antwort macht keinen Sinn und spricht die Frage nicht an. Die Präferenz von suüber sudowird nicht verteidigt und wäre nach den meisten anderen Stimmen hier tatsächlich Teil des ursprünglichen Problems der Jungs, keine Lösung.
Caleb