WordPress Passwortsicherheit und Hashing

Veröffentlicht: 2017-11-10

Passwörter sind eine Form der Authentifizierung, die an Benutzer oder Prozesse gebunden ist. Sie werden verwendet, um die Identität eines Benutzers oder eines Prozesses anhand eines Computersystems oder von Ressourcen zu validieren. Im heutigen modernen Web der Ultra-Konnektivität, von IoT-Geräten und Mobilgeräten ist die Passwortsicherheit ein ernsteres Thema als je zuvor. Immer wieder kommt es zu Lecks in Passwortdatenbanken, von denen große Unternehmen wie LinkedIn, Tumblr und Yahoo betroffen sind. Bob Diachenko von MacKeeper Security schrieb Anfang dieses Jahres über eine gigantische 560 Millionen E-Mail/Passwort-Liste, die frei im Internet herumschwirrte!

In diesem Artikel werden wir also über drei Dinge im Zusammenhang mit Passwörtern und WordPress sprechen:

  1. Starke Passwortgenerierung und -verwaltung.
  2. Wie WordPress Passwort-Hashing durchführt.
  3. Implementieren Sie Ihr eigenes Passwort-Hashing.

Schwache und starke Passwörter

Die Passwortstärke in Bezug auf Brute-Force-Komplexität ist ein viel diskutiertes Thema, und die Vorstellung, wie stark ein Passwort ist, wurde im Laufe der Jahrzehnte weitgehend neu definiert, da dem Einzelnen immer leistungsfähigere Computerressourcen zur Verfügung stehen. Der weltberühmte Sicherheitsexperte Bruce Schneier hat einen hervorragenden Beitrag über die Passwortsicherheit und die Auswahl sicherer Passwörter geschrieben.

Wenn man über die Passwortstärke spricht, muss man den Kontext und die Bedrohungsstufe mit einbeziehen:

Es ist anders und viel schwieriger, wenn der Angreifer versucht, Ihr WordPress-Passwort zu erraten, als wenn er oder sie Ihre Sicherheit kompromittiert und Zugriff auf die gesamte gehashte Passwortliste hat.

In der ersten Situation wird der Angreifer durch zu viele Anmeldeversuche in kurzer Zeit schnell vom Authentifizierungsdienst blockiert. Normalerweise entdecken Angreifer Kennwörter auf andere Weise als Brute-Force, wie Phishing, Malware und dergleichen. Wenn das Ziel jedoch ein Passwort mit relativ öffentlichen Informationen wie Datum, Vor-/Nachname usw. gewählt hat, ist es für den Angreifer einfacher, es zu erraten.

In der zweiten Situation, wenn der Angreifer Zugriff auf die Passwortdatei hat, ist es möglicherweise nur eine Frage der Zeit, insbesondere wenn die verwendete Hash-Funktion MD5 ist. Es war vor langer Zeit kaputt und hat sich als unsicher erwiesen. Der Angreifer kann moderne Hardware (wie GPU-Boards) in Kombination mit vorberechneten „Regenbogen“-Tabellen verwenden, um die gesamte Passwortdatei in sehr kurzer Zeit zu entschlüsseln. Zusätzlich werden in einigen Extremfällen die Passwörter für alle Benutzer im „Klartext“ in der Datenbank gespeichert. In beiden Fällen wird die „Stärke“ Ihres Passworts aufgehoben.

So generieren und speichern Sie starke Passwörter

Überlassen Sie die Passwortgenerierung und -verwaltung am besten einem Computer Ihres Vertrauens, anstatt regelmäßig zu versuchen, sich starke Passwörter auszudenken. Sie sind ein Mensch und werden unweigerlich Fehler machen und etwas auswählen, das ein Computer als schwache Wahl betrachtet.

