Wenn ich cat /etc/shadow
die verschlüsselten Passwörter von root und meinem Benutzer bekommen kann.
Diese Passwörter sind für jedes Konto gleich (ich weiß, schlechte Sicherheit), werden jedoch /etc/shadow
als unterschiedliche verschlüsselte Zeichenfolgen angezeigt.
Warum? Werden für jeden unterschiedliche Algorithmen verwendet?
Antworten:
Separate Benutzer bedeuten eine separate Benutzer-ID. Daher werden separate Hashes in den Algorithmus einbezogen.
Sogar ein Benutzer mit demselben Namen, demselben Kennwort und zur gleichen Zeit erstellt (mit fast sicherer Wahrscheinlichkeit) erhält einen anderen Hash. Es gibt andere Faktoren, die beim Erstellen der Verschlüsselung helfen.
Wenn Sie sich hier ein kurzes Beispiel ansehen möchten, kann es dies besser erklären.
quelle
/etc/passwd
,/etc/shadow
ist der Benutzername nicht Benutzer - ID (die auch nicht in erwähnt wird/etc/shadow
).Der Algorithmus ist der gleiche. Moderne Shadow-Suites verwenden steckbare Authentifizierungsmodule (PAM), und mit PAM können Sie einen Hashing-Algorithmus konfigurieren. Es geht nur um "Salting", was bedeutet, dass Sie das Passwort zufällig auswählen, um genau den Effekt zu erzielen, nach dem Sie fragen.
Salting ist eine Gegenmaßnahme zu Wörterbuchangriffen, bei denen ein Angreifer mit einem Wörterbuch bekannter Kennwort / Hash-Paare versucht herauszufinden, ob der angegebene Hashwert für ein unbekanntes Kennwort mit dem Hashwert für eines der bekannten Kennwörter übereinstimmt.
Durch das Salting wird verhindert, dass ein anderer Salt-Wert zu einem anderen Hash-Wert führt. Daher spielt es keine Rolle, dass das Kennwort gleich ist. (Es ist dennoch eine schlechte Praxis, aber aus anderen Gründen.) Damit der Wörterbuchangriff erfolgreich ist, muss der Angreifer nun Wörterbücher für jeden möglichen Salzwert haben. Ein wirklich zufälliges Salz von ausreichender Größe macht die Erfolgswahrscheinlichkeit eines solchen Angriffs vernachlässigbar.
Empfohlene Lektüre: Wie werden Passwörter unter Linux gespeichert (Hashing mit Schatten-Utils verstehen)
quelle
In der Schattendatei sehen Sie eine Zahl zwischen $$ (sagen wir $ 1 $ oder so ähnlich). Es zeigt an, welcher Hashing-Algorithmus von Ihrem Computer verwendet wird. Identifizieren Sie den Algorithmus und sehen Sie, wie er funktioniert. Zum Beispiel ist $ 6 $ SHA 512, das so konzipiert ist, dass selbst wenn 2 Personen dasselbe Passwort haben, der Hash-Digest ihres Passworts unterschiedlich ist.
quelle