Du hast wahrscheinlich schon von der Bedeutung starker Passwörter für deine WordPress-Website gehört. Aber wusstest du, dass es eine weitere wichtige Sicherheitsebene gibt, die oft übersehen wird? Wir sprechen von WordPress Salts, das Salz in der Suppe der WordPress Sicherheit.
Stell dir die WordPress Salts als eine zufällige Zeichenkette vor, die WordPress deinen Passwörtern und anderen sensiblen Daten hinzufügt, bevor diese in der Datenbank gespeichert werden. Dieser Prozess wird als «Salting» bezeichnet. Im Grunde wird dadurch jedes Passwort einzigartig und deutlich schwerer zu knacken, selbst wenn Angreifer Zugriff auf deine Datenbank erhalten sollten.
Warum sind WordPress Salts so wichtig?
Ohne Salts würde ein Hacker, der eine Datenbank mit gehashten Passwörtern stiehlt, versuchen, diese Hashes mit bekannten Mustern (sogenannten «Rainbow Tables«) abzugleichen. Salts machen diese Methode nahezu unmöglich, da die zufällige Zeichenkette jeden Hash einzigartig macht.
Was bewirken die WordPress Salts konkret?
Die Salts in WordPress sind in deiner wp-config.php
-Datei definiert und bestehen aus acht verschiedenen Konstanten:
define('AUTH_KEY', 'NJ(YPnGSMEz1:q6n,SUGq,_3FV_:(b{oVEfq0DJ2#AQ+hG^W70aRPUm%(Nh@+(qA');
define('SECURE_AUTH_KEY', '=jJ!%p--5zoB$,JN:_lyx.KPy*i!Dp|AL-/7T+?r5~/td/PHw%5U2[9aY%]XpQt4');
define('LOGGED_IN_KEY', '>vXSDX7_b{7e<3wKH3BT_cI1$`-?c/|w^gH-5:?Uh1D|k*|Y!$7Go2QV*!Ou-%3k');
define('NONCE_KEY', 'yWi`|Zd#+P%TDY<{b.pwOer?=>,F2M&{z6%r=R6G w|h|[Ct&Xd[z%<f-7}+R-[E');
define('AUTH_SALT', 'kO,NXkLZ)QUU27HK}lV:iXW=UR6OS|SfSIR1p/Sr`A/!z-INfPL;U+m(6y7L|y%I');
define('SECURE_AUTH_SALT', 'w7;*y.1PZAV@-+-rH4meZR#v$f9)k,]}&uS#d]2B$0sR@MW2@Bq`t7`-6yu *ZQL');
define('LOGGED_IN_SALT', '}nGjWun12Lxui=tJ>@|Q+b~!rgx,@S[6Vi6^KR5qtGZ5BUr/(,X:Gu~GP:`,FC -');
define('NONCE_SALT', 's)F)L$XJc-U$>a <=Xf+a]Pf<j=PCPR9T13[/R{J;#h?pLQ.7Q@7X1q57Gh`/X!D');
Diese Konstanten werden nicht nur für Passwörter verwendet, sondern auch zur Sicherung anderer wichtiger Aspekte deiner WordPress-Installation, wie zum Beispiel:
- Cookies: Sie helfen, deine Login-Session zu sichern und unbefugten Zugriff zu verhindern.
- Nonces: Das sind einmalig verwendbare Sicherheitstoken, die Formularübermittlungen und andere sensible Aktionen vor Cross-Site Request Forgery (CSRF)-Angriffen schützen.
Wann und warum solltest du deine WordPress Salts ändern?
Obwohl WordPress bei der Installation automatisch sichere Salts generiert, gibt es wichtige Gründe, diese von Zeit zu Zeit zu erneuern. WordPress stellt dafür den offiziellen WordPress.org Salt Generator bereit. Dort kannst du jederzeit neue, zufällige Schlüssel generieren und diese in der wp-config.php
-Datei austauschen. Denk aber daran, vorher ein Backup deiner Konfigurationsdatei zu erstellen!
Hier sind die wichtigsten Gründe für eine Änderung der Salts:
Nach einem Sicherheitsvorfall: Wenn du den Verdacht hast, dass deine Website gehackt wurde, ist das Ändern der Salts ein entscheidender Schritt. Dadurch werden alle aktiven Login-Sitzungen und Sicherheitsschlüssel sofort ungültig, was die Auswirkungen eines potenziellen Angriffs begrenzt.
Als präventive Sicherheitsmaßnahme: Selbst wenn es keine Anzeichen für eine Kompromittierung gibt, kann das regelmäßige Austauschen der Salts deine Website zusätzlich absichern und es potenziellen Angreifern erschweren, Zugriff zu erlangen oder bestehende Zugriffsmöglichkeiten aufrechtzuerhalten.
Bei Verdacht auf Kompromittierung der wp-config.php
-Datei: Solltest du Anzeichen dafür haben, dass unbefugte Personen Zugriff auf deine Konfigurationsdatei hatten, ist ein sofortiger Wechsel der Salts unerlässlich, da Angreifer möglicherweise die alten Schlüssel kennen könnten.
Zusammenfassend lässt sich sagen: Das Ändern der WordPress Salts ist eine einfache, aber wirkungsvolle Maßnahme, um die Sicherheit deiner Website zu erhöhen – insbesondere nach einem Vorfall, präventiv oder bei dem Verdacht einer Kompromittierung deiner Konfigurationsdatei.
Wie du die WordPress Salts änderst
Das Ändern der WordPress Salts ist relativ einfach, erfordert aber direkten Zugriff auf deine wp-config.php
-Datei. Hier sind die Schritte:
- Sichere deine Website: Erstelle immer ein vollständiges Backup deiner Website, bevor du Änderungen an wichtigen Dateien vornimmst.
- Greife auf deine
wp-config.php
-Datei zu: Du kannst dies über einen FTP-Client (wie FileZilla) oder den Datei-Manager deines Hosting-Providers tun. Die Datei befindet sich normalerweise im Hauptverzeichnis deiner WordPress-Installation. - Generiere neue Salts: Gehe zu dem offiziellen WordPress Salt Generator.
- Ersetze die alten Salts: Kopiere die neuen Salts, die der Generator erstellt hat, und füge sie in deine
wp-config.php
-Datei ein. Achte darauf, die gesamten acht Zeilen zu ersetzen, die mit dendefine()
-Anweisungen für die Salts beginnen. - Speichere die Datei: Lade die geänderte
wp-config.php
-Datei wieder auf deinen Server hoch. - Melde dich neu an: Nach dem Ändern der Salts werden alle aktiven Login-Sitzungen ungültig. Du und alle anderen Benutzer müssen sich neu in WordPress einloggen.
Wichtiger Hinweis: Das Ändern der Salts führt dazu, dass alle aktiven Benutzer deiner Website abgemeldet werden. Informiere deine Benutzer gegebenenfalls im Voraus.
Vermeide die gefährlichen Standardeinstellungen!
Selbst habe ich bereits an verschiedenen Orten, zu verschiedenen Zeiten immer wieder einmal WordPress-Installationen kennengelernt, die fatalerweise mit den Standard-Passphrasen online geschaltet wurden und anschließend kompromittiert wurden (daher dieser Blog :-/).
Wie bereits erklärt fungieren WordPress-Salts als zufällige „Salz“-Komponente, die den Passwörtern und anderen sensiblen Daten vor dem Speichern in der Datenbank hinzugefügt werden. Dieser Prozess erschwert es Angreifern, gehashte Passwörter zu knacken – selbst dann, wenn sie Zugriff auf deine Datenbank erlangen sollten.
Beispiel der Standard-Passphrasen:
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
Das eklatante Risiko der Standard-Platzhalter
Ein potenzielles Sicherheitsrisiko besteht darin, dass die in der Standardkonfiguration der wp-config.php
-Datei enthaltenen Platzhalter für die Salt-Werte ('put your unique phrase here'
) keine individuellen und somit keine sicheren Werte darstellen, worauf selbst im Code hingewiesen wird.
Unterlässt es die Person, welche die WordPress-Installation vorgenommen hat, diese Platzhalter durch kryptografisch sichere, zufällig generierte Zeichenketten zu ersetzen, sind die Sicherheitsvorteile, die durch die Verwendung von Salts intendiert sind, faktisch nicht gegeben. Dies hat folgende konkrete Implikationen:
Deine Passwörter sind leichter angreifbar: Ohne das «Salz» sind die Passwort-Hashes deutlich anfälliger für sogenannte «Rainbow Table«-Angriffe, bei denen vorab berechnete Tabellen von Hashes bekannter Passwörter verwendet werden, um die tatsächlichen Passwörter zu rekonstruieren.
Sitzungsdiebstahl wird vereinfacht: Die Sicherheit deiner Login-Sessions, die dich eingeloggt halten ohne dass du dich ständig neu anmelden musst, hängt ebenfalls von diesen Salts ab. Standardwerte erleichtern es Angreifern, diese Sitzungen zu manipulieren oder zu stehlen.
Nonces bieten keinen echten Schutz: Nonces sind «Einmal-Codes», die Formulare und andere Aktionen vor Cross-Site Request Forgery (CSRF)-Angriffen schützen sollen. Mit Standard-Salts sind auch diese leichter zu kompromittieren.
Warum aber bleiben die Platzhalter bestehen?
Es gibt verschiedene Gründe, warum die Standard-Platzhalter in der wp-config.php
-Datei nicht geändert werden:
Unwissenheit: Viele Website-Betreiber sind sich der Bedeutung der Salts und der Notwendigkeit, die Platzhalter zu ersetzen, nicht bewusst.
Nachlässigkeit bei der Installation: Bei einer schnellen oder unachtsamen Installation wird dieser wichtige Schritt möglicherweise übersehen.
Automatisierte Installationen mit Fehlern: In seltenen Fällen kann es bei automatisierten Installationsprozessen zu Fehlern kommen, bei denen die Salts nicht korrekt generiert werden.
Kopieren von Konfigurationsdateien: Werden wp-config.php
-Dateien von Testumgebungen oder anderen möglicherweise unsicheren Quellen kopiert, können die unsicheren Platzhalter ungewollt übernommen werden.
Fazit: Standard-Salts sind ein No-Go!
Die WordPress-Installation generiert zwar normalerweise sichere, zufällige Salts, aber es ist entscheidend, dies zu überprüfen und sicherzustellen, dass keine unsicheren Standardwerte in deiner wp-config.php
-Datei vorhanden sind.
Wenn du dir nicht sicher bist, ob die WordPress Salts korrekt konfiguriert sind, sollte die wp-config.php
-Datei überprüft werden. Stehen dort noch die Zeile 'put your unique phrase here'
? Dann ist dringender Handlungsbedarf geboten!
Das Beibehalten von Standard-Salts ist ein grobes Fahrlässigkeitsrisiko für die Sicherheit deiner WordPress-Website. Nimm dir die Zeit, deine wp-config.php
-Datei zu überprüfen und bei Bedarf neue, sichere Salts zu generieren, um deine Website optimal zu schützen! Warte nicht, bis es zu spät ist!