Warum ist es ein Sicherheitsproblem, wenn / usr / sbin im Besitz von bin ist?

7

Im Sendmail-Installations- und Bedienungshandbuch (§1.3.1) heißt es:

Aus Sicherheitsgründen sollten /, / usr und / usr / sbin Eigentum von root sein, Modus 0755 2
[...]
2 Einige Anbieter versenden sie im Besitz von bin. Dadurch entsteht eine Sicherheitslücke, die nicht mit sendmail zusammenhängt . [...]

Warum ist das eine Sicherheitslücke? Gibt es Systeme, die Prozesse als User Bin ausführen?

Steven Taschuk
quelle
etwas verwandt: Warum braucht der bin-Benutzer eine Login-Shell?
Mike Pennington

Antworten:

5

Wenn Sie die Berechtigungen "Gruppe" und "Andere" nicht berücksichtigen, hat etwas, dessen Eigentümer es ist, rootbedeutet, dass nur root die vollständige Kontrolle über die Datei / das Verzeichnis hat.

Etwas, das einem anderen Benutzer gehört, bedeutet, dass der Benutzer zusätzlich zu root die vollständige Kontrolle über diese Datei hat. Jetzt haben Sie zwei Entitäten, die die vollständige Kontrolle über diese Datei / dieses Verzeichnis haben, während Sie zuvor nur eine hatten.

Dies ist besonders schlecht für ausführbare Dateien, die an den Standardspeicherorten abgelegt sind, wie andere Benutzer im System sie möglicherweise aufrufen, und der besitzende Benutzer kann die ausführbare Datei nach eigenem Ermessen ersetzen und möglicherweise für böswillige Zwecke verwenden. Hoffentlich wird der Benutzer "bin" auf diesem System daran gehindert, sich interaktiv über eine Null-Shell oder ähnliches anzumelden /etc/passwd. Ich wette, dies geschieht, damit ein Paketmanager nicht als Root ausgeführt werden muss. Dies an sich bringt wahrscheinlich andere Vorteile.

Wenn jedoch nur das Verzeichnis / usr / sbin im Besitz von bin ist und keine ausführbaren Dateien darin enthalten sind, ist es nicht so schlecht.

LawrenceC
quelle
1
"Wenn nur das Verzeichnis / usr / sbin im Besitz von bin ist und keine ausführbaren Dateien darin, dann ist es nicht so schlimm": Nein! Es ist genauso schlimm (naja, außer insofern, als es in der Praxis selten ein Problem ist). Wenn bin über Schreibberechtigung verfügt /usr/sbin, kann es die vorhandenen ausführbaren Dateien entfernen und durch die von ihm ausgewählten ersetzen.
Gilles 'SO - hör auf böse zu sein'