Zum Hauptinhalt springen

Wie man ein Passwort in Linux richtig verschlüsselt: Die vollständige Anleitung

Der Kennwortschutz ist eine der wichtigsten Sicherheitsmaßnahmen im Linux-Betriebssystem. Angreifer können versuchen, Ihr Passwort auszuwählen, um unberechtigten Zugriff auf Ihr Konto zu erhalten. Um die Sicherheit Ihres Passworts zu maximieren, ist es wichtig, es richtig zu verschlüsseln.

In diesem vollständigen Handbuch werden wir verschiedene Methoden zur Verschlüsselung von Passwörtern unter Linux untersuchen, einschließlich der Verwendung spezieller Programme und Dienstprogramme. Wir werden auch Empfehlungen zur Auswahl eines sicheren Passworts und zur Sicherheit erörtern.

Eine der wichtigsten Methoden zum Verschlüsseln von Kennwörtern unter Linux ist die Verwendung eines Befehls crypt. Dieser Befehl verschlüsselt das angegebene Passwort mit einem der vielen verfügbaren Algorithmen wie MD5, SHA-256 und Blowfish. Jeder Algorithmus bietet ein anderes Maß an Sicherheit und Anwendbarkeit, daher ist es wichtig, einen geeigneten Algorithmus für Ihren Fall zu wählen.

Anmerkung: Bei der Auswahl eines Kennwortverschlüsselungsalgorithmus sollten Sie die Leistung und Kompatibilität mit anderen Systemen berücksichtigen. Einige Algorithmen sind möglicherweise unverwundbarer gegen Passwortüberprüfungsangriffe, erfordern jedoch mehr Systemressourcen.

Außer der Verwendung des Befehls crypt. es gibt auch spezielle Programme und Dienstprogramme unter Linux, die ein höheres Maß an Sicherheit für Ihr Passwort bieten. Sie ermöglichen die Verwendung zusätzlicher Funktionen und Funktionen wie Salz, Iteration der Verschlüsselung und das Verbot von Wörterbuchangriffen.

Auswahl eines zuverlässigen Verschlüsselungsalgorithmus

Linux verwendet häufig den Blowfish-Verschlüsselungsalgorithmus oder seine verbesserte Version von bcrypt, um Passwörter zu schützen. Diese Algorithmen gelten als zuverlässig und haben eine nachgewiesene Bruchfestigkeit.

Blowfish wurde 1993 von Bruce Schneier entwickelt und ist weltweit weit verbreitet. Es verwendet einen Blockverschlüsselungsalgorithmus mit variabler Schlüssellänge, der ihn zuverlässig und anpassungsfähig macht.

Bcrypt ist im Wesentlichen eine verbesserte Version von Blowfish. Es fügt zusätzliche Sicherheitsmaßnahmen wie Salz und eine langsame Hash-Funktion hinzu, wodurch es noch widerstandsfähiger gegen Hacking wird.

  • Blowfish und bcrypt sind beliebte Passwortverschlüsselungsalgorithmen unter Linux.
  • Blowfish verwendet einen Blockverschlüsselungsalgorithmus mit variabler Schlüssellänge.
  • Bcrypt ist eine verbesserte Version von Blowfish und fügt zusätzliche Sicherheitsmaßnahmen hinzu.

Bei der Auswahl eines Verschlüsselungsalgorithmus für ein Passwort unter Linux ist es wichtig, seine Zuverlässigkeit und Hackerfestigkeit zu berücksichtigen. Blowfish und bcrypt bieten ein hohes Maß an Sicherheit und gelten als einige der robustesten Kennwortverschlüsselungsalgorithmen.

Grundlagen der Kennwortverschlüsselung unter Linux

Eine der wichtigsten Methoden zum Verschlüsseln von Passwörtern unter Linux ist die Verwendung von Hash-Funktionen. Hash-Funktionen wandeln Eingaben (Kennwörter) in eine eindeutige Zeichenfolge fester Länge um, die als Hash bezeichnet wird. Jedes Mal, wenn Sie ein Kennwort eingeben, vergleicht das System den Hash des eingegebenen Kennworts mit dem in der Datenbank gespeicherten Hash. Wenn die Hashes übereinstimmen, wird das Passwort als korrekt angesehen und dem Benutzer wird Zugriff gewährt.

