
Um einer Diskussion, die ich führe, mehr Gewicht zu verleihen, versuche ich, konkrete Beispiele dafür zu finden, warum es aus Sicherheitssicht schlecht ist, wenn das Verzeichnis /root für alle lesbar ist.
Ich habe im Internet zahlreiche Beispiele dafür gefunden, dass Leute das Mantra wiederholen, dass es wirklich nicht gut sei, /root beispielsweise 755 Rechte zu geben, ohne dafür jedoch weitere Beweise zu liefern.
Könnte jemand bitte ein Szenario beschreiben, in dem die Sicherheit eines Systems in einem solchen Fall gefährdet sein kann? Je weniger gekünstelt, desto besser – wie kann beispielsweise ein frisch installiertes Centos-System darunter leiden, wenn /root 755 Berechtigungen hat?
EDIT - Danke für die Antworten, aber bisher keine konkreten Beispiele. Anders ausgedrückt: Wie könnten Sie die Tatsache, dass /root sichtbar ist, nutzen, um das System zu kompromittieren? Gibt es Beispiele für die Installation von Programmen und die Annahme, dass /root nicht für alle zugänglich ist?
BEARBEITEN 2 – Ich denke, bisher herrscht Konsens darüber, dass es kein großes Sicherheitsrisiko darstellt, abgesehen davon, dass jemand die Berechtigungen nicht überprüft und das Verzeichnis verwendet, als wäre es privat für den Root-Benutzer.
Antwort1
Dies unterscheidet sich grundsätzlich nicht von der Empfehlung, andere Benutzer daran zu hindern, das Home-Verzeichnis eines anderen Benutzers zu lesen.
Wenn die Standardeinstellung allgemein lesbar ist, gibt es ein Zeitfenster, in dem Sie eine neue Datei speichern, die Sie privat halten möchten. Es besteht immer die Möglichkeit, dass jemand sie kopiert, bevor Sie chmod go-r
es können.
Antwort2
Im Grunde genommen ist es meiner Meinung nach eine Entscheidung der Kernentwickler und nichts weiter. Warum? Weil standardmäßig fast nichts Wertvolles für irgendjemanden in enthalten sein sollte /root
. Niemand sollte sich für allgemeine Dinge als Root-Benutzer anmelden.
Unter FreeBSD kann beispielsweise jeder lesen /root
. Einige Dateien darin /root
können aus Sicherheitsgründen nicht gelesen werden, aber Sie können trotzdem „sehen“, dass diese Dateien vorhanden sind ls
(können sie nur nicht lesen). Beispielsweise .history
ist festgelegt , -rw-------
aber .login
ist -rw-r--r--
.
FreeBSD verfolgt einen etwas anderen Sicherheitsansatz als Linux. Historisch gesehen wurde FreeBSD für Server entwickelt und obwohl es als Desktop ausgeführt werden kann, ist es (standardmäßig) als Server wirklich besser geeignet.
Persönlich sehe ich an dieser Konfiguration nichts Falsches ( /root
kann nachgelesen werden).
Unter /root
FreeBSD ist außer Konfigurationen eigentlich fast nichts darin. E-Mails sollten an einen echten Benutzer weitergeleitet werden. Niemand sollte sich als Root-Benutzer anmelden. Das Konto sollte nur für die Installation und Konfiguration von Software sowie für Wartungsaufgaben verwendet werden. Abgesehen von einigen sicherheitsrelevanten Dateien (wie .history
) gibt es /root
unter FreeBSD meiner Meinung nach nichts zu verbergen.
Weitere Informationen zu diesem Thema finden Sie imAbschnitt „Sicherheit“ im FreeBSD-Handbuch. Ich habe bei einem schnellen Überfliegen nichts über ihre Wahl lesbar gesehen, /root
aber es gibt dort eine Menge Informationen.
Antwort3
Möglicherweise sucht ein unvorsichtiger Administrator nach leicht zu knackenden Passwörtern und lässt die Ausgabe liegen (das ist vielleicht nicht der richtige Aufruf, aber Sie verstehen, was ich meine):
# john-the-ripper /etc/shadow > ~/cracked-passwords.txt
Antwort4
Wenn ~root
beschreibbar wäre, könnte jeder Benutzer seinen SSH-Schlüssel zu hinzufügen ~root/.ssh/authorized_keys
und hätte dann einfach über Root-Zugriff ssh root@some-host
.
Wenn ~root
es „nur“ lesbar ist, haben Sie immer noch Zugriff auf die Datei root
des Benutzers .bash_history
, die Passwörter oder andere Anmeldeinformationen enthalten könnte, die in der Befehlszeile eingegeben oder versehentlich in eine Eingabeaufforderung eingegeben oder eingefügt wurden.
Natürlich sollten Sie keine sicheren Daten über die Befehlszeile weitergeben, aber diese Warnung wird im Allgemeinen als risikoarm eingestuft, da es riskant ist, sie während der Übertragung abzufangen, und andere Benutzer sollten Ihre Umgebungsvariablen ohnehin nicht lesen können. Wenn Sie Zugriff auf die Datei haben root
, .bash_history
haben Sie Zugriff auf alle vertraulichen Daten, die root
auf diese Weise möglicherweise eingegeben wurden, ob versehentlich oder nicht.
Sicher, es gibt Abhilfen für diese Probleme, wie z. B. das Verbot root
der Anmeldung bei SSH, selbst mit Schlüsselauthentifizierung. Oder das Deaktivieren des Shell-Verlaufs. Oder das sorgfältige Aufräumen. Aber das sindMilderungen; sie sind Schichten in der Sicherheitszwiebel.
Die ~root
Zeit 07:00 ist eine weitere Schicht dieser Sicherheitszwiebel. Wenn Sie nicht weinen möchten, schälen Sie die Zwiebel nicht mehr als nötig.