Description
Bastora ist ein ehrlicher WordPress-Sicherheits-Check. Statt tausend Schalter ohne Erklärung prüft Bastora Deine Installation gegen einen festen Katalog aus 52 Sicherheitspunkten und zeigt Dir das Ergebnis als Klartext-Ampel direkt in Deinem Dashboard.
Bastora unterscheidet sich von anderen Sicherheits-Plugins in drei Punkten:
- Ehrliche Außensicht. Bastora prüft Deine Seite so, wie ein Bot sie sieht: Versionslecks im HTML, offene Verzeichnis-Listen, fehlende Security-Header, sichtbare Endpoints. Die meisten anderen Plugins prüfen nur ihre eigene Konfiguration.
- Konflikt-erkennende Auto-Härtung. Härtungen sind ab Werk aktiv. Bastora prüft, ob ein anderes Sicherheits-Plugin (Wordfence, Solid Security, AIOS, Limit Login Attempts und andere) denselben Punkt schon übernimmt, und tritt elegant zur Seite, statt einen Konflikt zu bauen.
- Null Konfiguration. Installieren, aktivieren, einmal „Sicherheitsprüfung starten” klicken, fertig. Bastora richtet sich selbst ein.
Was Bastora prüft
- Zugangssicherheit (11 Punkte): HTTPS-Login, Brute-Force-Schutz, Salt-Keys, geteilte Konten, Login-Verhalten
- Systemabsicherung (10 Punkte): Datei-Editor, Verzeichnis-Listings, wp-config-Sperre, Debug-Modus, Dateirechte, Revisionen
- Informationsschutz (10 Punkte): Generator-Tag, RSD-Link, WLW-Manifest, XML-RPC, REST-API-Benutzer, Pingbacks, X-Powered-By
- Security-Header (5 Punkte): X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, HSTS
- Pingbacks (2 Punkte): ausgehende und eingehende Pingbacks
- Auto-Updates (7 Punkte): nächtlicher Schutz, Minor-/Major-Auto-Updates, Plugin-/Theme-Auto-Updates, verwaiste Erweiterungen
- Monitoring und Betrieb (7 Punkte): Transients, Revisions-Cleanup, Captcha, WordPress-Version, PHP-Version, /uploads/-PHP-Sperre, Sicherheits-Plugin-Status
Was Bastora härtet (wenn kein Konflikt erkannt wird)
- WordPress-Version aus HTML und RSS-Feed entfernt
- RSD-Link und WLW-Manifest entfernt
- Login-Shake-Effekt deaktiviert
- Login-Fehlermeldung verallgemeinert (verrät nicht mehr, welche Benutzer existieren)
- Author-Seiten umgeleitet (verhindert das Aufzählen von Benutzernamen)
- XML-RPC abgeschaltet (außer ein konkurrierendes Plugin übernimmt das schon)
- Pingback-XML-RPC-Methoden gesperrt
- REST-API-Endpoint /users für nicht eingeloggte Anfragen gesperrt
- Application Passwords deaktiviert
- Login-Honeypot: verstecktes Formularfeld in der Login-Maske, das Bots ausfüllen und sich damit als Bot zu erkennen geben
- Brute-Force-Schutz mit IP-Sperre: 5 Fehlversuche 30 Minuten Sperre. Bei wiederholten Sperren: Eskalation auf 4 Stunden, dann 24 Stunden. Zähler setzt sich nach erfolgreichem Login zurück. IPv6 wird auf dem /64-Präfix gesperrt. Cloudflare- und Reverse-Proxy-IP-Erkennung ist eingebaut.
Konflikt-erkennend
Wenn eines der folgenden Plugins schon läuft, erkennt Bastora das und deaktiviert nur die überlappenden Bereiche:
- Wordfence Security
- Sucuri Security
- Solid Security (früher iThemes)
- All-In-One WP Security & Firewall
- MalCare Security
- WP Cerber Security
- Limit Login Attempts Reloaded
- Disable XML-RPC
- Disable Application Passwords
- Really Simple SSL
- HTTP Headers
Im Dashboard siehst Du pro Härtung im Klartext, warum sie aktiv oder inaktiv ist.
Was Bastora bewusst **nicht** macht
- Kein erzwungenes TOTP. Solopreneure sperren sich regelmäßig mit Authenticator-Apps aus. Bastora setzt stattdessen auf Brute-Force-Schutz, Rate-Limit und Anomalie-Erkennung.
- Kein Verstecken der Login-URL. Eine umbenannte Login-URL macht den Passwort-Reset-Link in der Mail kaputt, sobald das Plugin deaktiviert wird. Rate-Limit plus Honeypot ist die saubere Lösung.
- Keine Cloud-Verbindung ohne Zustimmung. Alle externen Verbindungen (auch Versions-Abgleich gegen ww.wp.xz.cn) sind ab Werk aus. Sie schalten sich erst ein, wenn Du sie im Welcome-Wizard oder in den Einstellungen ausdrücklich freigibst.
Optionale anonyme Statistik (geplant, in dieser Version noch nicht aktiv)
Eine künftige Plugin-Version wird optionale anonyme Sicherheits-Telemetrie an bastora.de anbieten. In dieser Plugin-Version wird keine Telemetrie gesendet. Der Opt-in-Schalter speichert nur Deine Zustimmung für ein späteres Release. Wenn die Versand-Pipeline später live geht, würden ausschließlich folgende anonymisierten technischen Werte übertragen:
- WordPress-, PHP- und MySQL-Versions-Strings
- Locale (zum Beispiel de_DE)
- Liste der installierten Plugin-Slugs (ohne Versionen)
- Audit-Ergebnisse (welche der 52 Punkte sind rot, gelb, grün)
- Eine zufällige anonyme Site-ID (UUID), lokal beim ersten Plugin-Start erzeugt
Was nie übertragen würde: Domain, URL, IP-Adressen, E-Mail-Adressen, Benutzernamen, Beitragsinhalte, Dateiinhalte.
Privacy
Externe Verbindungen
Bastora kontaktiert externe Server in zwei klar getrennten Fällen. Beide sind opt-in. Ab Werk macht das Plugin keine externen Verbindungen.
1. Versions-Abgleich gegen api.ww.wp.xz.cn (opt-in)
Wenn Du im Welcome-Wizard oder in den Einstellungen „Versions-Abgleich erlauben” aktivierst, fragt Bastora bei einem manuellen Scan die api.ww.wp.xz.cn nach:
- der aktuellen WordPress-Core-Version:
https://api.ww.wp.xz.cn/core/version-check/1.7/ - pro erkennbarem Plugin nach dessen letztem Update-Datum:
https://api.ww.wp.xz.cn/plugins/info/1.0/<slug>.json - pro erkennbarem Theme nach dessen letztem Update-Datum:
https://api.ww.wp.xz.cn/themes/info/1.2/?action=theme_information&request[slug]=<slug>
Das ist dieselbe API, die WordPress selbst für seine eigenen Update-Checks nutzt. Übertragen wird nur der Slug pro Plugin oder Theme. Keine Domain, keine Nutzerdaten, keine Besucher-IP. Die Abfragen laufen nur bei manuellem Klick auf den Scan-Button, nie automatisch im Hintergrund. Antworten werden 24 Stunden zwischengespeichert.
Wenn Du diesen Punkt nicht aktivierst, werden die update-relevanten Audit-Punkte als „nicht prüfbar” markiert und es geht keine Anfrage raus.
2. Anonyme Telemetrie an bastora.de (geplant, in dieser Version nicht aktiv)
Eine künftige Plugin-Version soll optionale anonymisierte Telemetrie an bastora.de anbieten. In dieser Plugin-Version ist diese Pipeline nicht implementiert — kein wp_remote_post, kein Payload, keine Übertragung an bastora.de findet im Code statt. Der Opt-in-Schalter in den Einstellungen speichert nur Deine Zustimmung für ein späteres Release.
Wenn die Versand-Pipeline in einem späteren Release live geht, würden die folgenden anonymisierten Werte übertragen:
- WordPress-, PHP- und MySQL-Versions-Strings
- Locale-Code (zum Beispiel de_DE)
- Liste der installierten Plugin-Slugs (ohne Versionen)
- Theme-Slug des aktiven Themes
- Audit-Ergebnisse: pro Sicherheitspunkt der Status (passed / warning / failed)
- Eine zufällige anonyme Site-ID (UUID), lokal beim ersten Plugin-Start erzeugt
Was nie übertragen würde: Domain, URL, IP-Adressen, E-Mail-Adressen, Benutzernamen, Beitragsinhalte, Dateiinhalte, Datenbankinhalte.
Datenschutzhinweis
Vollständige Datenschutzerklärung: https://bastora.de/datenschutz.php
Verantwortliche Stelle laut Impressum: https://bastora.de/impressum.php
Screenshots




Installation
- Installiere das Plugin aus dem WordPress-Plugin-Verzeichnis oder lade den ZIP-Ordner nach
/wp-content/plugins/. - Aktiviere das Plugin im Menü „Plugins”.
- Öffne das neue Menü „Bastora” und klicke einmal auf „Sicherheitsprüfung starten”.
Mehr ist nicht zu tun. Bastora richtet sich selbst ein.
FAQ
-
Brauche ich technisches Wissen, um Bastora zu nutzen?
-
Nein. Bastora braucht keine Konfiguration. Installieren, aktivieren, scannen — fertig.
-
Funktioniert Bastora neben Wordfence/Sucuri/Solid Security?
-
Ja. Bastora erkennt diese Plugins beim Aktivieren und tritt in den überlappenden Bereichen zur Seite. Das Dashboard zeigt Dir, welche Härtungen wegen eines Konflikts inaktiv sind.
-
Überträgt das Plugin Daten von meiner Seite?
-
Ab Werk nichts. Die einzigen externen Verbindungen, die diese Version macht, sind opt-in-Versions-Abgleiche gegen api.ww.wp.xz.cn (nur der Slug, keine Domain, keine Nutzerdaten). Die anonyme Statistik-Pipeline an bastora.de ist in dieser Version nicht aktiv — der Opt-in-Schalter in den Einstellungen speichert nur Deine Zustimmung für ein späteres Release.
-
Wie nehme ich die Statistik-Zustimmung wieder zurück?
-
Bastora Einstellungen Haken bei „Zustimmung vormerken” raus speichern. Da in dieser Plugin-Version keine Daten gesendet werden, löscht das Zurücknehmen einfach die gespeicherte Zustimmung.
-
Wo werden die Daten gespeichert?
-
Auf deutschen Servern. Bastora arbeitet ausschließlich mit einem deutschen Hoster.
-
Was passiert, wenn ich Bastora deinstalliere?
-
Bei normaler Deaktivierung bleiben die Bastora-Einstellungen erhalten. Wenn Du das Plugin per „Löschen” entfernst, werden alle Einstellungen, Audit-Berichte und Site-IDs gelöscht. Härtungen werden automatisch zurückgerollt.
-
Wann kommt der gedruckte Bericht?
-
In einer der nächsten Plugin-Versionen. Ab 0.1.0 steht der Bericht als HTML direkt im Dashboard zur Verfügung.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Bastora Security Audit” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Bastora Security Audit” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.2.3
- Plugin-Header-Beschreibung und readme.txt auf Deutsch übersetzt — Plugin-Listing-Seite auf ww.wp.xz.cn ist damit für die deutsche Zielgruppe lesbar.
- Screenshots-Sektion wieder aufgenommen, vier Bilder ergänzt (Scan-Start, Scan-Ergebnis, Härtung scharf schalten, Dashboard).
- Plugin-Assets (Icon, Banner) im WP.org-Plugin-Verzeichnis aktualisiert.
0.2.2
- Plugin Review Team feedback: all paid-tier markers removed. The dead
premium_only_ids()list, the dashboard upsell block, the report’s premium section and the wizard’s paid-service step are gone. The wizard now has three steps (opt-in scan activation). No more references to a paid tier inside the plugin code, the admin UI or the printable report. - Conflict-check marker constant renamed from
BASTORA_PRO_SECURITY_LAYER_VERSIONtoBASTORA_MANAGED_LAYER_VERSION(neutral naming, no Pro/Premium connotation). - readme.txt: paid-service section removed.
- Telemetry consistency: the opt-in toggle in the welcome wizard and in settings now clearly states that the bastora.de sender pipeline is not active in this plugin version, the toggle only records consent for a future release. readme.txt Privacy section aligned to match.
- Scanner:
check_monitor_03(captcha plugins detection) andcheck_monitor_07(security plugin detection) now readactive_pluginsdirectly from the option instead of loadingwp-admin/includes/plugin.php. One lessrequire_onceof a core file.
0.2.1
- Plugin-Name auf „Bastora Security Audit” gekürzt (deckungsgleich mit dem Slug, kein Sonderzeichen im Header).
Donate linkausreadme.txtentfernt (verwies auf die Produktseite, keine echte Spenden-URL).== Screenshots ==-Sektion temporär ausreadme.txtentfernt. Wird wieder aufgenommen, sobald die Bilder im WordPress-Assets-Verzeichnis liegen.- MU-Plugin-Konflikt-Check liest jetzt zusätzlich eine Marker-Konstante. Quellcode-Kommentar produktneutral formuliert.
0.2.0
- Neuer Onboarding-Wizard mit schrittweiser Aktivierung der Härtungen plus Vorher-Nachher-Vergleich.
- Härtungen werden erst nach dem ersten Klick auf „Jetzt absichern” im Wizard scharf geschaltet. Davor läuft das Plugin im reinen Mess-Modus.
- Bisheriges Welcome-Banner mit Zwei-Häkchen-Block durch den Wizard ersetzt.
0.1.6
- Plugin Review Team-Feedback:
Author URIaus dem Plugin-Header entfernt, da identisch mitPlugin URI. Nur noch eine URI im Header.
0.1.5
- Welcome-Banner und Bericht: Inline-
onclick-Handler durch enqueued JavaScript ersetzt (assets/admin.js,assets/js/report.js). - Inline-
style-Attribute im Welcome-Banner und im Login-Honeypot in Utility-Klassen (assets/admin.css,assets/css/login-honeypot.css) ausgelagert. - Menü-Icon nutzt jetzt das WordPress-Standard-Dashicon
dashicons-shieldstatt einesbase64-Inline-SVG. $_POST-Werte im Welcome- und Settings-Handler durchlaufen jetzt zusätzlichwp_unslash+sanitize_text_field, auch wenn sie nur als Bool genutzt werden.- Plugin-Header um
Author URIundDomain Pathergänzt.
0.1.4
- Konflikt-Check liest die aktiven Plugins direkt aus der
active_plugins-Option und lädtwp-admin/includes/plugin.phpnicht mehr unnötig. Vermeidet einenrequire_onceohne unmittelbar folgenden Funktions-Aufruf.
0.1.3
- Konflikt-Check erkennt jetzt auch MU-Plugin-basierte Sicherheits-Schichten (Marker-Konstanten/Funktionen). Plugin zieht sich automatisch in den überlappenden Bereichen zurück (XML-RPC, REST users, Security Headers, Brute-Force, Honeypot, Application Passwords), damit Filter nicht doppelt feuern und der Bastora-Honeypot auf Whitelabel-Sites unsichtbar bleibt.
0.1.2
- External version-check calls to api.ww.wp.xz.cn are now opt-in by default. Welcome banner uses two separate checkboxes (external calls + anonymous statistics), each independently toggleable in the settings page.
- Update-related audit points (update.06, update.07, monitor.04) report “not checkable” when the user has not enabled external calls.
- Privacy section in readme.txt expanded with the exact endpoint URLs and opt-in mechanics.
0.1.1
- Text domain aligned with plugin slug (bastora-security-audit)
- Printable report CSS moved from inline style to enqueued stylesheet
- Contributors list corrected to plugin author account
0.1.0
- Initial release
- Scanner covering all 52 audit points
- 11 conflict-aware filter hardenings
- Conflict detection for 13 known security plugins
- Admin dashboard with status card, findings list and hardening overview