Eine der gängigsten Methoden zum Verschlüsseln von Kennwörtern unter Linux ist die Verwendung des MD5-Verschlüsselungsalgorithmus. MD5 generiert aus den Eingaben einen 128-Bit-Hash, und der Hash kann nicht wieder in die ursprünglichen Daten konvertiert werden. Obwohl MD5 immer noch auf vielen Systemen verwendet wird, wird es weniger sicher, da einige Schwachstellen auftauchen. Daher wird empfohlen, sicherere Algorithmen wie SHA-256 oder SHA-512 zu verwenden.

Unter Linux werden das Passwort und sein Hash in der Datei /etc/shadow gespeichert. Die Datei /etc/shadow ist schreibgeschützt für den Root-Superuser. Auf diese Weise wird sichergestellt, dass Kennworthashes sicher gespeichert werden.

Wenn Sie unter Linux einen neuen Benutzer erstellen, können Sie einen Passwort-Hash mit dem Dienstprogramm passwd generieren. Es ermöglicht Ihnen, ein Passwort festzulegen und es sofort mit einem Hash zu verschlüsseln.

Beispiel für die Verwendung von passwd:

$ passwdВведите новый пароль:Повторите новый пароль:passwd: пароль успешно обновлен

Der Passwort-Hash wird automatisch generiert und in der Datei /etc/shadow gespeichert.

Es ist wichtig sich daran zu erinnern, dass die Passwortsicherheit unter Linux nicht nur von der Verschlüsselung abhängt. Um die Sicherheit des Systems zu verbessern, müssen Sie Kennwörter verwenden, die eine Kombination aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen enthalten. Es wird auch empfohlen, das Passwort regelmäßig zu aktualisieren und auf seine Sicherheit zu achten.

Abschließend ist die korrekte Verschlüsselung von Passwörtern unter Linux ein wichtiger Aspekt der Systemsicherheit. Die Verwendung sicherer Verschlüsselungsalgorithmen wie SHA-256 oder SHA-512 sowie die Verwendung von Richtlinien zum Erstellen komplexer Kennwörter schützen Ihr System vor unbefugtem Zugriff.

Salzerzeugung und -lagerung

Sie können den Befehl openssl verwenden, um Salz unter Linux zu generieren. Um beispielsweise ein zufälliges 16-Byte-Salz zu erstellen, können Sie den folgenden Befehl ausführen:

openssl rand -hex 16

Es wird ein zufälliger Zeichensatz generiert, z. B. 19aa15a42619b8ebc7e95a95d8b358ad . Es wird dein Salz sein.

Als nächstes können Sie das Salz zusammen mit dem Passwort verwenden, um es zu verschlüsseln. Um beispielsweise das my_password-Passwort mit dem Salz 19aa15a42619b8ebc7e95a95d8b358ad zu verschlüsseln, können Sie den folgenden Befehl ausführen:

openssl passwd -6 -salt 19aa15a42619b8ebc7e95a95d8b358ad my_password

Ein Passwort-Hash wird generiert, zum Beispiel $6$19aa15a42619b8eb$LebWmlXtmvQPmyFDM0UVjKNElKhxlgMCFssQ4/G.z32JgTN7nG6RkcWZNHi7KVbVB5Tep/I323DIBeIXKQjvQ / . Das Salz wird im Passwort-Hash enthalten sein.

Jetzt können Sie den Passwort-Hash in der Datei /etc/shadow zusammen mit dem Benutzernamen speichern.

BenutzernamePasswort-Hash
user1$6$19aa15a42619b8eb$LebWmlXtmvQPmyFDM0UVjKNElKhxlgMCFssQ4/G.z32JgTN7nG6RkcWZNHi7KVbVB5Tep/I323DIBeIXKQjvQ/
user2$6$19aa15a42619b8eb$JmBCn2ZhR0ZwSTw2yIQUkolThfQSroAO4Ez8C50SQYr0Ebh0aur5SfLm9iezmKTZzZWgJqRmiJ/6OchnUu7Ox0
user3$6$19aa15a42619b8eb$omoTEe5o.FX2DlEbGXeMDExgRmMz8pzRceZhxgwNpuf3jESAhd7/jPbuemCyiJfEsoAFvGtTyiyBv10SCMbcO1

