Nach Änderung der Domains keine Anmeldung auf Hauptseite in Multisiteumgebung möglich

salt 2234709 1920
Bildquelle: Pixabay, shapiro-larisa

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.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable