ls -l /etc/passwd
gibt
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd
So kann ein gewöhnlicher Benutzer die Datei lesen. Ist das eine Sicherheitslücke?
ls -l /etc/passwd
gibt
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd
So kann ein gewöhnlicher Benutzer die Datei lesen. Ist das eine Sicherheitslücke?
Antworten:
Tatsächliche Passwort-Hashes werden in gespeichert /etc/shadow, die von normalen Benutzern nicht gelesen werden können. /etc/passwdEnthält weitere Informationen zu Benutzer-IDs und Shells, die von allen Benutzern gelesen werden können müssen, damit das System funktioniert.
/etc/shadow. Die BSDs verwenden /etc/master.passwd. Solaris verwendet /etc/security/passwd. HP-UX verwendet /.secure/etc/passwdund die Liste geht weiter ...
In der Regel werden die gehashten Kennwörter /etc/shadowauf den meisten Linux-Systemen gespeichert :
-rw-r----- 1 root shadow 1349 2011-07-03 03:54 /etc/shadow
(Sie werden in gespeichert /etc/master.passwdauf BSD - Systemen .)
Programme, die eine Authentifizierung durchführen müssen, müssen weiterhin mit rootBerechtigungen ausgeführt werden:
-rwsr-xr-x 1 root root 42792 2011-02-14 14:13 /usr/bin/passwd
Wenn Sie die setuid rootProgramme und eine einzelne Datei mit allen Hash-Passwörtern auf Ihrem System nicht mögen , können Sie sie durch das Openwall TCB PAM-Modul ersetzen . Auf diese Weise erhält jeder einzelne Benutzer eine eigene Datei zum Speichern seines Hash-Passworts. Dadurch kann die Anzahl der setuid rootProgramme auf dem System drastisch reduziert werden.
Passwörter werden seit /etc/passwdJahren nicht mehr gespeichert . Der Name ist Legacy, die Funktion der lokalen Benutzerdatenbank bleibt erhalten und es muss zu diesem Zweck für alle lesbar sein.
Zum Teil ist es so, wie Sie Benutzer identifizieren können. In der Vergangenheit konnten Sie auch ihre Passwörter abrufen. Die einzige User-ID, die es wirklich wert ist, geknackt zu werden, ist rootdie, die ohne die Passwortdatei bekannt ist.
Der Nutzen der Lesbarkeit der Kennwortdatei-Welt überwiegt bei weitem das Risiko. Auch wenn es nicht weltlesbar wäre, ein funktionierendesgetent passwd Befehl den Sicherheitsgewinn ungültig machen.
Die Möglichkeit für Nicht-Root-Benutzer, Dateien zu identifizieren, die anderen gehören, würde verschwinden. Das Identifizieren von besessenen (Benutzer in passwd-Datei) und nicht besessenen Dateien (Benutzer nicht in passwd-Datei) kann hilfreich sein, um den Inhalt eines Dateisystems zu überprüfen. Es wäre zwar möglich, dies mit entsprechenden zu lösensetuid Programmen , würde dies über diese Programme einen riesigen Angriffsvektor hinzufügen.
Am Ende ist es eine Frage des Gleichgewichts, und in diesem Fall würde ich sagen, dass es darauf ankommt, dass die Passwortwelt lesbar ist.