Wenn ein Benutzer versucht, sich anzumelden, wird das von ihm eingegebene Passwort mit demselben Salz verschlüsselt, mit dem das Passwort verschlüsselt und in der Datei /etc/shadow gespeichert wurde. Wenn der resultierende Passwort-Hash mit dem in der Datei /etc/shadow aufgezeichneten Hash übereinstimmt, ist der Benutzer berechtigt, sich anzumelden.

Hash-Algorithmus anwenden

Beim Hashing eines Kennworts wird die ursprüngliche Zeichenfolge in einen Zeichensatz fester Länge konvertiert, der nicht einfach wieder in das ursprüngliche Kennwort entschlüsselt werden kann. Mit dem gleichen Passwort können Sie jedoch einen Hash-Zeichensatz generieren und ihn mit dem gespeicherten vergleichen. Wenn sie übereinstimmen, wird das richtige Passwort angegeben.

Hash-Algorithmen können jedoch Schwachstellen aufweisen, die von Angreifern ausgenutzt werden können, um ein Passwort zu knacken. Daher ist es sehr wichtig, zuverlässige Hash-Methoden wie SHA-256 oder bcrypt zu verwenden.

SHA-256 (Secure Hash Algorithm 2) - dies ist einer der gebräuchlichsten Hash-Algorithmen. Es generiert einen Hash-Wert von 256 Bit, der einen starken Passwortschutz bietet. Der Vorteil von SHA-256 besteht darin, dass es eine relativ schnelle Ausführung bietet, die es ermöglicht, eine große Anzahl von Passwörtern zu hashenieren.

SHA-256 bietet jedoch keinen Schutz vor Angriffen durch GPUs. In diesem Fall wird die Verwendung eines Algorithmus empfohlen bcrypt. Es verwendet ein komplexes Hashing-Schema, das langsam auf dem zentralen Prozessor läuft, aber es erheblich schwieriger macht, das Passwort zu knacken.

Implementieren der sicheren Speicherung von Kennwörtern

Sie können Hashing und Salz verwenden, um die sichere Speicherung von Kennwörtern unter Linux zu gewährleisten. Hashing ist der Prozess der Umwandlung eines Passworts in einen Hash-Code, der es schwierig macht, das ursprüngliche Passwort umzukehren und zu finden.

Der Hash-Code hat jedoch die Eigenschaft, für identische Kennwörter konstant zu sein, was es schwierig macht, ihn für die sichere Speicherung zu verwenden. Um dieses Problem zu beheben, wird ein Salz verwendet – eine zufällige zusätzliche Zeichenfolge, die dem Passwort vor dem Hashing hinzugefügt wird. Das Salz macht jeden Hash-Code einzigartig, auch wenn die ursprünglichen Passwörter identisch sind.

Unter Linux gibt es viele Möglichkeiten, eine sichere Kennwortspeicherung zu implementieren, wie beispielsweise die Verwendung von Hashing-Algorithmen (z. B. MD5, SHA, bcrypt) und Kennwortwerkzeugen (z. B. Shadow-Kennwörter).

Eines der wichtigsten Werkzeuge in Linux zum sicheren Speichern von Passwörtern sind Shadow-Passwörter. Shadow-Passwörter sind eine spezielle Datei /etc/shadow, in der die verschlüsselten Passwörter der Benutzer gespeichert werden.

Bei Verwendung von Shadow-Passwörtern werden die ursprünglichen Benutzerpasswörter in /etc/shadow in einer Hashform mit Salz gespeichert. Jedes Mal, wenn ein Benutzer ein Passwort eingibt, wird es mit demselben Algorithmus und Salz gehasht, und der resultierende Hash-Code wird mit dem in der Datei /etc/shadow gespeicherten verglichen.

Die Verwendung von Shadow-Passwörtern ermöglicht es Ihnen, die ursprünglichen Passwörter der Benutzer verschlüsselt zu speichern, wodurch sie für Angreifer nicht zugänglich sind, selbst wenn sie auf die Datei /etc/shadow zugreifen.

Darüber hinaus sind andere moderne Hashing-Algorithmen wie SHA-512 und bcrypt unter Linux verfügbar. Diese Algorithmen haben eine erhöhte Widerstandsfähigkeit gegen Hacker und können zum Schutz von Kennwörtern von Benutzern verwendet werden.

All diese Maßnahmen helfen bei der sicheren Speicherung von Kennwörtern unter Linux und erhöhen den allgemeinen Schutz des Systems vor unbefugtem Zugriff.