Die Eingabe der Zugangsdaten wurden als incorrect
abgewiesen. Eine Besonderheit in diesem Fall war, dass zum Schluss die ursprüngliche Hauptdomain an eine Sub site vergeben wurde.
Meldete man sich auf der entsprechenden Sub site an, galt die Anmeldung automatisch auch für die Primary site. Im Dashboard konnte man sich dort bewegen und alles tun, auf der Frontseite „wusste“ das System allerdings nichts davon, dass der User angemeldet war (keine Adminleiste, if current_user_can()
gab false zurück…).
Lösung: neue Salt keys / Sicherheitsschlüssel.
Aufgabe von Salt keys
Sie dienen der Verschlüsselung sensibler Daten, zum Beispiel Passwörter. Allerdings trifft es nicht zu, dass das auch für das Speichern von User Passwörtern in die Datenbank gilt. WordPress-Passwörter sind zwar verschlüsselt, dennoch sind sie von einem System zum anderen übertragbar (direkt in der Datenbank), die unterschiedliche Salt Keys benutzen. Ein vergessenes Passwort kann auf diese Weise durch eines aus einer Installation ersetzt werden, deren Passwort man kennt, auch wenn es verschlüsselt nicht für einen lesbar ist.
Was allerdings durch Sicherheitsschlüssel bewirkt wird ist, dass beim Eingeben von Zugangsdaten zufällige Elemente angehängt werden, was es erschwert, eine Site zu hacken, da selbst ohne TSL/SSL Passwörter nicht in Klartext mitgelesen werden können.
Salt keys sind wie zusätzliche Passwörter für WordPress, zufällig und komplex, und hashen die auf dem Rechner gespeicherten Cookie-Daten (und das war auch der Grund dafür, dass die Anmeldung auf der Hauptseite nicht mehr funktionierte). Selbst wer Zugang auf WordPress-Cookies hat, Rückschlüsse auf Anmeldedaten sind darüber nicht möglich.
Ein Satz neuer Salt keys zwingt alle Benutzer, sich neu anzumelden, und neue Cookies werden generiert.
Nicht nur in einem Fall wie diesem, auch sonst ist es nach einer Umstellung von Domains kein Fehler, Salt keys in der wp_config.php
zu ersetzen, damit User-Anmeldungen reibungslos funktionieren.
Beispielschlüssel
Originalerklärung über dem Schlüsselbereich
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
Übersetzte Erklärung über dem Schlüsselbereich
/**#@+
* Sicherheitsschlüssel
*
* Ändere jeden untenstehenden Platzhaltertext in eine beliebige,
* möglichst einmalig genutzte Zeichenkette.
* Auf der Seite {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* kannst du dir alle Schlüssel generieren lassen.
* Du kannst die Schlüssel jederzeit wieder ändern, alle angemeldeten
* Benutzer müssen sich danach erneut anmelden.
*
* @since 2.6.0
*/
define('AUTH_KEY', '!Nd9H|L^MSvWwbt~Nwp[ Jke}-}pL.&+7,{kK$qnkZ@~au{06A94ZqgYiH#?,3Fo');
define('SECURE_AUTH_KEY', 'LqBh_/g<U*-NA-@&gPzTcW$0eyNpk#_FM7Cc0EHd]?vY?>k}eg63(:+TgK^K>8DK');
define('LOGGED_IN_KEY', '!vz$pdaPb]7PxoOl7b0,@X`pvlWhInONYIpf]vuMpjUBsn{5No*<r5[O%).}$mA`');
define('NONCE_KEY', 'CfG>VS-k^2o9#Fh00=B3fCZhFUX=eqC#PYVq<$x-(4DmjTnPe%O[!lbd$|kV;pFf');
define('AUTH_SALT', 'Jg=yu&n4]=F/StT[%b_yp&yyiLUji^Zp#,~;5PpJ}.*cq@h1=2Y4<2I</IpmaMhZ');
define('SECURE_AUTH_SALT', '[]P_OV,h%OV6c4>,?vO04LL5>ys.GGO}m&W-7XRP^pzN/DXb{js&Xh8bAXIb!?g5');
define('LOGGED_IN_SALT', 'f5!Z+&rY~f}.@Ux,=KQ2E:CXFVvV<o?r )Qa5[&Eh!54=~qU}$dT:jNIueq5HB<+');
define('NONCE_SALT', 'c2#W`1a.W)2v0;?ig-%2!#3 C1%)m2 >@6o9^x&aqQss$-XKJlSPFlS!<2tj?g6c');
Einer der WordPress-Sicherheitstipps lautet übrigens, die Schlüssel regelmäßig durch neue zu ersetzen. Alle User müssen sich dann neu anmelden. Die Aufgabe das regelmäßig zu tun kann auch ein Plugin übernehmen, zum Beispiel Salt Shaker.
Schreibe einen Kommentar