描述
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 wordpress.org) 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.wordpress.org (opt-in)
Wenn Du im Welcome-Wizard oder in den Einstellungen „Versions-Abgleich erlauben” aktivierst, fragt Bastora bei einem manuellen Scan die api.wordpress.org nach:
- der aktuellen WordPress-Core-Version:
https://api.wordpress.org/core/version-check/1.7/ - pro erkennbarem Plugin nach dessen letztem Update-Datum:
https://api.wordpress.org/plugins/info/1.0/<slug>.json - pro erkennbarem Theme nach dessen letztem Update-Datum:
https://api.wordpress.org/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
屏幕截图




安装
- 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.
常见问题
-
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.wordpress.org (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.
评价
此插件暂无评价。
贡献者及开发者
更新日志
0.2.3
- Plugin-Header-Beschreibung und readme.txt auf Deutsch übersetzt — Plugin-Listing-Seite auf wordpress.org 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.wordpress.org 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