Die Verwendung eines Passwort-Managers zum Generieren und Speichern von Passwörtern für jeden Dienst ist effizient und mit der geringsten Bedrohung. Der Gedanke, alle Ihre Passwörter an einem Ort aufzubewahren, kann zwar nervenaufreibend sein, ist aber eigentlich ein Pluspunkt: Wenn Sie wissen, dass sich alle Ihre Passwörter an einem Ort befinden, können Sie sie einfacher sichern. Sie müssen keine zufälligen Zettel oder Permutationen schwacher Passwörter mehr verwenden, an die Sie sich leicht erinnern können, die aber leicht erraten werden können. Ein Passwort-Manager kann Ihnen auch dabei helfen, sichere Passwörter ohne viel Aufhebens zu generieren.

Die beliebteste (und teuerste) Wahl ist 1Password, aber Sie können versuchen, das in Ihrem Betriebssystem bereitgestellte (z. B. Apples iCloud KeyChain) zu verwenden oder eine Open-Source-Lösung für mehrere Plattformen wie KeePass zu verwenden.

Hosten Sie Ihre Website mit Pressidium

60- TÄGIGE GELD-ZURÜCK-GARANTIE

SEHEN SIE UNSERE PLÄNE

WordPress-Passwort-Hashing

Passwort-Hashing ist eine Technik, bei der das Klartext-Passwort an eine Hash-Funktion übergeben und in einen langen alphanumerischen Wert umgewandelt wird. WordPress nutzt diese, um sie in der Datenbank zu speichern und so zu verhindern, dass neugierige Blicke die WordPress-Passwörter direkt lesen. Wenn Sie sich bei WordPress anmelden und Ihr Passwort senden, berechnet es den Hash und vergleicht ihn mit dem in der Datenbank. Wenn es gleich ist, wird Ihnen der Zugriff gewährt, wenn nicht, wird er Ihnen verweigert. Diese Methode funktioniert, weil eine bestimmte Textzeichenfolge (in diesem Fall ein WordPress-Passwort) immer denselben Hashwert generiert. Da ein Hash-Wert nicht in den ursprünglichen Text zurückgewandelt werden kann, kann WordPress nur wissen, dass Sie den richtigen eingegeben haben, wenn der Hash-Wert des von Ihnen angegebenen Passworts und der in der Datenbank gespeicherte identisch sind.

Standardmäßig verwendet die WordPress-Funktion wp_hash_password() einen 8-Pass-MD5-Algorithmus, um Hashes zu generieren. MD5 wurde jedoch erfolgreich mit einer Kombination aus moderner Hardware und einer Technik namens Rainbow Tables gebrochen, die eine riesige Menge vorberechneter Werte enthält. Diese helfen einem Angreifer, Milliarden von Kombinationen pro Sekunde auf nur einer modernen GPU auszuprobieren.

Implementieren Sie Ihr eigenes WordPress-Passwort-Hashing

Sie können (und sollten) eine andere Implementierung auswählen, z. B. Bcrypt, indem Sie das Tupel (16, FALSE) in der Instanziierung an das PasswordHash-Objekt übergeben. Beide Funktionen wp_hash_password() und wp_set_password() sind austauschbar, sodass Sie Ihre eigene Implementierung bereitstellen können. Sie sind unter wp-includes/pluggable.php zu finden.

Roots.io (die Leute hinter dem Trellis-, Bedrock- und Sage-Boilerplate-WordPress-System) haben auch ein WordPress-Plugin veröffentlicht, das die Bcrypt-Funktionalität für die standardmäßigen WordPress-Hash-Funktionen implementiert.

Fazit

Um sicherzustellen, dass Sie starke Passwörter verwenden und diese häufig ändern, verwenden Sie am besten einen Passwort-Manager. Dies kann dazu beitragen, alle Ihre Passwörter an einem Ort zu organisieren und Sie daran zu erinnern, wann es Zeit ist, sie zu ändern. Wenn es um Passwort-Hashing geht, ist es am besten, einen kryptografisch sicheren Algorithmus wie SHA-2 oder Bcrypt zu verwenden, anstatt auf die Standardeinstellung von WordPress zurückzugreifen. Das Rollen Ihrer eigenen Hash-Funktion wird am besten vermieden, da ein Fehler Sicherheitsprobleme verursachen kann.