Möchten Sie sich einen Überblick verschaffen? Auf der Plugin-Startseite finden Sie Informationen zu Funktionen, Preisen und Installationsschritten. Diese Seite dient als technisches Nachschlagewerk.
WordPress-Plugin – ReportedIP (Vollversion)
ReportedIP ist ein von der Community betriebenes WordPress-Sicherheits-Plugin. Es verwandelt jede geschützte Website in einen Sensor: Wenn eine Website angegriffen wird, lernt das Netzwerk daraus, und jede andere Website kann den Angreifer abwehren, noch bevor die erste Anfrage eingeht. Bedrohungsinformationen in Echtzeit, dreizehn Angriffssensoren, 2FA mit vier Methoden, progressive Eskalation der Sperrmaßnahmen. Open Source, veröffentlicht unter GPLv2+ auf GitHub.
vX.Y.Z.
Installation
Plugin herunterladen
Holen Sie sich die neueste Version reportedip-hive.zip aus dem GitHub-Seite „Veröffentlichungen“oder lade es von deiner Dashboard.
Installieren & Aktivieren
Gehen Sie in Ihrem WordPress-Adminbereich zu „Plugins“ → „Neu hinzufügen“ → „Plugin hochladen “, wählen Sie die ZIP-Datei aus, klicken Sie auf „Jetzt installieren“ und anschließend auf „Aktivieren“.
Starten Sie den Setup-Assistenten
Nach der Aktivierung wird der achtstufige Einrichtungsassistent automatisch gestartet. Er führt Sie durch die Betriebsmodi, den API-Schlüssel, die Brute-Force-Schwellenwerte, die 2FA-Liste, die Aufbewahrungsregeln, den „Hide-Login“-Slug und die optionale automatische Fußzeile.
Bleiben Sie auf dem Laufenden
Der integrierte Update-Checker (Plugin Update Checker v5.6+) fragt alle 12 Stunden GitHub Releases ab. Neue Versionen erscheinen im WordPress Plugins wird wie jedes andere Plugin-Update installiert – eine manuelle Neuinstallation ist nicht erforderlich. Format für angeheftete Tags: vX.Y.Z.
Einrichtungsassistent (9 Schritte)
Der Assistent wird bei der ersten Aktivierung ausgeführt und kann jederzeit über die Plugin-Einstellungen erneut gestartet werden. Jeder Schritt wird sofort gespeichert, sodass Sie den Vorgang unterbrechen und später fortsetzen können.
| Schritt | Was damit konfiguriert wird |
|---|---|
| 1. Willkommen | Einführung, Link zur Dokumentation und optionaler Ein-Klick-Import einer vorhandenen JSON-Einstellungsdatei. |
| 2. Verbinden | Betriebsmodus (Lokales Shield / Community-Netzwerk), API-Schlüssel mit Live-Validierung über reportedip.de. |
| 3. Schutz | Anmeldung / Kommentar-Spam / XMLRPC / 404-Scan / Schwellenwerte und Zeiträume für REST-Bursts, Umschaltfunktion „Nur melden“, Strategie für die Sperrdauer (feste Dauer vs. progressive Skala). |
| 4. Zwei-Faktor-Authentifizierung | Aktivieren/deaktivieren Sie jede der vier Methoden (TOTP, E-Mail, SMS, WebAuthn), legen Sie Rollen fest, legen Sie Karenzzeiten fest und legen Sie das Ablaufdatum für vertrauenswürdige Geräte fest. |
| 5. Datenschutz | Datenspeicherung, automatische Anonymisierung, Protokollierungsstufe, Umschaltfunktion für detaillierte Protokollierung. |
| 6. Benachrichtigungen | Empfänger (durch Kommas getrennt, validiert über is_email()), Absendername / Absender-E-Mail-Adresse für Transaktions-E-Mails, optionale Synchronisierung der Kontaktliste zurück zum reportedip.de-Konto. |
| 7. Anmelden | URL-Slug für die Anmeldung ausblenden (3–50 Zeichen, Slugs auf der Sperrliste werden abgelehnt), Antwortmodus für die alte /wp-login.php (Seite nicht gefunden oder 404-Fehler). |
| 8. Fördern | Optionales Banner in der Fußzeile, Variante (Abzeichen / Wappen / Banner / Statistik) und Ausrichtung. |
| 9. Fertig | Zusammenfassung der Fertigstellung, Link zum Dashboard. |
Betriebsmodi
Zwei Modi – wechseln Sie jederzeit zwischen ihnen, ohne lokale Daten zu verlieren.
| Funktion | Lokaler Schutzschild | Gemeinschaftsnetzwerk |
|---|---|---|
| Alle dreizehn Angriffssensoren | Ja | Ja |
| 4-Stufen-2FA + vertrauenswürdige Geräte + Wiederherstellungscodes | Ja | Ja |
| Progressive Blockeskalation | Ja | Ja |
| URL für die Anmeldung ausblenden | Ja | Ja |
| Abfrage der IP-Reputation anhand der Hive-Datenbank | Nein | Ja (über API) |
| Anonymisierte Angriffsmeldungen an die Community | Nein | Ja (automatisch) |
| API-Schlüssel erforderlich | Nein | Ja (kostenlose Version verfügbar) |
| Daten verlassen Ihren Server | Niemals | Nur IP-Adresse des Angreifers + Bedrohungskategorie + Zeitstempel |
Was Sie in den einzelnen Stufen erhalten
Das Hive-Plugin ist in der kostenlosen Version voll funktionsfähig – lokaler Schutz, alle dreizehn Sensoren, alle vier 2FA-Methoden. Die kostenpflichtigen Tarife umfassen eine verwaltete Zustellungsinfrastruktur (E-Mail und SMS) sowie höhere Kontingente für das Community-Netzwerk. Auf der Seite „Preise“ findest du einen vollständigen Vergleich und Informationen zum Upgrade.
| Kostenlos | Mitwirkender | Professionell | Business | Unternehmen | |
|---|---|---|---|---|---|
| Preis pro Monat (inkl. MwSt.) | 0€ | 0€ | 14.90€ | 39.00€ | Ab 663 € |
| Preis pro Jahr (≈ 17 % Rabatt) | 0€ | 0€ | 149€ | 389€ | Benutzerdefiniert |
| Mindestlaufzeit | — | — | Monatlich | Monatlich | 12 Monate |
| API-Abfragen pro Tag | 1,000 | 5,000 | 25,000 | 100,000 | Unbegrenzt |
| Erkennung und Meldung von Lock-Pfaden (automatisch verwaltete .htaccess-Datei, seit Version 2.0.11) | Ja | Ja | Ja | Ja | Ja |
| Modus zur Abwehr koordinierter Angriffe (ab Version 2.0.8) | — | — | Ja | Ja | Ja |
| Berichte pro Tag | 50 | 200 | 1,000 | 5,000 | Unbegrenzt |
| Community-Bedrohungsfeed (tägliche Blacklist) | — | Ja | Ja | Ja | Ja |
| Domains pro Lizenz | 1 | 1 | 3 | 15 | Unbegrenzt |
| 2FA-E-Mails pro Monat (verwaltetes SMTP) | — | — | 500 | 2,500 | Unbegrenzt (im Rahmen der angemessenen Nutzung) |
| 2FA-SMS pro Monat (weltweit verwalteter Relay-Dienst) | — | — | 25 | 75 | Benutzerdefiniert |
| SMS bundles 50 / 200 / 500 SMS für 14,90 / 49,90 / 99,90 € inkl. MwSt.) | — | — | Ja | Ja | Ja |
| Prepaid mail bundles 1.000 / 5.000 / 25.000 E-Mails für 4,90 / 14,90 / 49,90 € inkl. MwSt.) | — | — | Ja | Ja | Ja |
| Individuell gestaltete E-Mail-Vorlagen | — | — | — | Ja | Ja |
| Berichte und Analysen zur 2FA-Nutzung | — | — | Ja | Ja | Ja |
| Konfigurierbare 2FA-Richtlinien je nach Benutzerrolle | — | — | Ja | Ja | Ja |
| Anmeldezeiten für Benutzer einschränken (pro Rolle / pro Benutzer) | — | — | — | Ja | Ja |
| Massenoperationen und Analysen | — | — | Ja | Ja | Ja |
| Dashboard für mehrere Standorte auf reportedip.de | — | — | Ja | Ja | Ja |
| White-Label (Einrichtungsassistent, 2FA-Seiten, E-Mail-Vorlagen) | — | — | — | Ja | Ja |
| WooCommerce Frontend-2FA (Themenaufgabe im Shop) | — | — | Ja | Ja | Ja |
| Vollständige WooCommerce-Integration (White-Label-Vorlagen, Überprüfung von Abonnements/Mitgliedschaften) | — | — | — | Ja | Ja |
| Umfassende WP-CLI-Skriptfunktionen | — | — | — | Ja | Ja |
| Tool zum Export von Daten gemäß DSGVO | — | — | — | Ja | Ja |
| Wöchentlicher Sicherheitsbericht (PDF per E-Mail) | — | — | Ja (wöchentlich) | Ja (täglich optional) | Ja |
| Cloud-Backup der Hive-Einstellungen | — | — | 30 d | 90 d | 1 Jahr |
| Aufbewahrungsfrist für Protokolle | 30 d | 30 d | 90 d | 1 Jahr | Konfigurierbar |
| SLA-Support | Gemeinschaft | Gemeinschaft | E-Mail innerhalb von 48 Stunden | Priorität 12 Std. | Telefon 4 Std. |
| Benutzerdefinierte AVV / DPA | — | — | — | — | Ja |
Business mehrfach buchbar. Alle oben genannten Business gelten pro Lizenz. Wenn Sie an der Kasse Business , „x5“, „x10“ oder „x20“ buchen (oder dies später im Stripe-Kundenportal ändern), skalieren die täglichen Überprüfungen/Berichte, das monatliche 2FA-Kontingent für E-Mail/SMS sowie die Anzahl der Domains entsprechend Ihrer Lizenzanzahl – z. B. x5 = 75 Domains und 500.000 Überprüfungen/Tag. Ab der 2-fachen Lizenzanzahl gilt automatisch ein Mengenrabatt. PRO bleibt eine Einzellizenz; die Zahlen für Enterprise sind unbegrenzt (fair use) und werden niemals multipliziert.
Bündel-Bestellung (PRO und Business): Zunächst wird das monatliche Inklusivkontingent (25 SMS / 500 E-Mails bei PRO, 75 / 2.500 bei Business) abgezogen, anschließend das Guthaben des Prepaid-Pakets. Sobald beides aufgebraucht ist, gibt die API den HTTP-Status 429 zurück und Hive weicht auf lokale Ressourcen aus wp_mail() für E-Mails (oder SMS mit festen Obergrenzen) – andere 2FA-Methoden bleiben weiterhin verfügbar. Bundle-Guthaben verfallen nie. Stripe verwendet tax_behavior = inclusive Bei den Bruttopreis-Paketen (gemäß PAngV) wird die Umkehrung der Steuerschuldnerschaft / OSS automatisch von Stripe Tax abgewickelt.
- 2.0.7 – Überarbeitung des internen API-Budgets. Der interne Stundenratenbegrenzer ist nun in drei unabhängige Bereiche unterteilt (Reputationsabfragen, Berichtsübermittlungen, Meta-/Kontingentsynchronisierung) – ein Bot-Ansturm auf einen Bereich kann die anderen nicht mehr lahmlegen. Die Obergrenzen pro Bereich skalieren automatisch mit der aktiven Stufe (je stärker das tägliche Kontingent ausgelastet ist, desto größer ist das Budget für Spitzenauslastungen). Das alte „Maximale Anzahl von API-Aufrufen pro Stunde“ Standardeinstellungen festlegen auf
0= automatisch / stufenabhängig; die Admins behalten das für sich0Es werden von Haus aus sinnvolle Standardwerte bereitgestellt, wobei das Tageskontingent die sichtbare Obergrenze bleibt. - 2.0.8 – Absicherung gegen koordinierte Angriffe (PRO+). Wenn das Netzwerk feststellt, dass ≥ 3 IP-Adressen ≥ 20 fehlgeschlagene Anmeldeversuche pro Minute verursachen, verschärft Hive die Schwellenwerte für 60 Minuten: Brute-Force-Angriffe 5 / 15 Min. → 2 / 5 Min., Reputationssperre 75 % → 60 %. Echtzeit-Auslöser über
wp_login_failed(60-Sekunden-Entprellung), Cron-Sweep als Sicherheitsnetz. WP-CLI:wp reportedip hardening status|activate|deactivate. - 2.0.9 – Abwehr von Decoy-Path-Angriffen (kostenlos). Bait-Path-Sensor auf jeder Ebene: eine einzige Anfrage an
.env.backup,wp-config.old.php,db-dump-master.sql.php,admin-shell-console.phpusw. wird protokolliert und an die Community-Warteschlange weitergeleitet. Es befinden sich keine physischen Köderdateien auf der Festplatte. Erweitern Sie die Köderliste über einen Filterreportedip_hive_decoy_paths. (Das Verhalten des Blocks wurde in Version 2.0.11 optimiert – siehe unten.) - 2.0.10 – Fehlerbehebung beim „Decoy-Path“. Der Sensor erkennt nun
report_only_mode(protokolliert das Ereignis, ohne den 403-Fehler zu senden und den Vorgang zu beenden) und findet Namen von „Köder“, die hinter Präfixen von Unterverzeichnissen verborgen sind (/site-a/.env.backup) bei Multisite-Installationen in Unterverzeichnissen über einen Fallback auf den Basisnamen.
.htaccess. Der Sensor ruft den lokalen IP-Block-Pfad nicht mehr auf: Ein einzelner Treffer auf dem Köderpfad führt weiterhin zu einem 403-Fehler und löst einen Community-Bericht mit hohem Schweregrad aus, aber die Quell-IP ist nicht vor Ort für 24 Stunden gesperrt. Dadurch werden legitime Backup-Plugins (ein vereinzelter wp-config.old.php), damit Admin-Tests oder veraltete Crawler eine Website nicht von ihrem eigenen Traffic ausschließen. Apache .htaccess wird nun automatisch über einen Marker-Block verwaltet (# BEGIN ReportedIP Hive Decoy / # END ReportedIP Hive Decoy) platziert oben # BEGIN WordPress — das ist der einzige Ort, an dem sich eine echte Köderdatei auf der Festplatte befindet (.env.backup (z. B. von „Composer“ usw.) zuverlässig über WordPress weitergeleitet wird, anstatt direkt von Apache bereitgestellt zu werden. Der Autor verwendet WP-Core insert_with_markers(), heilt sich einmal pro Stunde auf admin_initund macht Automatisch verwaltet / Nur-Lese-Zugriff Status im Feld „Einstellungen“. Serverkonfigurations-Snippets in den Einstellungen werden nun umgeschrieben zu /index.php (Apache: RewriteRule ^ /index.php [L,QSA]; nginx: rewrite ^ /index.php last;) — niemals [F,L] oder return 403, wodurch PHP komplett umgangen und sowohl das lokale Protokoll als auch der Community-Bericht deaktiviert würden. Die Migration v7 bereinigt veraltete decoy_pathblock:* Zeilen in wp_reportedip_hive_blocked ab Version 2.0.9 / 2.0.10 und entfernt die inzwischen veraltete reportedip_hive_decoy_block_hours Option.
5-Schichten-Schutz
Hive führt seine Prüfungen nacheinander durch – jede Ebene kann die Anfrage abbrechen, bevor sie die nächste erreicht. Angehängt an init mit Priorität 1, damit andere Plugins bei einer gesperrten IP-Adresse nicht ausgeführt werden.
- Whitelist – vertrauenswürdige IP-Adressen und CIDR-Bereiche werden immer zugelassen (Ihr Büro, Überwachungsdienste usw.).
- Lokale Sperrliste — IP-Adressen, die Sie manuell gesperrt haben oder die lokale Schwellenwerte überschritten haben. Gespeichert in
wp_reportedip_hive_blocked. - Versuchszähler – Zählerstände für Anmeldungen, Kommentare, XMLRPC, REST-Bursts und 404-Scans lösen eine automatische Sperrung aus, sobald der Schwellenwert erreicht ist.
- Reputation in der Community – Im Community-Netzwerkmodus werden IP-Adressen, deren Konfidenzwert ≥ dem Schwellenwert ist, am Rand blockiert.
- 2FA-Überprüfung – Bei geschützten Konten muss zur Anmeldung ein zweiter Authentifizierungsfaktor angegeben werden.
Die dreizehn Angriffssensoren
Jeder Sensor kann unter „Einstellungen“ → „Schutz“ separat aktiviert und angepasst werden.
| Sensor | Was es sich ansieht | Standardschwellenwert |
|---|---|---|
| Brute-Force-Angriff auf den Login | Fehlgeschlagene Anmeldeversuche pro IP-Adresse über wp_login_failed. | 5 in 15 Minuten |
| Kommentarspam | Kommentare pro IP-Adresse über comment_post. | 5 in 60 Minuten |
| Missbrauch von XML-RPC | XMLRPC-Aufrufe pro IP-Adresse über xmlrpc_call. | 10 in 60 Minuten |
| REST-API-Burst | Anonyme REST-Anfragen pro IP-Adresse. Endpunkte für Cookie-Banner werden standardmäßig umgangen (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info). | 240 in 5 Minuten |
| 404 / Scan-Detektor | Eine hohe Anzahl von 404-Fehlern sowie eine sofortige Auslösung bei Honeypot-Pfaden (.env, .git/config, wp-config.php.bak, …). | 12 in 2 Minuten |
| Erkennung und Meldung von Scheinkursen | Köderwege (.env.backup, wp-config.old.php, db-dump-master.sql.php, admin-shell-console.php, …). Ein einzelner Aufruf gibt einen 403-Fehler zurück und stellt einen hoch-Bericht der Community zur Schwere der Auswirkungen – aber tut nicht eine lokale 24-Stunden-IP-Sperre auslösen, sodass ein Backup-Plugin, das wp-config.old.php oder ein Administrator, der die Köder-URL testet, kann die Website nicht für ihren eigenen Datenverkehr sperren. Apache .htaccess wird automatisch verwaltet (Marker-Block # BEGIN ReportedIP Hive Decoy oben platziert # BEGIN WordPress über insert_with_markers()) sodass echte Köderdateien auf der Festplatte über WordPress weitergeleitet werden, anstatt direkt von Apache bereitgestellt zu werden. Nginx-Administratoren können dies einfach per Copy-Paste übernehmen rewrite ^ /index.php last; Ausschnitt in den Einstellungen. Filter reportedip_hive_decoy_paths erweitert die Köderliste. | 1 Treffer = 403 + Meldung durch die Community |
| Benutzerauflistung | Blöcke ?author=N, /wp-json/wp/v2/users, oEmbed-Benutzersuche; gleicht Fehlermeldungen bei ungültigen Benutzernamen und falschen Passwörtern an. | Immer aktiv (sofern aktiviert) |
| App-Passwort-Überwachung | Drosselklappen application_password_failed_authentication; verhindert die Umgehung der 2FA durch Basic-Auth. | 5 in 15 Minuten |
| Geo-/ASN-Anomalie | Vergleicht bei erfolgreicher Anmeldung das Land und die ASN mit einem gleitenden 90-Tage-Verlauf; widerruft optional bei Auffälligkeiten die Token vertrauenswürdiger Geräte. | Mindestens eine vorherige Anmeldung erforderlich |
| Passwortstärke | Erzwingt Mindestlänge und eine bestimmte Zeichenmischung für vorgeschriebene Rollen; optionale „ Have-I-Been-Pwned “-k-Anon-Prüfung (nur SHA-1-Präfix). | 8 Zeichen + Klassen |
| Anmelde-URL ausblenden | Benutzerdefinierter Slug (Standard wp-login.php); die ursprüngliche URL führt zu einer Fehlerseite oder einem 404-Fehler. | Überschrift: 3–50 Zeichen |
| Eskalation verhindern | Progressive Staffelung – Wiederholungstäter zahlen bei jedem Zyklus mehr. | 5 m → 15 m → 30 m → 24 h → 48 h → 7 d |
| WooCommerce-Anmeldung | Fehler beim WooCommerce-Anmeldeformular werden auf den Brute-Force-Zähler angerechnet. | Übernimmt das Brute-Force-Limit |
Progressive Blockeskalation
Wiederholungstäter zahlen mehr. Die Standard-Sperrskala lautet: 5 Min. → 15 Min. → 30 Min. → 24 Std. → 48 Std. → 7 Tage. Nach 30 Tagen ohne Vorfälle wird der Zähler auf Stufe 1 zurückgesetzt. Bei erstmaligen Auslösungen durch legitime Besucher (CGNAT, versehentliche Eingabefehler von Admins, Datenverkehr aus Mobilfunknetzen) erfolgt die Aufhebung innerhalb von Minuten; bei hartnäckigen Angreifern wird die 7-Tage-Stufe erreicht.
Die Leiter, das Rücksetzfenster und der Hauptschalter befinden sich unter Einstellungen → Blockieren → Schrittweise Blockierung. Im Schritt „Schutz“ des Assistenten wird der Hauptschalter angezeigt, sodass neue Installationen bereits ab dem ersten Speichervorgang die Eskalationsfunktion nutzen können. Die behobene block_duration Die Einstellung bleibt auch dann bestehen, wenn die Leiste ausgeblendet wird. Eine Granularität im Unterstundenbereich wird bereitgestellt durch ReportedIP_Hive_Database::block_ip_for_minutes().
Zwei-Faktor-Authentifizierung (2FA)
Es werden vier Methoden unterstützt, die pro Benutzer kombiniert werden können. Bei der Ersteinrichtung werden Wiederherstellungscodes generiert. Geheimnisse werden im Ruhezustand verschlüsselt (libsodium mit OpenSSL-Fallback).
- TOTP – RFC 6238 (6 Ziffern, 30-Sekunden-Fenster). Kompatibel mit Google Authenticator, Authy, 1Password, Bitwarden, …
- E-Mail – sechsstelliger Einmalcode über den konfigurierten E-Mail-Anbieter; mit Ratenbegrenzung (3 Codes alle 15 Minuten, 5 Verifizierungsversuche pro Code, 60 Sekunden Wartezeit vor erneutem Versand).
- SMS – sechsstelliges Einmalpasswort über den verwalteten reportedIP (ab dem Professional-Tarif; siehe unten). Die Telefonnummer wird im Ruhezustand verschlüsselt.
- WebAuthn – Passkeys, Sicherheitsschlüssel (YubiKey), plattformbasierte Authentifizierer (Touch ID, Face ID, Windows Hello). Interner CBOR-Parser, keine externen Abhängigkeiten.
- Vertrauenswürdige Geräte — Opt-in-Tokens zum Speichern dieses Geräts mit konfigurierbarer Gültigkeitsdauer (Standard: 30 Tage). Gespeichert in
wp_reportedip_hive_trusted_devicesals SHA-256-Hashes. - Wiederherstellungscodes — 10 Einwegartikel
xxxx-xxxxCodes; Warnung bei „Low-Code“ ab ≤ 3 verbleibenden Codes.
2FA-Brute-Force-Schutz
Die 2FA-Verifizierungsleiter ist 3 → 30 s, 5 → 5 min, 10 → 30 min, 15 → 1 h. Wenn der Zählerstand die oberste Stufe erreicht, wird die IP in die zentrale auto_block_ip() Pfad (Ereignis 2fa_brute_force), was wie bei jedem anderen Sensor eine schrittweise Eskalation und eine Meldung im Community-Modus auslöst.
Headless 2FA REST
Für App-Integrationen stellt das Plugin drei Routen unter dem Namespace bereit reportedip-hive/v1:
POST /2fa/challenge— Benutzername + Passwort → Challenge-Token + aktivierte Methoden (20 Anfragen / 5 Minuten pro IP-Adresse).POST /2fa/verify— Token + Methode + Code → setzt das Authentifizierungs-Cookie (30 Anfragen pro 5 Minuten pro IP-Adresse).GET /2fa/methods— Aktive Methoden für den aktuellen Benutzer auflisten.
WooCommerce-Anmeldung im Frontend
Die 2FA-Funktion von Hive bleibt in Ihrem aktiven Shop-Theme integriert – Kunden, die sich über [woocommerce_my_account]… die klassische Kasse oder die WooCommerce-Blöcke „Warenkorb“ und „Kasse“ führen ihren zweiten Schritt auf einer themenbezogenen Seite aus. Der Status von Warenkorb und Kasse bleibt während der Weiterleitung erhalten, und das Cookie für vertrauenswürdige Geräte wird mit dem wp-login-Ablauf geteilt.
- Konfigurationspfad — 2FA → Frontend-Anmeldung für WooCommerce.
- Konfigurierbare Slugs — challenge slug (Standard
reportedip-hive-2fa) und Setup-Slug (Standardreportedip-hive-2fa-setup); sowohl bearbeitbare als auch auf Konflikte geprüfte Regeln sowie Umschreibungsregeln werden bei Änderungen automatisch aktualisiert. - Herabstufung des Tarifs – vorübergehende Deaktivierung bei den Tarifen „Free“ und „Contributor“; Einstellungen, Slug-Auswahl und Onboarding-Status bleiben erhalten, es kommt zu keinem Datenverlust beim erneuten Upgrade.
- Konflikterkennung – Hive zeigt eine Administratormeldung an, wenn Solid Security, das WP Two-Factor-Plugin oder Wordfence 2FA die Kontrolle über das Anmeldeformular hat, und deaktiviert die Frontend-Abfrage, um doppelte Aufforderungen zu vermeiden.
- Verfügbarkeit des Tarifs — Ab der Professional-Version. Die kostenlosen WooCommerce-Sensoren für fehlgeschlagene Anmeldeversuche (
woocommerce_login_failed,woocommerce_checkout_login_form_failed_login) bleiben in jedem Plan enthalten und tragen weiterhin zum Brute-Force-Zähler bei.
Zustellung von E-Mails und SMS
Die Mail-Schicht läuft über einen austauschbaren Provider-Vertrag (ReportedIP_Hive_Mailer). Der Standardanbieter ist WordPress wp_mail(); Integratoren können ihre eigenen Daten einfügen, ohne den Rest des Plugins zu verändern. SMS-2FA ist eine Professional-Funktion, die ausschließlich über den verwalteten relay reportedip.de bereitgestellt wird – ein eigenes SMS-Konto oder ein Mobilfunkvertrag sind nicht erforderlich. Sie wird bei Abschluss eines kostenpflichtigen Tarifs automatisch konfiguriert; aktivieren Sie sie unter Einstellungen → 2FA → SMS.
Konfigurationsübersicht
Alle Einstellungen befinden sich unter ReportedIP “ → „Einstellungen“. Die wichtigsten Standardeinstellungen:
| Einstellung | Standard | Beschreibung |
|---|---|---|
operation_mode | Lokaler Schutzschild | Lokales Schutznetzwerk oder Community-Netzwerk. |
block_threshold | 75 % | Mindestvertrauenswert zum Sperren einer IP-Adresse (Community-Modus). |
login_threshold / _timeframe | 5 / 15 min | Fehlgeschlagene Anmeldeversuche pro IP-Adresse vor der automatischen Sperrung. |
comment_spam_threshold / _timeframe | 5 / 60 min | Anzahl der Kommentare pro IP-Adresse vor der automatischen Sperrung. |
scan_404_threshold / _timeframe | 12 / 2 min | 404-Fehler pro IP-Adresse vor der Sperrung des Scanners. |
xmlrpc_threshold / _timeframe | 10 / 60 min | XMLRPC-Anfragen pro IP-Adresse vor der automatischen Sperrung. |
rest_burst_threshold / _timeframe | 240 / 5 min | Anonyme REST-Anfragen pro IP-Adresse. Umgehung der Einwilligungsbanner-Weiterleitungen. |
block_duration_hours | 24 h | Block mit fester Länge (wird verwendet, wenn die Leiter ausgeschaltet ist). |
block_escalation_enabled + block_ladder_minutes | Am — 5, 15, 30, 1440, 2880, 10080 | Progressive Skala (Minuten pro Stufe). |
report_mode | Aktiv | active (Block) oder report_only (Protokollierung ohne Blockierung). |
data_retention_days | 30 Tage | Wie lange werden Sicherheitsprotokolle aufbewahrt, bevor sie automatisch gelöscht werden? |
auto_anonymize_days | 7 Tage | IP-Adresse und User-Agent in Protokolleinträgen, die älter als N Tage sind, anonymisieren. |
cache_duration / negative_cache_duration | 24 Std. / 2 Std. | ETag-Cache-TTL für Abfragen zur positiven/negativen Reputation. |
max_api_calls_per_hour | 100 | Eine weiche Obergrenze, um die API-Nutzung über den Tag zu verteilen. |
2fa_enforce_roles | (leer) | Durch Kommas getrennte Rollen mit obligatorischer Zwei-Faktor-Authentifizierung. |
2fa_grace_days | 7 | Noch bevor die Maßnahme tatsächlich in Kraft tritt und nicht registrierte Nutzer den Zugang verwehrt. |
2fa_trusted_device_days | 30 | Ablauf des Tokens für vertrauenswürdige Geräte. |
hide_login_enabled / _slug / _response_mode | Aus — — block_page | Benutzerdefinierter wp-login-Slug; die alte URL führt zur Block-Seite oder zu einem 404-Fehler. |
Datenbanktabellen
Bei der Aktivierung erstellt, mit Präfix versehen wp_reportedip_hive_. Schema-Version 3, mit idempotenter Migration bei jedem Plugin-Update.
logs— Sicherheitsereignisse, JSON-Details, Schweregrad, Markierung „gemeldet“.whitelist— vertrauenswürdige IP-Adressen und CIDR-Bereiche; Ablaufdatum optional.blocked— aktive Sperren (manuell / automatisch / aufgrund der Reputation), mitblocked_until.attempts— IP-spezifische Zähler pro Versuchstyp, mit Zeitstempeln für den ersten und letzten Versuch.api_queue— ausstehende und fehlgeschlagene Meldungen an die Community-API; Wiederholungslogik.stats— Tageswerte für die Diagramme im Dashboard (7- und 30-Tage-Trends).trusted_devices— 2FA-Gerätetoken (SHA-256-Hashes), IP-Adresse und Gerätename, Ablaufdatum.
Frontend-Shortcodes & automatische Fußzeile
Fügen Sie an einer beliebigen Stelle auf der Website ein kleines „Protected by Hive“-Logo ein. Alle Shortcodes geben ein einzelnes <rip-hive-banner> Webkomponente, die aktuelle Zahlen aus einem 6-Stunden-Zwischenspeicher abruft (kein API-Aufruf pro Seitenaufruf).
[reportedip_badge]— kleines Abzeichen (Standard) schützen Ton).[reportedip_stat]— einzelne Statistik (Standard Vertrauen Ton).[reportedip_banner]— breites Banner (Standard Gemeinschaft Ton).[reportedip_shield]— Schild-Symbol (Standard Mitwirkender Ton).
Gemeinsame Merkmale: stat (z. B. attacks_30d, reports_total), tone (protect / trust / community / contributor), color, background, label, intro. Die automatische Fußzeile im Assistenten verwendet dieselbe Komponente, deren Variante und Ausrichtung konfigurierbar sind.
WP-CLI-Referenz
Die 2FA-Tools sind vollständig skriptfähig. Verfügbar unter wp reportedip 2fa …:
wp reportedip 2fa status [--user=<id>]
wp reportedip 2fa enable <user_id> --method=<totp|email|sms|webauthn> [--secret=<base32>]
wp reportedip 2fa disable <user_id> [--method=<m>]
wp reportedip 2fa reset <user_id>
wp reportedip 2fa enforce --role=<role> [--remove]
wp reportedip 2fa audit [--user=<id>] [--since=<date>]
wp reportedip 2fa cleanup
Kompatibilität mit Cache-Plugins
Seit Version 1.5.2 definiert die „Blocked-Page“-Antwort DONOTCACHEPAGE, DONOTCACHEDB und DONOTCACHEOBJECT (wird von WP Rocket, W3 Total Cache, WP Super Cache und LiteSpeed Cache unterstützt) und gibt explizit Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache sowie der WordPress-Kern nocache_headers() festgelegt. Ein einzelner blockierter Angreifer kann den Seiten-Cache nicht mehr mit einem 403-Fehler belasten, den legitime Besucher andernfalls bis zum Ablauf des Caches erhalten würden.
Filter und Aktions-Hooks
apply_filters('reportedip_hive_external_url', $url, $context)— Ersetzen Sie alle externen URLs (Datenschutzerklärung, Registrierung, FAQ, …).apply_filters('reportedip_hive_rest_bypass_routes', $routes)— die Liste der REST-Routenpräfixe erweitern, die den Burst-Monitor umgehen (Cookie-Banner-Integrationen).apply_filters('reportedip_hive_scan_paths', $paths)— die Liste der Honeypot-Pfade für den Scan-Detektor erweitern.do_action('reportedip_hive_ip_blocked', $ip, $reason)— wird ausgelöst, wenn eine IP-Adresse gesperrt wird.do_action('reportedip_hive_report_queued', $ip, $category)— wird ausgelöst, wenn ein Bericht für die API in die Warteschlange gestellt wird.
Häufig gestellte Fragen
Die Fragen, die uns am häufigsten gestellt werden. Jede Antwort enthält gegebenenfalls einen Link zum entsprechenden Abschnitt weiter oben.
Allgemeines
Was ist Hive und in welcher Beziehung steht es zu ReportedIP?
ReportedIP ist das WordPress-Plugin, das Sie auf Ihrer Website installieren. ReportedIP (reportedip.de) ist der zentrale Dienst, der Bedrohungsinformationen sammelt. Hive kann komplett eigenständig laufen (Local Shield) oder mit dem Dienst kommunizieren (Community Network) – beide sind erstklassige Modi.
Brauche ich ein Konto, um das Plugin zu nutzen?
Nein – Local Shield funktioniert ohne Konto oder API-Schlüssel. Ein kostenloses ReportedIP benötigen Sie nur, wenn Sie das Community-Netzwerk aktivieren möchten, das Reputationsabfragen gegen den Hive ermöglicht und anonymisierte Angriffsmeldungen zurücksendet.
Was kostet das?
Das Plugin selbst ist unter der GPLv2+ kostenlos. Für Local Shield ist kein kostenpflichtiger Tarif erforderlich. Community Network bietet eine kostenlose Stufe; höhere Stufen erhöhen die täglichen Quoten für Überprüfungen und Berichte. Die aktuellen Quoten finden Sie im Dashboard.
Ist das Plugin auf WordPress.org verfügbar?
Es gibt zwei Ausgaben. Hive Light wird auf WordPress.org unter dem Slug veröffentlicht reportedip-hive — Brute-Force-Anmeldeschutz sowie optionale Community-Suche, keine 2FA, kein Upselling. Die Vollversion Die auf dieser Seite aufgeführten Artikel werden versandt über GitHub-Veröffentlichungen mit Ein-Klick-Updates, die vom integrierten Plugin-Update-Checker verwaltet werden. Der Grund für die zwei Editionen: Die Richtlinien von wp.org verbieten Upselling, verwaltete kostenpflichtige Relays und Multisite-Stufensysteme – alles Funktionen, auf die die Full Edition setzt. Siehe die Hive Light – Dokumentation für das von wp.org vertriebene Plugin. Wichtig: Installieren Sie nicht beide Plugins auf derselben Website – sie verwenden dieselbe Textdomain und dasselbe Klassenpräfix.
Wo ist der Quellcode? Kann ich ihn prüfen?
Ja – der vollständige Quellcode ist unter github.reportedip zu finden. Issues, Pull-Anfragen, das CHANGELOG und die CI-Läufe sind alle öffentlich zugänglich.
Installation und Einrichtung
Wie installiere ich das Plugin?
Herunterladen reportedip-hive.zip aus dem neueste GitHub-Version, dann in WordPress: Plugins → Neues hinzufügen → Plugin hochladen, wähle die ZIP-Datei aus, Jetzt installieren, Aktivieren. Der 8-stufige Einrichtungsassistent wird automatisch gestartet.
Ich habe den Einrichtungsassistenten übersprungen – wie kann ich ihn erneut starten?
Einstellungen → ReportedIP → Oben auf der Seite befindet sich der Link „Setup-Assistenten erneut ausführen“. Der Assistent ist nicht destruktiv: Er zeigt die aktuellen Werte als Standardwerte an, sodass Sie Schritt für Schritt durchgehen und nur die erforderlichen Änderungen vornehmen können.
Wie wechsle ich zwischen „Local Shield“ und „Community Network“?
Einstellungen → Verbindung → Betriebsmodus. Beim Wechsel gehen keine Daten verloren. Für den Wechsel zum Community-Netzwerk ist ein gültiger API-Schlüssel erforderlich.
Kann ich Einstellungen von einer anderen Website importieren?
Ja – Einstellungen → Importieren/Exportieren. Der Export erfolgt im JSON-Format, wobei die Upload-Größe auf 512 KB begrenzt ist. API-Schlüssel und 2FA-Geheimnisse werden aus Sicherheitsgründen nicht mit exportiert; alles andere (Schwellenwerte, Ranglisten, Whitelist, „hide-login“-Slug) ist übertragbar.
Wie funktionieren Updates?
Der „Plugin Update Checker“ ab Version 5.6 fragt alle 12 Stunden die GitHub-Releases ab. Neue Versionen werden dort angezeigt. Plugins wie jedes andere Update – Installation mit einem Klick. Das Tag-Format muss vX.Y.Z; der Workflow „release.yml“ überprüft Header, Konstanten und das „stable“-Tag in der README-Datei.
Modi & Sensoren
Was genau wird mit der Community geteilt, wenn ich mich im Community-Netzwerk-Modus befinde?
Drei Angaben pro Angriff: die IP-Adresse des Angreifers, die Bedrohungskategorie (z. B. Brute-Force, Kommentar-Spam, XML-RPC, Scanner) und ein Zeitstempel. Hinzu kommt der API-Schlüssel Ihrer Website, damit der Bericht einem Melder zugeordnet werden kann. Sonst nichts: keine Benutzernamen, keine Passwörter, keine Kommentarinhalte, keine Endnutzerdaten, keine Website-URLs in der Nutzlast.
Welche dreizehn Sensoren gibt es, und kann ich einzelne davon deaktivieren?
Die vollständige Liste und die Standardeinstellungen findest du oben unter „Die dreizehn Angriffssensoren“. Ja – jeder Sensor verfügt unter „Einstellungen“ → „Schutz“ über einen Hauptschalter sowie Regler für Schwellenwert und Zeitrahmen. Du kannst auch einen gesamten Sensor deaktivieren, ohne die übrigen zu beeinträchtigen.
Was ist der „Nur-Anzeige-Modus“?
Das Plugin protokolliert alles, blockiert aber nichts. Das ist nützlich, wenn Sie auf einer stark frequentierten Website Schwellenwerte anpassen und vor der Umstellung sehen möchten, was blockiert worden wäre. Einstellungen → Schutz → Nur-Protokoll-Modus.
Wie funktioniert die progressive Blockeskalation?
Standard-Leiter: 5 Min. → 15 Min. → 30 Min. → 24 Std. → 48 Std. → 7 Tage. Jeder Wiederholungsblock innerhalb des Rücksetzfensters (Standard: 30 Tage) schreitet um einen Schritt voran. Nach 30 Tagen beginnt die bereinigte IP wieder bei Schritt 1. CGNAT und Administratoren mit Tippfehlern sind innerhalb von Minuten wiederhergestellt; hartnäckige Angreifer erreichen 7 Tage. Umschaltbar; fällt auf festgelegte Werte zurück block_duration wenn ausgeschaltet.
Was ist die Funktion „Anmelde-URL ausblenden“?
Es ersetzt /wp-login.php mit einem benutzerdefinierten Slug (3–50 Zeichen; Slugs auf der Sperrliste werden abgelehnt). Alte URLs führen entweder zu einer Hive-Block-Seite oder zu einer Standard-404-Seite – ganz nach Ihrer Wahl. REST-, AJAX-, WP-CLI- und Passwort-Zurücksetzungs-Abläufe werden automatisch umgangen, sodass sie weiterhin funktionieren. Reduziert die Angriffsfläche gegenüber automatisierten Brute-Force-Angriffen drastisch.
Wenn „Anmeldung ausblenden“ aktiviert ist, führen wiederholte direkte Klicks auf das alte /wp-login.php Zugriffe von einer IP-Adresse werden als Scan gewertet und gemäß der Standard-Eskalationsleiter blockiert. Ein einzelner versehentlicher Zugriff bleibt unschädlich – erst ein Muster löst eine Sperre aus. Passen Sie den Schwellenwert an oder deaktivieren Sie die Sperre unter Einstellungen → Anmeldung ausblenden.
2FA
Welche 2FA-Methoden unterstützt Hive?
Viertens: TOTP (RFC 6238 – Google Authenticator, Authy, 1Password, Bitwarden, …), E-Mail-OTP, SMS-OTP (über den verwalteten Relay-Server, Professional-Tarif), WebAuthn (Passkeys, YubiKey, Touch ID, Face ID, Windows Hello). Hinzu kommen Einmal-Wiederherstellungscodes und Token für vertrauenswürdige Geräte.
Kann ich die Zwei-Faktor-Authentifizierung nur für bestimmte Benutzer verpflichten?
Ja – wählen Sie die Rollen unter „Einstellungen“ → „2FA“ → „Vorgeschriebene Rollen“ aus. Für Benutzer mit vorgeschriebenen Rollen wird beim ersten Login ein 5-stufiger Onboarding-Assistent angezeigt, mit einer konfigurierbaren Karenzzeit (standardmäßig 7 Tage), bevor die Sperre greift.
Ich habe mein Handy/meinen Authentifikator verloren – wie kann ich mich wieder anmelden?
Verwenden Sie einen der zehn Wiederherstellungscodes, die Sie bei der Einrichtung der 2FA gespeichert haben. Sollten auch diese verloren gegangen sein, kann ein Administrator die 2FA für jeden Benutzer unter Benutzer → Zwei-Faktor-Authentifizierung. Als allerletzter Ausweg: wp reportedip 2fa reset <user_id> über WP-CLI / SSH.
Wie lange bleibt ein „vertrauenswürdiges Gerät“ vertrauenswürdig?
Konfigurierbar; Standardwert 30 Tage. Das Token ist ein SHA-256-Hash, der gespeichert ist in wp_reportedip_hive_trusted_devices zusammen mit der IP-Adresse und einem Gerätenamen. Der Geo-Anomalie-Sensor kann Tokens für vertrauenswürdige Geräte bei einem Wechsel des Landes oder der ASN automatisch widerrufen.
Funktioniert WebAuthn in allen Browsern?
Aktuelle Versionen von Chrome, Edge, Safari und Firefox unter macOS, Windows, iOS und Android – ja. WebAuthn erfordert HTTPS (oder localhost (für Entwickler). Ältere oder gehärtete Browser ohne WebAuthn greifen automatisch auf TOTP/E-Mail/SMS zurück.
Kann ich die Zwei-Faktor-Authentifizierung in eine Headless- oder mobile App integrieren?
Ja – der REST-Namensraum reportedip-hive/v1 enthüllt POST /2fa/challenge, POST /2fa/verify und GET /2fa/methods. Begrenzung pro IP (20 / 30 / unbegrenzt pro 5-Minuten-Fenster).
Leistung und Kompatibilität
Funktioniert Hive mit WP Rocket / W3 Total Cache / WP Super Cache / LiteSpeed?
Ja – seit Version 1.5.2 enthält die Antwort der gesperrten Seite DONOTCACHEPAGE, DONOTCACHEDB und DONOTCACHEOBJECT sowie explizit Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache und der WordPress-Kern nocache_headers() gesetzt. Ein blockierter Angreifer kann den Seiten-Cache nicht mehr verfälschen.
Funktioniert es hinter Cloudflare?
Ja. Das Plugin liest CF-Connecting-IP zuerst, dann greift auf X-Forwarded-For und REMOTE_ADDR. Fügen Sie die Überwachungs-IPs Ihres Ursprungsservers zur Whitelist hinzu, wenn Sie eine Statusseite über Cloudflare proxyen.
Was ist mit dem WordPress-Block-Editor (Gutenberg), der über 50 REST-Aufrufe auslöst?
Seit Version 1.2.2 wird der globale REST-Burst-Monitor bei angemeldeten Benutzern übersprungen; es werden nur anonyme Bursts gezählt. Die Übereinstimmung des Scanner-Pfads gilt weiterhin (sodass Gutenberg nicht versehentlich .env). Stelle sicher, dass du Version 1.2.2 oder eine neuere Version verwendest.
Wie kann ich die API-Nutzung gering halten?
Der ETag-Cache speichert positive Abfragen standardmäßig 24 Stunden lang und negative Abfragen 2 Stunden lang. Erhöhen Sie beide Werte, wenn Ihre Website wenig frequentiert ist. Das Dashboard zeigt die aktuelle Kontingentauslastung und die Warteschlange an, sodass Sie sehen können, ob Sie das Limit erreichen. Die Cron-gesteuerte Batch-Berichterstellung (alle 15 Minuten) fasst einzelne Ereignisse zusammen.
Wird Hive meine Website verlangsamen?
Die Blockprüfung ist eine einzelne indizierte Abfrage auf wp_reportedip_hive_blocked auf Anfrage, eingehängt an init Priorität 1. Die Whitelist wird pro Anfrage im Arbeitsspeicher zwischengespeichert. Die Überprüfung der Reputation erfolgt asynchron: Zunächst wird die öffentliche Seite gerendert, der Bericht wird in die Warteschlange gestellt und beim nächsten Cron-Tick versendet.
Datenschutz & DSGVO
Ist das Plugin DSGVO-konform?
Ja – Local Shield übermittelt niemals Daten an Dritte, Community Network sendet lediglich die drei oben genannten Felder, User-Agents werden auf 50 Zeichen gekürzt, und IP-Adressen können nach einer konfigurierbaren Anzahl von Tagen automatisch anonymisiert werden. Eine vollständige Übersicht über die Datenverarbeitung finden Sie in unserer Datenschutzerklärung.
Muss ich Hive in meiner eigenen Datenschutzerklärung erwähnen?
Ja, wenn Sie den Community-Network-Modus nutzen – weisen Sie auf die Verwendung von Hive sowie auf die Übermittlung der IP-Adresse, der Kategorie und des Zeitstempels des Angreifers an reportedip.de hin. Wenn Sie nur den Local-Shield-Modus nutzen, findet keine Übermittlung statt, aber Sie verarbeiten dennoch IP-Adressen zu Sicherheitszwecken (Art. 6 Abs. 1 Buchstabe f DSGVO), was in Ihrer Datenschutzerklärung erwähnt werden sollte.
Was passiert mit meinen Daten, wenn ich die App deinstalliere?
Durch die Deinstallation werden alle Daten gelöscht wp_reportedip_hive_* Tabellen und entfernt alle reportedip_hive_* Optionen. Berichte, die sich bereits in der Community-Datenbank befinden, bleiben erhalten – sie sind nicht persönlich mit Ihrer Website verknüpft (lediglich der Hash des API-Schlüssels stellt die Verbindung her).
Anpassung & Erweiterung
Besucher, die das Cookie-Banner bzw. den Einwilligungs-Endpunkt aufrufen, werden blockiert – wie kann ich die Umgehungsliste erweitern?
Seit Version 1.5.0 sind die vier gängigen Namespaces (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) werden standardmäßig umgangen. Für einen benutzerdefinierten Stack fügen Sie den Filter ein:
add_filter('reportedip_hive_rest_bypass_routes', function ($routes) {
$routes[] = '/my-consent-plugin/v1';
return $routes;
});
Wie füge ich dem Scan-Detektor meine eigenen Honeypot-Pfade hinzu?
Haken reportedip_hive_scan_paths:
add_filter('reportedip_hive_scan_paths', function ($paths) {
$paths[] = '/.aws/credentials';
return $paths;
});
Kann ich meinen eigenen E-Mail-Anbieter programmieren?
Ja – umsetzen interface-mail-provider.php für E-Mails und registrieren Sie diese über den E-Mail-Filter (reportedip_hive_mail_provider). SMS werden hingegen ausschließlich über den von reportedip.de verwalteten Relay-Server versendet (ab dem Professional-Tarif); es muss kein selbst gehosteter SMS-Anbieter konfiguriert werden.
Woher stammen die Daten der Frontend-Shortcodes?
Ein 6-Stunden-Zwischenspeicher. Schlüssel: attacks_30d, attacks_total, blocked_active, whitelist_active, logins_30d, spam_30d, api_reports_30d, reports_total. Die Shortcodes rufen die API nicht bei jedem Seitenaufruf auf.
Kontingente, Tarife & Konto
Was beinhaltet die jeweilige Rolle?
Die vollständige Tabelle findest du in der Dokumentation zur Authentifizierung. Kurzfassung: Free (1.000 Prüfungen / 50 Berichte pro Tag), Contributor (5.000 / 200), Professional (25.000 / 1.000), business 100.000 / 5.000), Enterprise (unbegrenzt), Honeypot (unbegrenzt).
Auf dem Dashboard wird ein Rückstand in der Warteschlange angezeigt – was soll ich tun?
Öffnen Sie „Einstellungen“ → „API-Warteschlange“. Die Schaltfläche „Wiederholen“ (Korrektur in Version 1.2.4) löst nun tatsächlich den API-Aufruf aus und setzt nicht nur den Status zurück. Sollten Wiederholungsversuche aufgrund einer Quotenbeschränkung fehlschlagen, erhöhen Sie die Cache-Dauer oder wechseln Sie zu einem höheren Tarif.
Kann ich Hive auf einer Multisite- oder Netzwerkinstallation ausführen?
Ja. Jede Unterseite verfügt über eigene Einstellungen und eigene wp_*_reportedip_hive_* Tabellen. Das API-Schlüssel-Modell gilt standardmäßig pro Unterseite, wodurch die Verfasser voneinander unterschieden werden können.
Fehlerbehebung
Das Plugin blockiert keine IP-Adressen
Überprüfen Sie, ob der „Nur-Bericht“-Modus aktiviert ist – in diesem Modus werden Bedrohungen protokolliert, ohne sie zu blockieren. Vergewissern Sie sich außerdem, dass der Schwellenwert für die Blockierung nicht zu hoch eingestellt ist (Standardwert: 75 %) und dass die automatische Blockierung aktiviert ist (die Dauerstrategie ist deaktiviert, solange die automatische Blockierung ausgeschaltet ist).
API-Verbindungsfehler im Community-Netzwerk-Modus
Stellen Sie sicher, dass Ihr Server ausgehende HTTPS-Anfragen an reportedip.de. Einige Hosts blockieren ausgehende Verbindungen standardmäßig. Überprüfen Sie den API-Schlüssel auf der Dashboard.
Besucher, die das Cookie-Banner ignorieren, werden gesperrt
Seit Version 1.5.0 sind die vier Namespaces von Common Consent (real-cookie-banner, complianz, borlabs-cookie, cookie-law-info) werden standardmäßig umgangen. Wenn Ihr Stack einen anderen Namensraum verwendet, erweitern Sie die Umgehungsliste über die reportedip_hive_rest_bypass_routes Filter.
Legitime Nutzer werden gesperrt
Fügen Sie deren IP-Adressen oder CIDR-Bereiche zur lokalen Whitelist hinzu. IP-Adressen auf der Whitelist werden niemals blockiert, unabhängig von ihrer Reputation.
Hohe API-Auslastung / Keine Überprüfungen mehr verfügbar
Antworten werden standardmäßig 24 Stunden lang lokal zwischengespeichert (mit ETag). Wenn Ihnen die Überprüfungen weiterhin ausgehen, erhöhen Sie cache_duration oder Ihren Tarif upgraden. Überwachen Sie die Warteschlange und das Kontingent auf der Dashboard.
Durch 2FA ausgesperrt
Verwenden Sie einen der bei der Einrichtung der 2FA gespeicherten Wiederherstellungscodes. Sollten diese verloren gegangen sein, kann ein Administrator die 2FA für jeden Benutzer unter Benutzer → Zwei-Faktor-Authentifizierung. Als letztes Mittel: wp reportedip 2fa reset <user_id>.
Der Block-Editor (Gutenberg) wird immer wieder gedrosselt
Der Block-Editor löst innerhalb weniger Sekunden über 50 REST-Aufrufe aus. Seit Version 1.2.2 werden angemeldete Benutzer vom globalen REST-Burst-Monitor nicht mehr erfasst; es werden nur noch anonyme Bursts gezählt. Stelle sicher, dass du Version 1.2.2 oder eine neuere Version verwendest.
DSGVO & Datenschutz
Das Plugin wurde unter Berücksichtigung des Datenschutzes entwickelt und entspricht vollständig der DSGVO.
- „Local Shield“-Modus: Es verlassen keine Daten Ihren Server. Die gesamte Erkennung und Blockierung erfolgt lokal.
- Community-Netzwerkmodus: Es werden lediglich die IP-Adresse des Angreifers, die Bedrohungskategorie und der Zeitstempel weitergegeben. Keine Benutzernamen, keine Passwörter, keine Kommentarinhalte, keine Endnutzerdaten.
- User-Agents werden vor der Speicherung auf 50 Zeichen gekürzt.
- Automatische Bereinigung: Sicherheitsprotokolle werden nach Ablauf der konfigurierten Aufbewahrungsfrist (standardmäßig 30 Tage) gelöscht. Die automatische Anonymisierung greift bereits früher (standardmäßig nach 7 Tagen).
- Verschlüsselung im Ruhezustand: TOTP-Schlüssel, WebAuthn-Anmeldedaten und SMS-Telefonnummern werden mit libsodium (OpenSSL-Fallback) verschlüsselt.
- Kein Tracking: Keine Cookies, keine Tracking-Pixel, keine Telemetrie.
- Open Source: Der vollständige Quellcode ist auf GitHub veröffentlicht – jede Zeile ist überprüfbar.
Die wichtigsten Neuerungen
- 2.0.x — Netzwerkweite Aktivierung an mehreren Standorten (
Network: true), Verwaltung der Stufen pro Blog, Banner für Stufen-Upgrades, verbesserte Überwachung von App-Passwörtern und geografischen Anomalien, 2FA im WooCommerce-Frontend ab PRO+. - 1.5.2 — Kompatibilität des Cache-Plugins auf der 403-Seite; die 2FA-Drosselung wird zu einer echten Eskalationssperre;
initPriorität 1. - 1.5.1 – Übersichtlichkeit der Blockierungsregisterkarten (Nur-Bericht > Automatische Blockierung > Dauer-Strategie); Editoren für feste Länge und Leiter-Editoren tauschen ihre Positionen.
- 1.5.0 – Schrittweise Eskalation der Sperrdauer (von 5 Minuten auf 7 Tage); Cookie-Banner-Endpunkte werden standardmäßig umgangen; die Standardwerte für 404-Fehler und Kommentar-Spam wurden gelockert.
- 1.2.4 – Die Schaltfläche „Erneut versuchen“ in der API-Warteschlange löst nun tatsächlich den API-Aufruf aus.
- 1.2.0 – Sieben neue Sensoren: App-Passwort-Überwachung, REST-Burst-Überwachung, Blockierung von Benutzer-Enumeration, 404/Scan-Detektor, Geo-Anomalie, Passwortstärke, Ausblenden der Login-URL.
- 1.1.0 – Zentraler E-Mail-Versand mit Markenvorlage.
- 1.0.0 – Erste öffentliche Version: IP-Sperrung, 2-Faktor-Authentifizierung mit vier Methoden, Einrichtungsassistent, Listentabellen.
Vollständiger Verlauf: CHANGELOG.md auf GitHub.