Zwei-Faktor-Authentifizierung bei WordPress mit App, Passkey oder YubiKey
Die Zwei-Faktor-Authentifizierung für WordPress wird in der Regel als Add-on oder im Rahmen eines Premium-Tarifs angeboten. ReportedIP Hive bietet bereits im Kern vier 2FA-Methoden an – Authenticator App, Passkey oder Hardware Security Key, E-Mail-Code und SMS –, wobei TOTP, Passkey und E-Mail in jedem Tarif kostenlos enthalten sind.
Seit Hive 2.1.36 (5. August 2026) wird ein Hardware Security Key wie beispielsweise ein YubiKey offiziell unterstützt und funktioniert auf allen drei Authentifizierungsoberflächen: dem wp-login-Interstitial, der WooCommerce-Storefront und der Seite zur Passwortwiederherstellung.
Dieser Leitfaden behandelt alle vier Methoden: die schrittweise Registrierung eines YubiKeys, die Funktionsweise der Rate-Limit-Leiter gegen das Durchprobieren von Codes sowie die Lücke im Rücksetzablauf, die die meisten 2FA-Plugins offen lassen.
Was ist ReportedIP Hive?
ReportedIP Hive ist ein umfassendes WordPress-Sicherheits-Plugin: 16 Attack Sensors, die hier beschriebene vollständige 2FA-Suite, progressive Blockierung und opt-in-basierte Community-Threat Intelligence. Der Kern für Erkennung und Identifizierung unterliegt der GPL 2.0 und funktioniert offline. Den vollständigen Funktionsumfang von ReportedIP Hive finden Sie auf der Produktseite.
Die vier Methoden im Kern
- Authenticator App (TOTP) – RFC-6238-Codes, kompatibel mit Google Authenticator, Authy, 1Password und Microsoft Authenticator. Secrets werden verschlüsselt gespeichert. In jedem Tarif kostenlos.
- Passkey und Sicherheitsschlüssel (WebAuthn / FIDO2) – Face ID, Touch ID, Windows Hello und Hardware-Schlüssel wie die YubiKey 5-Serie. Phishing-resistent, mit einer hauseigenen Implementierung und ohne Abhängigkeit von Composer. Ein Schlüssel pro Konto ist in jedem Tarif kostenlos enthalten.
- E-Mail-Code – ein 6-stelliger Code, der 10 Minuten lang gültig ist; die Versendungsrate ist auf 3 Sendungen pro 15 Minuten begrenzt, mit einer Wartezeit von 60 Sekunden vor dem erneuten Versand und 5 Verifizierungsversuchen pro Code. Der Login-Bildschirm versendet ihn nicht mehr automatisch; der Nutzer muss zunächst auf „Code senden“ klicken. In jedem Tarif kostenlos.
- SMS-Code – wird bei den Tarifen „Professional“ und höher über den verwalteten Relay-Dienst von reportedip.com übermittelt. Die Nummern werden gemäß E.164 validiert und weltweit versendet; der Relay-Dienst antwortet mit einer festgelegten
country_not_supportedFehlermeldung für die wenigen Ziele, die nicht bedient werden. Telefonnummern werden verschlüsselt gespeichert.
Alle vier Methoden stützen sich auf: 10 Einmal-Recovery-Codes (gehasht gespeichert, mit einer Warnung bei nur noch 3 verbleibenden Codes), Trusted Devices mit konfigurierbarer Gültigkeitsdauer (Standard: 30 Tage) sowie rollenbasierte Durchsetzung mit einer Nachfrist (Standard: 7 Tage) und einem Überspringzähler. Benutzer wählen aus, welche Methode beim Login zuerst angefordert wird, indem sie bei einer beliebigen aktiven Methode die Option „Als Standard festlegen“ aktivieren.
So richten Sie einen Hardware Security Key ein
Ein Hardware-Schlüssel ist der zweite Authentifizierungsfaktor, der weder durch Phishing erbeutet, weitergeleitet noch vom Bildschirm abgelesen werden kann: WebAuthn bindet die Anmeldedaten an die Herkunfts-Website, sodass der Schlüssel die Authentifizierung für eine ähnlich aussehende Domain verweigert. Mit Hive 2.1.36 wurde dieser Ansatz nun offiziell auf echter Hardware umgesetzt und ist nicht mehr nur auf den virtuellen Authentifikator eines Browsers beschränkt.
Welche Schlüssel funktionieren
- YubiKey 5-Serie – USB-A, USB-C und Lightning, einschließlich der NFC-Modelle, die Sie an ein Smartphone halten.
- Sicherheitsschlüssel von Yubico und andere FIDO2/CTAP2-Authentifikatoren.
- Plattform-Passkeys – Face ID, Touch ID und Windows Hello, die über denselben Ablauf registriert werden.
- Nicht unterstützt: Ältere, ausschließlich U2F-fähige Schlüssel, die CTAP1 unterstützen, jedoch keine neueren Protokolle.
Ed25519 (EdDSA, COSE-Algorithmus -8) steht zwar auf der Liste der angebotenen Algorithmen, jedoch nur, wenn libsodium serverseitig zur Überprüfung vorhanden ist – ein heute registrierter Schlüssel wäre morgen nutzlos, wenn der Server dessen Signaturen nicht überprüfen könnte. Dies ist von Bedeutung, da Ed25519 von der YubiKey-Firmware 5.2.3 und höher bevorzugt wird. ES256 (-7) auf P-256 und RS256 (-257) bleiben die Ausweichoptionen, wobei die Kurve auf dem COSE-EC2-Pfad explizit überprüft wird.
Der Verifizierer wurde intern entwickelt: Es handelt sich um eine eigenständige WebAuthn-Level-2-Implementierung mit eigenem CBOR-Decoder und COSE-zu-PEM-Konvertierung, die Signaturen über OpenSSL und – im Falle von Ed25519 – über libsodium überprüft. Die einzige Composer-Abhängigkeit des Plugins zur Laufzeit ist dessen Update-Checker, sodass der Code, der Ihren Login verarbeitet, im Quellcode enthalten ist, den Sie auf GitHub einsehen können, und nicht in einer von Drittanbietern bereitgestellten Bibliothek.
Die Registrierung des Schlüssels erfolgt in vier Schritten
- Stellen Sie die Website über HTTPS bereit. WebAuthn läuft ausschließlich in einem sicheren Kontext, sodass auf einer Staging-Website mit unverschlüsseltem HTTP der Dialog überhaupt nicht angezeigt wird.
- Öffnen Sie Ihr WordPress-Profil in wp-admin und suchen Sie den Bereich „Zwei-Faktor-Authentifizierung“ – dort finden Sie den Sicherheitsschlüssel-Manager, nicht im Frontend-Dashboard. Der Setup Wizard bietet während der Ersteinrichtung denselben Ablauf.
- Wählen Sie „Sicherheitsschlüssel (USB/NFC)“ anstelle von „Dieses Gerät“. Die erste Option sendet
authenticatorAttachment: cross-platform, die zweiteplatform, sodass Chrome und Edge direkt den richtigen Dialog öffnen, anstatt zunächst Windows Hello anzubieten. - Geben Sie dem Schlüssel einen Namen – „YubiKey Büro“, „Sicherheitskopie im Safe“, maximal 64 Zeichen – und berühren Sie ihn anschließend oder halten Sie ihn an das Smartphone. Das Zeitfenster für die Authentifizierung beträgt 120 Sekunden statt der WebAuthn-Standardeinstellung von 60 Sekunden, sodass genügend Zeit für ein NFC-Tippen bleibt.
Bei einem neuen Schlüssel wird keine FIDO2-PIN abgefragt. Die Registrierung fordert userVerification: discouraged an, gemäß den Entwicklerhinweisen von Yubico für einen Schlüssel, der als zweiter Authentifizierungsfaktor zusätzlich zum Passwort verwendet wird; der Wert wird ebenfalls serverseitig erzwungen und kann über den Filter reportedip_hive_webauthn_user_verification auf preferred oder required angehoben werden. Die Registrierung fordert zudem residentKey: discouraged an, sodass die Registrierung eines YubiKeys keinen seiner begrenzten Speicherplätze für auffindbare Anmeldedaten belegt – der Login-Ablauf liefert immer allowCredentials mit, sodass eine „discoverable credential“ hier keinen Vorteil bieten würde. Vor dieser Änderung erstellte Anmeldedaten funktionieren weiterhin.
Die doppelte Registrierung desselben Schlüssels wird vom Browser über excludeCredentials abgelehnt, und der Options-Endpoint ist auf 10 Anfragen pro Benutzer alle 10 Minuten begrenzt.
Wo der Schlüssel nach der Registrierung funktioniert
Alle drei Challenge-Oberflächen zeigen dasselbe gemeinsame WebAuthn-Panel dar und können einen vollständigen Authentifizierungsprozess durchlaufen: das „wp-login“-Interstitial, die WooCommerce-Storefront-Challenge (Professional) und das Passwort-Zurücksetzen-Fenster. Die beiden letztgenannten Funktionen waren vor Version 2.1.36 fehlerhaft – die Storefront zeigte eine Registerkarte für Passkeys an, deren Panel jedoch nicht existierte, und das Passwort-Zurücksetzungs-Gate bot zwar WebAuthn an, lud jedoch kein Authentifizierungsskript.
Die Klonerkennung ist standardmäßig aktiviert
Jede Authentifizierung ist mit einem Signaturzähler versehen. Wenn sich der Zähler nicht erhöht, lehnt Hive die Anmeldung ab, protokolliert ein Ereignis 2fa_webauthn_counter_regression mit dem Schweregrad „hoch“ und benachrichtigt den Kontoinhaber per E-Mail – ein stillstehender Zähler ist ein eindeutiges Anzeichen dafür, dass die Anmeldedaten von der Hardware kopiert wurden. Passkeys ohne Zähler, die legitimerweise den Wert Null melden, funktionieren weiterhin. Diese Warn-E-Mail wird an alle Tarife versendet, nicht nur an den Business-Tarif.
Dazu kommen die üblichen Sicherheitsprüfungen: Die Challenges bestehen aus 32 zufälligen Bytes, sind einmalig verwendbar und 300 Sekunden lang gültig; Bestätigungen und Registrierungen ohne das „User-Presence“-Flag werden gemäß WebAuthn Abschnitt 7.2 abgelehnt; und die WebAuthn-Login-Endpoints unterliegen derselben IP-spezifischen Sperrskala wie das Code-Formular, sodass sie nicht zur Umgehung des Rate Limits genutzt werden können.
Ein Schlüssel ist kostenlos, ein Backup-Schlüssel ist ein Business-Feature
Ein Sicherheitsschlüssel oder Passkey pro Konto ist in jedem Tarif kostenlos enthalten, einschließlich der Registrierung, des Logins auf allen drei Plattformen, der Umbenennung, der Löschung sowie der Warn-E-Mail bei geklonten Schlüsseln. Der Business-Tarif bietet zusätzlich erweiterte Sicherheitsschlüssel: mehrere Schlüssel pro Konto, von denen einer als Backup in einem Safe aufbewahrt werden kann, automatische Modellerkennung sowie E-Mails zu Ereignissen im Lebenszyklus der Schlüssel. Die Modellerkennung erfordert eine direkte Bestätigung, liest die AAGUID aus und gleicht sie mit einer integrierten Datenbank ab, die 90 Authentifikatormodelle aus dem Metadaten-Service der FIDO Alliance enthält, sodass der Schlüsselmanager einen Eintrag unter dessen Namen als „YubiKey 5-Serie mit NFC“ oder „Windows Hello“ kennzeichnet.
Dieses Kennzeichen dient lediglich der Anzeige und funktioniert nach dem „Fails-Open“-Prinzip: Eine fehlende oder nicht überprüfbare Bescheinigung blockiert niemals eine Registrierung, und es wird keine Zertifizierungsstellenkette für die Bescheinigung validiert. Bei einem zweiten Authentifizierungsfaktor, der nach einem erfolgreichen Login mit Passwort registriert wird, bietet die Bescheinigung keine wesentliche Sicherheit – sie dient lediglich dazu, zwei Schlüssel in einer Liste voneinander zu unterscheiden. Bei Registrierungen im Free-Tarif wird attestation: 'none' angefordert, sodass der Browser keine Einwilligungsabfrage für eine Funktion anzeigt, die in diesem Tarif nicht enthalten ist.
Wenn Sie beim Free-Tarif mit einem einzigen Schlüssel bleiben, dienen Ihre Recovery Codes als Backup. Drucken Sie diese aus oder nutzen Sie eine Authenticator App als zweite Methode. Hive lässt Sie Ihren letzten Schlüssel nicht löschen, solange WebAuthn Ihre einzige aktive Methode ist und für Ihre Rolle die 2FA vorgeschrieben ist.
Die Rate-Limit-Leiter stoppt das Durchprobieren von Codes
Falsche 2FA-Codes unterliegen derselben mehrstufigen Sperrskala wie fehlgeschlagene Logins: 3 falsche Codes → 30 s, 5 → 5 min, 10 → 30 min, 15 → 1 h. Der 15. Fehlversuch auf IP-Ebene führt zu einer echten progressiven Sperre für die IP-Adresse, sodass ein Angreifer, der Brute-Force-Angriffe durchführt, nicht mehr einfach die Sperrfrist abwarten und es jede Stunde erneut versuchen kann.
Das Passwort-Reset-Gate, das die meisten Plugins übersehen
Der „Passwort vergessen“-Prozess von WordPress ist ein klassischer Umgehungsweg für die 2FA: Wenn Ihre E-Mail-Adresse der einzige zweite Authentifizierungsfaktor ist, erhält jeder, der Zugriff auf Ihr Postfach hat, sowohl den Link zum Zurücksetzen als auch den Code über denselben Kanal. Das Passwort-Zurücksetzungsverfahren von Hive verlangt einen zweiten Faktor, der nicht per E-Mail erfolgt – eine Authenticator App, eine SMS, einen Sicherheitsschlüssel oder einen Recovery Code –, bevor ein neues Passwort akzeptiert wird. E-Mail ist von Grund auf ausgeschlossen. Dieses Verhalten entspricht NIST SP 800-63B §6.1.2.3 und OWASP ASVS V6.3.
Das System überprüft jede zulässige Methode vor der Darstellung auf ihre Verwendbarkeit – ein TOTP-Schlüssel, der sich nicht entschlüsseln lässt, eine fehlende Telefonnummer oder ein nicht vorhandener WebAuthn-Anbieter führen dazu, dass diese Methode aus der Auswahl entfernt wird. Ist keine Methode verwendbar, wird der Ablauf mit einer Administrator-E-Mail, in der die Fehler aufgeführt sind, endgültig abgebrochen, anstatt den Nutzer in eine „ungültiger Code“-Schleife zu führen. Konten, deren einziger Authentifizierungsfaktor die E-Mail-Adresse ist und die über keine Recovery Codes verfügen, werden mit einer Administratorwarnung vom Zurücksetzungsablauf ausgeschlossen; ein Administrator hebt diese Sperre mit wp user reset-password <id> --skip-email auf. Bei einer Zurücksetzung mittels Sicherheitsschlüssel wird der Browser nicht über einen URL-Parameter, sondern über ein kurzlebiges, vom Server generiertes Token an die zurückgesetzte Identität gebunden.
So aktivieren Sie diese Funktion
Aktivieren Sie im 2FA-Schritt des Setup Wizards (oder unter „Einstellungen“ → „Zwei-Faktor-Authentifizierung“) die Methoden, die Sie anbieten möchten, legen Sie fest, welche Rollen sich registrieren müssen, und richten Sie die Karenzzeit sowie den Überspringzähler ein. Bei Neuinstallationen sind standardmäßig alle vier Methoden zugelassen, wobei SMS erst dann genutzt werden kann, sobald ein Relay-fähiger Tarif verbunden ist.
Bei Headless- oder benutzerdefinierten Abläufen stellt der REST-Namensraum reportedip-hive/v1 die Endpunkte /2fa/challenge, /2fa/verify und /2fa/methods für die codebasierten Methoden bereit. WebAuthn fehlt dort bewusst: Ein Browser-Prozess benötigt die „admin-ajax“-Oberfläche, auf der er bereits ausgeführt wird, und eine Duplizierung in REST würde bedeuten, dass bei einem sicherheitskritischen Ablauf zwei Codepfade synchron gehalten werden müssten.
Shell-Administratoren können wp reportedip 2fa reset <user> ausführen, um ein gesperrtes Konto freizuschalten. wp reportedip 2fa enable <user> --method=webauthn weigert sich, die Methode für jemanden zu kennzeichnen, der keinen registrierten Schlüssel besitzt – dies würde ihn aussperren –, es sei denn, Sie übergeben --force. Schlüssel selbst werden ausschließlich im Browser registriert; es gibt keinen CLI-Pfad, um einen Schlüssel zu registrieren. Bei Multisite-Subdomains legen die Filter reportedip_hive_webauthn_rp_id und reportedip_hive_webauthn_allowed_origins die Relying-Party-ID und die akzeptierten Ursprünge fest.
Fragen zu Hardware-Schlüsseln
Benötige ich noch eine Authenticator App, wenn ich einen YubiKey verwende?
Nein, ein Sicherheitsschlüssel allein erfüllt alle Anforderungen an die Sicherheitsprüfungen und die Rücksetzfunktion. Halten Sie dennoch eine zweite Methode oder Ihre Recovery Codes bereit, da ein einzelner Schlüssel einen Single Point of Failure darstellt.
Was geschieht, wenn der Schlüssel verloren geht?
Melden Sie sich mit einem der 10 Recovery Codes oder – falls Sie die Business-Version nutzen – mit einem zweiten Schlüssel an. Ein Administrator kann die Registrierung außerdem mit wp reportedip 2fa reset <user> aufheben. Löschen Sie anschließend den verlorenen Schlüssel aus dem Profil-Schlüsselmanager.
Funktioniert ein Hardware-Schlüssel auf einem Mobiltelefon?
Ja, indem Sie einen NFC-fähigen Schlüssel an die Rückseite des Smartphones halten – genau dafür ist das 120-Sekunden-Zeitfenster vorgesehen. USB-C-Schlüssel funktionieren über den Anschluss des Smartphones, und Plattform-Passkeys (Face ID, Touch ID) sind die Alternative, falls Sie lieber keinen Schlüssel bei sich tragen möchten.
Kann ich mich allein mit dem Schlüssel anmelden, ohne Passwort?
Nein. Bei Hive dient der Schlüssel ausschließlich als zweiter Sicherheitsfaktor: Zunächst wird das Passwort überprüft, anschließend der Schlüssel. Aus diesem Grund wird bei der Registrierung auch keine auffindbare Anmeldeinformation angefordert. Die passwortlose Anmeldung basiert auf einem anderen Sicherheitsmodell, und es wäre irreführend, so zu tun, als sei der zweite Sicherheitsfaktor ein solches Modell.
Warum hat mein YubiKey zufällige Buchstaben in ein Feld eingegeben?
Wenn Sie einen YubiKey außerhalb einer aktiven Zeremonie berühren, gibt dieser sein Yubico-OTP ein, als wäre er eine Tastatur. Hive erkennt diese Zeichenfolge, löscht das Feld und erklärt, was geschehen ist, anstatt mit einer verwirrenden Fehlermeldung abzubrechen.
Verwandte Anleitungen
- Passkeys und WebAuthn: Phishing-sichere WordPress-Anmeldung
- Verwalteter Mail Relay und SMS Relay für die zuverlässige Zustellung von OTPs
- WooCommerce-2FA, das in Ihrem Theme integriert bleibt
Einzelheiten zur Einrichtung finden Sie in der Dokumentation zur Authentifizierung; sehen Sie sich die vollständigen Anleitungen zum ReportedIP Hive-Plugin an oder lesen Sie den WebAuthn-Standard auf der W3C-Website.