{"id":316373,"date":"2026-06-10T20:24:18","date_gmt":"2026-06-10T20:24:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bastora-security-audit\/"},"modified":"2026-10-27T06:21:58","modified_gmt":"2026-10-27T06:21:58","slug":"bastora-security-audit","status":"publish","type":"plugin","link":"https:\/\/am.wordpress.org\/plugins\/bastora-security-audit\/","author":22020153,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.17","stable_tag":"2.3.17","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Bastora Security Audit","header_author":"Bastora","header_description":"Honest 52-point security audit for WordPress. Hardens login, server configuration, version leaks and security headers without conflicts.","assets_banners_color":"c3c8c6","last_updated":"2026-10-27 06:21:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.bastora.de\/","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":70,"downloads":8221,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"mathiasva","date":"2026-06-10 20:23:57","revision":3568039},"0.2.3":{"tag":"0.2.3","author":"mathiasva","date":"2026-06-10 21:17:06","revision":3568090},"0.2.4":{"tag":"0.2.4","author":"mathiasva","date":"2026-06-11 12:20:59","revision":3568819},"0.2.5":{"tag":"0.2.5","author":"mathiasva","date":"2026-06-11 12:37:00","revision":3568836},"0.2.6":{"tag":"0.2.6","author":"mathiasva","date":"2026-06-11 13:01:42","revision":3568863},"0.2.7":{"tag":"0.2.7","author":"mathiasva","date":"2026-06-11 19:11:54","revision":3569303},"0.2.9":{"tag":"0.2.9","author":"mathiasva","date":"2026-06-15 07:16:07","revision":3572508},"0.3.0":{"tag":"0.3.0","author":"mathiasva","date":"2026-06-22 11:06:42","revision":3581662},"1.2.5":{"tag":"1.2.5","author":"mathiasva","date":"2026-06-30 10:01:56","revision":3591233},"1.2.7":{"tag":"1.2.7","author":"mathiasva","date":"2026-07-07 10:10:45","revision":3598833},"1.2.8":{"tag":"1.2.8","author":"mathiasva","date":"2026-07-07 19:32:09","revision":3599535},"1.2.9":{"tag":"1.2.9","author":"mathiasva","date":"2026-07-08 21:16:41","revision":3600801},"1.3.0":{"tag":"1.3.0","author":"mathiasva","date":"2026-07-10 08:32:53","revision":3602448},"1.3.6":{"tag":"1.3.6","author":"mathiasva","date":"2026-07-11 22:23:45","revision":3604345},"1.3.8":{"tag":"1.3.8","author":"mathiasva","date":"2026-07-14 14:22:12","revision":3607629},"1.4.6":{"tag":"1.4.6","author":"mathiasva","date":"2026-07-18 13:48:10","revision":3612641},"1.4.7":{"tag":"1.4.7","author":"mathiasva","date":"2026-07-21 20:46:54","revision":3617690},"1.4.9":{"tag":"1.4.9","author":"mathiasva","date":"2026-07-30 19:26:26","revision":3629057},"1.5.1":{"tag":"1.5.1","author":"mathiasva","date":"2026-07-31 09:30:54","revision":3629755},"1.5.3":{"tag":"1.5.3","author":"mathiasva","date":"2026-08-02 20:50:08","revision":3632087},"1.5.4":{"tag":"1.5.4","author":"mathiasva","date":"2026-08-03 20:46:23","revision":3633448},"1.6.0":{"tag":"1.6.0","author":"mathiasva","date":"2026-08-07 08:33:44","revision":3637594},"1.7.0":{"tag":"1.7.0","author":"mathiasva","date":"2026-08-10 19:26:19","revision":3641040},"1.7.1":{"tag":"1.7.1","author":"mathiasva","date":"2026-08-24 18:20:41","revision":3664092},"1.9.0":{"tag":"1.9.0","author":"mathiasva","date":"2026-08-28 16:50:08","revision":3670694},"1.9.1":{"tag":"1.9.1","author":"mathiasva","date":"2026-08-31 12:46:10","revision":3674230},"1.9.2":{"tag":"1.9.2","author":"mathiasva","date":"2026-09-01 08:42:41","revision":3675674},"2.0.0":{"tag":"2.0.0","author":"mathiasva","date":"2026-09-09 09:45:59","revision":3688037},"2.1.0":{"tag":"2.1.0","author":"mathiasva","date":"2026-09-11 10:23:25","revision":3691198},"2.1.1":{"tag":"2.1.1","author":"mathiasva","date":"2026-09-14 21:12:20","revision":3695943},"2.2.0":{"tag":"2.2.0","author":"mathiasva","date":"2026-09-25 18:28:51","revision":3713430},"2.2.4":{"tag":"2.2.4","author":"mathiasva","date":"2026-09-30 18:28:40","revision":3721842},"2.2.8":{"tag":"2.2.8","author":"mathiasva","date":"2026-10-10 08:08:04","revision":3737742},"2.3.15":{"tag":"2.3.15","author":"mathiasva","date":"2026-10-21 14:59:34","revision":3758598},"2.3.17":{"tag":"2.3.17","author":"mathiasva","date":"2026-10-27 06:21:58","revision":3767845}},"upgrade_notice":{"2.3.17":"<p>Gekaufte Plugins und Themes gleicht Bastora jetzt mit anderen Bastora-Websites ab, gepackte Plugin-Einstellungen l\u00f6sen keinen Fehlalarm mehr aus.<\/p>","2.3.15":"<p>Die PHP-Warnung nennt jetzt die sichere Mindestversion 8.2.35.<\/p>","2.3.14":"<p>Dringend empfohlen. Bastora warnt Dich vor der aktuell angegriffenen L\u00fccke in PHP und zeigt Dir, ob Deine PHP-Version aktualisiert werden sollte.<\/p>","2.3.13":"<p>Medien-Uploads (Bild, PDF, Video) \u00fcber App und REST-Schnittstelle mit Anwendungspasswort laufen durch, als Bild getarnter Schadcode f\u00e4llt beim Hochladen und bei der Dateipr\u00fcfung auf. Sehr gro\u00dfe Anfragen ohne Anmeldung weist die Firewall sofort ab.<\/p>","2.3.6":"<p>Die Nachfrage zur Sicherheitsforschung nennt jetzt genau, was dazugekommen ist: die einmalige Abschaltmeldung. Deine bisherige Zustimmung gilt weiter.<\/p>","2.3.4":"<p>Neuer Bereich \u201eCRA\u201c mit St\u00fcckliste (als JSON und PDF, Dateiname mit Domain), Nutzerinformation und Meldeweg an einem Ort. Automatische Aktualisierung von Bastora jetzt mit Schalter in den Einstellungen.<\/p>","2.3.0":"<p>Empfohlen. Die Schwarm-Sperrliste ist signiert gepr\u00fcft, eine St\u00fcckliste (SBOM) steht zum Download bereit, und der Unterst\u00fctzungszeitraum ist ausgewiesen.<\/p>","2.2.10":"<p>Empfohlen. Enth\u00e4lt alle Verbesserungen aus 2.2.9: st\u00e4rkere Firewall und Schadcode-Erkennung, Dein eigener Zugang bleibt auch unter Beschuss offen. Dazu meldet Bastora mit Deiner Zustimmung zuverl\u00e4ssig, wenn es abgeschaltet wird.<\/p>","2.2.9":"<p>Empfohlen. Firewall und Schadcode-Erkennung verst\u00e4rkt, Dein eigener Zugang bleibt auch unter Beschuss offen, und der Schutz-Schwarm l\u00e4sst sich aus Bastora Zentral schalten.<\/p>","2.2.8":"<p>Empfohlen. Weniger Fehlalarme beim Abgleich mit wordpress.org und in der Datenbank, keine R\u00fccksetzung ohne Beleg, entfernte Plugins werden erkannt, die Einwilligung zur Sicherheitsforschung gilt f\u00fcr einen klaren Zweck, und die Pr\u00fcfung auf Schad-Links braucht kaum Arbeitsspeicher.<\/p>","2.2.4":"<p>Neu: die IP-Adresse Whitelist mit Bezeichnung und Befristung, dazu bekannte Ger\u00e4te. Das B\u00fcro und Deine eigenen Ger\u00e4te sperrt Bastora nie mehr aus, und eine Sperre ist beim Anmelden klar zu erkennen.<\/p>","2.2.0":"<p>Empfohlen. Bastora w\u00e4gt jede Auff\u00e4lligkeit gegen die Lage der Website ab, bevor es meldet oder eingreift: Updates, Umz\u00fcge, Sicherungskopien und Originaldateien flie\u00dfen in das Urteil ein.<\/p>","2.1.2":"<p>Behebt die ausgefallene Nachfrage beim Abschalten des Plugins.<\/p>","2.1.1":"<p>Wichtiges Update. Bastora hat bezahlte Erweiterungen gegen das kostenlose Paket auf wordpress.org gemessen und ihre Dateien f\u00fcr ver\u00e4ndert gehalten. Wer daraufhin auf &quot;Dateien reparieren&quot; geklickt hat, bekam die kostenlose Fassung zur\u00fcckgeschrieben. Das passiert nicht mehr: Bastora erkennt solche Pakete und l\u00e4sst sie in Ruhe.<\/p>","2.1.0":"<p>Neu: Bastora r\u00e4umt Spam-Kommentare endg\u00fcltig weg und kann die Kommentarfunktion schlie\u00dfen, ganz oder nur dort, wo noch keine Kommentare stehen. Jede Seite bleibt einzeln entscheidbar, vorhandene Kommentare bleiben sichtbar, und der Weg zur\u00fcck steht in den Einstellungen. Die Bot-Abweisung greift jetzt schon vor dem Start von WordPress; daf\u00fcr tr\u00e4gt Bastora eine Regel in die Serverkonfiguration ein, die beim Abschalten wieder verschwindet.<\/p>","2.0.0":"<p>Bastora sieht jetzt auch dort nach, wo ein Dateiscanner nicht hinkommt: gepackte Nutzlasten in der Datenbank, Ausl\u00f6ser, die selbstt\u00e4tig ein Administrator-Konto anlegen, und versteckte Konten, die in der Benutzerliste fehlen. Hochgeladene Dateien mit ausf\u00fchrbarem Code werden abgewiesen, bevor sie im Verzeichnis landen.<\/p>","1.9.1":"<p>Behebt eine Falschmeldung, die regul\u00e4re Administrator-Konten als untergeschoben meldete. Neu beurteilt Bastora die Umst\u00e4nde einer Konto-Anlage und einer Anmeldung und greift bei klarer Lage selbst ein, statt zu fragen. Rollen mit weitreichenden Rechten werden nur noch bei \u00c4nderungen gemeldet.<\/p>","1.9.0":"<p>Grundschutz greift ab der Aktivierung, die Firewall pr\u00fcft den kompletten Aufruf, Scanner und unerw\u00fcnschte Bots sperren sich selbst aus, und die Datenbank wird t\u00e4glich im Hintergrund gepr\u00fcft. Aus der bisherigen anonymen Statistik wird die Einwilligung zur Sicherheitsforschung: gleicher Schalter, klarerer Zweck, neue Angaben erst nach R\u00fcckfrage.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3568084,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3568084,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3568084,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3568084,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.9","0.3.0","1.2.5","1.2.7","1.2.8","1.2.9","1.3.0","1.3.6","1.3.8","1.4.6","1.4.7","1.4.9","1.5.1","1.5.3","1.5.4","1.6.0","1.7.0","1.7.1","1.9.0","1.9.1","1.9.2","2.0.0","2.1.0","2.1.1","2.2.0","2.2.4","2.2.8","2.3.15","2.3.17"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3568084,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3568084,"resolution":"2","location":"assets","locale":"","width":1280,"height":720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3568084,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3568084,"resolution":"4","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"Der erste Scan startet, Bastora pr\u00fcft 62 Sicherheitspunkte in etwa 25 Sekunden.","2":"Ergebnis des ersten Scans: Score plus klare Aufteilung in bestanden, Hinweise und offene Punkte.","3":"Bastora schaltet die H\u00e4rtungen scharf, wo ein anderes Sicherheits-Plugin schon zust\u00e4ndig ist, l\u00e4sst Bastora die Hand davon.","4":"Das Dashboard nach Aktivierung: aktueller Sicherheits-Score und jeder Pr\u00fcfpunkt mit Klartext-Erkl\u00e4rung."}},"plugin_section":[262246],"plugin_tags":[2439,1174,31093,1184,600],"plugin_category":[38,54],"plugin_contributors":[266569],"plugin_business_model":[],"class_list":["post-316373","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-brute-force","plugin_tags-firewall","plugin_tags-hardening","plugin_tags-malware","plugin_tags-security","plugin_category-authentication","plugin_category-security-and-spam-protection","plugin_contributors-mathiasva","plugin_committers-mathiasva"],"banners":{"banner":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/banner-772x250.png?rev=3568084","banner_2x":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/banner-1544x500.png?rev=3568084","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/icon-128x128.png?rev=3568084","icon_2x":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/icon-256x256.png?rev=3568084","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/screenshot-1.png?rev=3568084","caption":"Der erste Scan startet, Bastora pr\u00fcft 62 Sicherheitspunkte in etwa 25 Sekunden."},{"src":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/screenshot-2.png?rev=3568084","caption":"Ergebnis des ersten Scans: Score plus klare Aufteilung in bestanden, Hinweise und offene Punkte."},{"src":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/screenshot-3.png?rev=3568084","caption":"Bastora schaltet die H\u00e4rtungen scharf, wo ein anderes Sicherheits-Plugin schon zust\u00e4ndig ist, l\u00e4sst Bastora die Hand davon."},{"src":"https:\/\/ps.w.org\/bastora-security-audit\/assets\/screenshot-4.png?rev=3568084","caption":"Das Dashboard nach Aktivierung: aktueller Sicherheits-Score und jeder Pr\u00fcfpunkt mit Klartext-Erkl\u00e4rung."}],"raw_content":"<!--section=description-->\n<p><strong>Bastora<\/strong> pr\u00fcft Deine WordPress-Installation gegen einen festen Katalog aus <strong>62 Sicherheitspunkten<\/strong>, h\u00e4rtet sie automatisch und wehrt laufende Angriffe ab. Installieren, aktivieren, einmal \u201eSicherheitspr\u00fcfung starten\" klicken. Mehr ist nicht zu tun.<\/p>\n\n<p>Drei Dinge macht Bastora anders:<\/p>\n\n<ol>\n<li><strong>Ehrliche Au\u00dfensicht.<\/strong> Bastora pr\u00fcft Deine Seite so, wie ein Bot sie sieht: Versionslecks im HTML, offene Verzeichnisse, fehlende Security-Header, sichtbare Endpoints. Die meisten anderen Plugins pr\u00fcfen nur ihre eigene Konfiguration.<\/li>\n<li><strong>Konflikt-erkennend.<\/strong> L\u00e4uft schon Wordfence, Sucuri, Solid Security, All-In-One WP Security, MalCare, WP Cerber, Limit Login Attempts, Really Simple SSL oder ein vergleichbares Plugin, tritt Bastora in den \u00fcberlappenden Bereichen zur Seite, statt einen Konflikt zu bauen. Im Dashboard steht pro H\u00e4rtung im Klartext, warum sie aktiv oder inaktiv ist.<\/li>\n<li><strong>Null Konfiguration.<\/strong> H\u00e4rtungen sind ab Werk aktiv, jede Verbindung nach au\u00dfen ist ab Werk aus.<\/li>\n<\/ol>\n\n<h4>Was Bastora tut<\/h4>\n\n<ul>\n<li><strong>Firewall.<\/strong> Pr\u00fcft den ganzen Aufruf: Adresszeile, Formulardaten, Roh-Inhalt, hochgeladene Dateien und Kopfzeilen. Die Regeln gegen kritische L\u00fccken im WordPress-Kern greifen in jedem Modus.<\/li>\n<li><strong>Login-Schutz.<\/strong> Fehlversuche z\u00e4hlen je Adresse, je Konto und f\u00fcr die ganze Website: f\u00fcnf Fehlversuche sperren 30 Minuten, bei Wiederholung 4 und dann 24 Stunden. Dazu Honeypot, ein einmal g\u00fcltiges Sicherheitswort im Formular und eine Rechenaufgabe, wenn es eng wird. Cloudflare- und Proxy-IPs werden korrekt erkannt, IPv6 auf dem \/64-Pr\u00e4fix gesperrt. Feste Adressen wie das B\u00fcro stehen auf einer Whitelist, bekannte Ger\u00e4te werden nie ausgesperrt.<\/li>\n<li><strong>Datei-Wache mit Auto-Reparatur.<\/strong> T\u00e4glicher Abgleich von Kern, Plugins und Themes gegen die Originale auf wordpress.org. Manipulierte Kerndateien ersetzt Bastora nach doppelter Hash-Pr\u00fcfung selbst, die vorgefundene Fassung wandert in die Quarant\u00e4ne.<\/li>\n<li><strong>Schadcode-Scanner.<\/strong> PHP, JavaScript, HTML und Server-Regeldateien, alle vier Stunden, neue und ge\u00e4nderte Dateien zuerst. Ein Fund nennt Plugin oder Theme beim Namen, dazu Pfad und Zeile.<\/li>\n<li><strong>Bot- und Scanner-Abwehr.<\/strong> Wer Adressen abfragt, die es auf einer WordPress-Website nie gibt, sperrt sich selbst aus. Das Dashboard zeigt, wie viel Deines Bot-Verkehrs von Marktforschungs-Crawlern und KI-Sammlern kommt, und weist sie auf Klick ab. Suchmaschinen und Linkvorschauen bleiben zugelassen.<\/li>\n<li><strong>Kommentar-Wache.<\/strong> Spam h\u00e4lt WordPress zur\u00fcck, r\u00e4umt ihn aber nicht weg: die Eintr\u00e4ge bleiben in der Datenbank stehen. Bastora z\u00e4hlt sie und l\u00f6scht sie auf Klick endg\u00fcltig. Dazu l\u00e4sst sich die Kommentarfunktion schlie\u00dfen, ganz oder nur dort, wo noch keine Kommentare stehen. Jede Seite ist einzeln entscheidbar, und der Weg zur\u00fcck steht in den Einstellungen.<\/li>\n<li><strong>Nachbarn auf demselben Webspace.<\/strong> Liegen mehrere WordPress-Installationen in einem Hosting-Paket, laufen sie unter demselben Benutzerkonto des Servers. Bastora sagt Dir, welche davon von Deiner Installation aus erreichbar sind. Gemessen wird nur von der eigenen Seite aus, eine fremde Installation fasst Bastora dabei nicht an.<\/li>\n<li><strong>Datenbank-Pr\u00fcfung.<\/strong> L\u00e4uft t\u00e4glich im Hintergrund und meldet untergeschobene Konten, ge\u00e4nderte Adressen und Code in den Einstellungen, ohne dass jemand das Backend \u00f6ffnen muss.<\/li>\n<li><strong>H\u00e4rtung.<\/strong> Versionslecks, RSD- und WLW-Verweise, XML-RPC, Pingbacks, REST-API-Benutzer, Application Passwords, X-Powered-By, Author-Enumeration, Security-Header, PHP-Sperre im Uploads-Verzeichnis, Revisions-Limit und HTTPS-Umstellung auf einen Klick.<\/li>\n<li><strong>Dashboard im Klartext.<\/strong> Score, jeder Pr\u00fcfpunkt mit Erkl\u00e4rung, Tagesprofil der letzten 24 Stunden und alle ausgesperrten Adressen mit Grund und Restlaufzeit, einzeln wieder freizugeben.<\/li>\n<\/ul>\n\n<h4>Was Bastora bewusst nicht macht<\/h4>\n\n<ul>\n<li><strong>Kein erzwungenes TOTP.<\/strong> Solopreneure sperren sich regelm\u00e4\u00dfig mit Authenticator-Apps aus. Bastora setzt stattdessen auf Brute-Force-Schutz, Rate-Limit und Anomalie-Erkennung.<\/li>\n<li><strong>Kein Verstecken der Login-URL.<\/strong> Eine umbenannte Login-URL macht den Passwort-Reset-Link kaputt, sobald das Plugin deaktiviert wird. Rate-Limit plus Honeypot ist die saubere L\u00f6sung.<\/li>\n<li><strong>Verbindungen nach au\u00dfen nur mit Deiner Freigabe.<\/strong> Bastora fragt nach dem Zweck: Die Schutzdienste (Versions-Abgleich gegen wordpress.org, Bastora-Schwarm, Schad-URL-Feed, Passwort-Leck-Check) gibst Du mit einem Haken frei, die Sicherheitsforschung mit einem zweiten. Ab Werk ist alles aus, in den Einstellungen schaltest Du jeden Dienst auch einzeln.<\/li>\n<\/ul>\n\n<h4>Einwilligung zur Sicherheitsforschung (Opt-in)<\/h4>\n\n<p>Mit Deiner Einwilligung schickt Bastora t\u00e4glich eine kurze Z\u00e4hlung und alle 28 Tage eine Zusammenfassung an bastora.de (Server in Deutschland). Zweck: Angriffe und Bots \u00fcber viele Websites erkennen, Firewall-Regeln, Signaturen und Sperrlisten f\u00fcr alle Bastora-Websites anpassen, Fehlalarme verringern und die Wirkung der H\u00e4rtung messen. Keine Werbung, keine Profile, keine Weitergabe.<\/p>\n\n<p>Nie \u00fcbertragen werden IP-Adressen, Deine Domain, Benutzernamen, E-Mail-Adressen, Inhalte und alles, was jemand in ein Formular Deiner Website eingibt. Die Einwilligung ist ab Werk aus, freiwillig und jederzeit in den Einstellungen widerrufbar. Alle Einzelheiten stehen unter \u201ePrivacy\".<\/p>\n\n<h3>Privacy<\/h3>\n\n<h4>Auf Deiner Website<\/h4>\n\n<p>Zum Schutz Deiner Website verarbeitet Bastora die folgenden Daten auf Deinem eigenen Server. Verantwortlich im Sinne der DSGVO bist Du als Betreiber der Website. Rechtsgrundlage ist jeweils Art. 6 Abs. 1 lit. f DSGVO, das berechtigte Interesse am sicheren Betrieb der Website. Einen passenden Textbaustein f\u00fcr Deine Datenschutzerkl\u00e4rung findest Du in WordPress unter Einstellungen, Datenschutz. Normale Seitenaufrufe Deiner Besucher h\u00e4lt Bastora nicht fest.<\/p>\n\n<p><strong>Fehlversuche bei der Anmeldung.<\/strong> Fehlgeschlagene Anmeldeversuche und falsch gel\u00f6ste Rechenaufgaben z\u00e4hlt Bastora je IP-Adresse, Anmeldeversuche zus\u00e4tzlich je Benutzername. Die Z\u00e4hler liegen unter der IP-Adresse und verfallen h\u00f6chstens 25 Stunden nach dem letzten Versuch.<\/p>\n\n<p><strong>Ereignisprotokoll.<\/strong> Anmeldungen, Fehlversuche, Aufrufe nicht vorhandener Seiten, abgewehrte Angriffe und Treffer der Sperrliste h\u00e4lt Bastora sieben Tage lang fest, h\u00f6chstens die letzten 1.000 Eintr\u00e4ge: Zeitpunkt, Art des Ereignisses, aufgerufene Adresse, Anfrageart, Antwortcode, Browserkennung, verweisende Seite, bei Anmeldungen der eingegebene Benutzername, dazu ein t\u00e4glich wechselnder Abdruck der IP-Adresse und der Netzbereich (bei IPv4 ohne die letzte Zahl, bei IPv6 die ersten vier Bl\u00f6cke).<\/p>\n\n<p><strong>Firewall-Protokoll.<\/strong> Zu jeder abgewehrten Anfrage speichert Bastora 30 Tage lang Zeitpunkt, aufgerufene Adresse, Anfrageart, die ausl\u00f6sende Regel, einen gek\u00fcrzten Ausschnitt der auff\u00e4lligen Stelle, die Browserkennung, einen t\u00e4glich wechselnden Abdruck der IP-Adresse und den Netzbereich.<\/p>\n\n<p><strong>Sperrliste.<\/strong> Sperrt Bastora eine Adresse selbstt\u00e4tig, etwa weil sie wiederholt Firewall-Regeln ausl\u00f6st oder Adressen abfragt, die es auf einer WordPress-Website nie gibt, steht die IP-Adresse mit Grund und Ablaufzeit in der Sperrliste. Wird ein Administratorkonto untergeschoben, sperrt Bastora auf dieselbe Weise den Netzbereich der Herkunft. Selbstt\u00e4tige Sperren laufen nach 15 Minuten bis 24 Stunden ab und werden einmal t\u00e4glich gel\u00f6scht. Wie oft eine Adresse in den letzten 24 Stunden gesperrt wurde, merkt sich Bastora unter einem Abdruck der Adresse. Sperren, die ein Administrator von Hand anlegt, bleiben, bis er sie entfernt.<\/p>\n\n<p><strong>\u00c4nderungsprotokoll.<\/strong> Anmeldungen von Administratoren und \u00c4nderungen im Backend stehen 90 Tage im \u00c4nderungsprotokoll: Zeitpunkt, Konto, betroffenes Objekt, Netzbereich und ein t\u00e4glich wechselnder Abdruck der IP-Adresse. Muss Bastora bei einem Vorfall die Sitzungen eines Kontos beenden, sichert es vorher deren Anmeldezeitpunkt, IP-Adresse und Browserkennung, ebenfalls 90 Tage, damit sich kl\u00e4ren l\u00e4sst, wer betroffen war. F\u00e4llt eine Anmeldung auf, merkt sich Bastora f\u00fcr die \u00dcbersicht im Backend den Netzbereich, bis ein neues Passwort gesetzt wird, h\u00f6chstens f\u00fcr 20 Konten.<\/p>\n\n<p><strong>Vorf\u00e4lle und Bot-Statistik.<\/strong> F\u00fcr die \u00dcbersicht im Backend z\u00e4hlt Bastora Vorf\u00e4lle mit Zeitpunkt, aufgerufener Adresse und Einstufung, h\u00f6chstens die letzten 500, sowie Zugriffe bekannter Bots mit Name, Pfad und einem Abdruck der Browserkennung, 28 Tage lang. IP-Adressen stehen darin nicht.<\/p>\n\n<p><strong>Ger\u00e4tekennzeichen.<\/strong> Meldet sich ein Administrator an oder wird eine Anmeldung per Link best\u00e4tigt, legt Bastora ein zuf\u00e4lliges Kennzeichen als Cookie im Browser ab: ein Jahr g\u00fcltig und f\u00fcr Skripte nicht lesbar. In der Datenbank steht davon nur ein Abdruck, dazu die Zeitpunkte der ersten und der letzten Anmeldung, h\u00f6chstens zehn Ger\u00e4te je Konto. Ger\u00e4tenamen, Browserdaten oder Standorte erfasst Bastora daf\u00fcr nicht. Das Kennzeichen dient allein der Sicherheit des Zugangs: Ein bekanntes Ger\u00e4t wird nicht ausgesperrt, und bei einem neuen Ger\u00e4t bekommt der Kontoinhaber eine Nachricht. Damit ist es f\u00fcr den vom Nutzer gew\u00fcnschten Dienst unbedingt erforderlich (\u00a7 25 Abs. 2 Nr. 2 TDDDG). Ein neues Passwort l\u00f6scht alle Ger\u00e4te des Kontos. In den Einstellungen l\u00e4sst sich das Vertrauen in bekannte Ger\u00e4te abschalten, und jeder Administrator kann die Ger\u00e4te seines Kontos l\u00f6schen.<\/p>\n\n<p><strong>IP-Adresse Whitelist.<\/strong> Tr\u00e4gt ein Administrator Adressen ein, speichert Bastora die Adresse, eine selbst gew\u00e4hlte Bezeichnung, eine m\u00f6gliche Befristung und den Zeitpunkt, zu dem die Adresse zuletzt auf der Website war. Die Eintr\u00e4ge bleiben, bis ein Administrator sie entfernt.<\/p>\n\n<p><strong>Weitergabe.<\/strong> Diese Daten bleiben auf Deiner Website. Einzige Ausnahme ist der Schwarm, wenn Du ihn einschaltest: Sperrt Bastora eine IP-Adresse wegen zu vieler Fehlversuche oder eines Angriffs, meldet es diese Adresse an bastora.de (siehe \u201eExterne Verbindungen\u201c, Punkt 2). Adressen auf der Whitelist und bekannte Ger\u00e4te meldet Bastora nie.<\/p>\n\n<p>Beim L\u00f6schen des Plugins entfernt Bastora alle genannten Protokolle, Listen und Ger\u00e4teabdr\u00fccke aus der Datenbank.<\/p>\n\n<h4>Externe Verbindungen<\/h4>\n\n<p>Ab Werk baut Bastora keine einzige Verbindung nach au\u00dfen auf. Die Verbindungen 1 bis 5 dienen dem Schutz Deiner Website. Im Einrichtungs-Assistenten schaltest Du sie mit einem Haken f\u00fcr diesen Zweck frei, in den Einstellungen jede einzeln, und kannst sie jederzeit wieder abschalten. Verbindung 6 ist eine eigene Einwilligung mit eigenem Haken. Angesprochen werden dabei nur zwei Gegenstellen: <strong>wordpress.org<\/strong> und <strong>bastora.de<\/strong>.<\/p>\n\n<p><strong>1. Abgleich gegen wordpress.org (Opt-in)<\/strong><\/p>\n\n<p>Bastora fragt die offizielle WordPress-API nach der aktuellen Kern-Version, nach den Datei-Hashes Deiner Version und nach dem Update-Stand der installierten Plugins und Themes. F\u00fcr den Datei-Abgleich und die Reparatur l\u00e4dt Bastora zus\u00e4tzlich die offiziellen Pakete von wordpress.org. Das ist dieselbe Schnittstelle, die WordPress f\u00fcr seine eigenen Update-Pr\u00fcfungen nutzt.<\/p>\n\n<p>\u00dcbertragen werden nur Name (Slug) und Version von WordPress, Plugins und Themes sowie die Sprache der Installation, keine Domain, keine Nutzerdaten, keine Besucher-IP. Antworten werden 24 Stunden zwischengespeichert, geladene Pakete liegen 7 Tage lokal im Quarant\u00e4ne-Verzeichnis. Vor dem Ersetzen einer Kerndatei pr\u00fcft Bastora deren Hash gegen den von wordpress.org gemeldeten Wert. Plugins und Themes, die nicht im offiziellen Verzeichnis liegen (Premium, Eigenentwicklung), werden als \u201eextern, nicht pr\u00fcfbar\" gef\u00fchrt; bei Plugins repariert Bastora bewusst nicht, sondern meldet abweichende Dateien per Mail. Ohne diese Freigabe gelten die betroffenen Pr\u00fcfpunkte als \u201enicht pr\u00fcfbar\" und es geht keine Anfrage raus.<\/p>\n\n<p><strong>2. Bastora-Schwarm (Opt-in)<\/strong><\/p>\n\n<p>Anonymer Austausch von Angreifer-Adressen mit anderen teilnehmenden Websites, \u00fcber bastora.de. Beim Aktivieren vergibt der Server einen anonymen Token; \u00fcbertragen wird dabei nur die Plugin-Version. Bei einem erkannten Angriff meldet Bastora Token, Angreifer-IP, Angriffs-Typ, Schweregrad und Plugin-Version. Im Gegenzug holt Bastora alle paar Minuten die Sperrliste und zweimal t\u00e4glich die signierten Firewall-Regeln ab, jeweils nur mit dem Token im Header. Beim Abschalten oder Deinstallieren wird der Knoten sofort gel\u00f6scht.<\/p>\n\n<p>Der User-Agent ist statisch (\u201eBastora-Swarm\"), damit WordPress die Domain nicht mitschickt. Nicht \u00fcbertragen werden Domain, URL, Besucher-IPs und Betreiberdaten. Reports werden serverseitig nach 14 Tagen gel\u00f6scht, Sperrlisten-Eintr\u00e4ge verfallen nach 72 Stunden. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an Angriffsabwehr).<\/p>\n\n<p><strong>3. Passwort-Leck-Check (Opt-in, nur Backend-Login)<\/strong><\/p>\n\n<p>Beim Backend-Login schickt Bastora h\u00f6chstens einmal pro Nutzer und Woche die ersten f\u00fcnf Hex-Zeichen des SHA-1-Hashes des eingegebenen Passworts an bastora.de. Mehr geht nicht raus: nicht das Passwort, nicht der vollst\u00e4ndige Hash, kein Benutzername, keine Domain, keine Kennung. Der Server fragt damit die offizielle haveibeenpwned.com-API ab und liefert die Hash-Endungen zur\u00fcck, der Abgleich passiert lokal in WordPress. Das Verfahren hei\u00dft k-Anonymity und wird auch von 1Password, Firefox und Chrome genutzt. Bei einem Treffer bekommt der Nutzer einen Hinweis, der Login wird nie blockiert. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO.<\/p>\n\n<p><strong>4. Schad-URL-Feed (Opt-in)<\/strong><\/p>\n\n<p>Einmal t\u00e4glich holt Bastora eine Liste bekannter Schad-Domains von bastora.de. Mitgesendet werden allein die Bastora-Version in der Programm-Kennung und der Pr\u00fcfwert der zuletzt geladenen Liste, damit eine unver\u00e4nderte Liste nicht erneut \u00fcbertragen wird. Dieser Pr\u00fcfwert beschreibt nur den Listenstand und ist f\u00fcr alle Websites gleich. Es geht keine Domain, keine Besucher-Daten und keine Kennung raus. Die Antwort ist eine Datendatei ohne ausf\u00fchrbaren Code, rund 2 MB: je Eintrag ein Pr\u00fcfwert der Schad-Domain (die ersten 8 Byte ihres SHA-256) mit Typ und Schweregrad. Bastora legt sie unter wp-content\/uploads\/bastora\/ ab, gesperrt f\u00fcr Abrufe von au\u00dfen, und gleicht Links in Beitr\u00e4gen und Kommentaren ausschlie\u00dflich auf Deiner Website dagegen ab. Gepr\u00fcfte Adressen verlassen Deine Website nie. Beim Abschalten der Funktion und beim L\u00f6schen des Plugins entfernt Bastora die Datei. Quellen: URLhaus und ThreatFox (abuse.ch, CC0 1.0), der OpenPhish-Community-Feed, Phishing Army (CC BY 4.0) und CERT Polska. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO.<\/p>\n\n<p><strong>5. Schwachstellen-Liste (Opt-in, zusammen mit Punkt 1)<\/strong><\/p>\n\n<p>Einmal t\u00e4glich l\u00e4dt Bastora die Liste der bekannten Sicherheitsl\u00fccken von bastora.de. Das ist ein reiner Abruf: keine Domain, keine Kennung, keine Liste Deiner Erweiterungen, kein Parameter in der Adresse. Mitgesendet wird allein die Bastora-Version in der Programm-Kennung. Die Antwort ist eine JSON-Liste aus Kennnummer, betroffener Erweiterung, betroffenen Versionen und behobener Version, ohne ausf\u00fchrbaren Code. Welche Deiner Erweiterungen betroffen sind, rechnet Bastora danach ausschlie\u00dflich lokal aus. Der Abruf h\u00e4ngt an derselben Freigabe wie Punkt 1; ohne sie geht keine Anfrage raus. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO.<\/p>\n\n<p><strong>6. Einwilligung zur Sicherheitsforschung (Opt-in, ab Werk aus)<\/strong><\/p>\n\n<p>Empf\u00e4nger: https:\/\/www.bastora.de\/api\/tmtr\/ (Server in Deutschland). Rhythmus: t\u00e4glich eine kurze Z\u00e4hlung, alle 28 Tage eine Zusammenfassung. Beim Deaktivieren von Bastora geht eine letzte Meldung an https:\/\/www.bastora.de\/api\/rueckmeldung\/: die Installationskennung, die Versionsst\u00e4nde von Bastora und WordPress und dass abgeschaltet wurde. Vor Deiner Einwilligung wird kein einziger Aufruf ausgef\u00fchrt.<\/p>\n\n<p>Zweck: Angriffe und Bots \u00fcber viele Websites erkennen, Firewall-Regeln, Signaturen und Sperrlisten anpassen, Fehlalarme verringern, die Wirkung der H\u00e4rtung messen und gekaufte Plugins und Themes im Abgleich auf Ver\u00e4nderungen pr\u00fcfen. Keine Werbung, keine Profile, keine Weitergabe.<\/p>\n\n<p>Kategorien:<\/p>\n\n<ul>\n<li>eine zuf\u00e4llige Installationskennung (UUID), lokal beim ersten Start erzeugt. Sie ist pseudonym.<\/li>\n<li>Versionen und Umgebung: Bastora, WordPress samt Update-Status, PHP, MySQL, Server-Software, Sprache, Zeitzone, Multisite ja oder nein, ein Hosting-Anbieter-K\u00fcrzel (z. B. \u201ehetzner\", \u201eionos\"), ermittelt aus lokalen Markern und einer lokalen Namensaufl\u00f6sung der eigenen Server-IP. Die Server-IP selbst wird nicht gesendet.<\/li>\n<li>H\u00e4rtungs- und Pr\u00fcfstand: Punktzahl, je Pr\u00fcfpunkt ein Status-Code, Konfigurations-Flags wie WP_DEBUG, DISALLOW_FILE_EDIT, FORCE_SSL_ADMIN, die Bastora-H\u00e4rtungen mit Aktiv-Status, einmalig der Stand vor der ersten H\u00e4rtung<\/li>\n<li>Verzeichnis der Erweiterungen: je Plugin (max. 200) und Theme (max. 75) Slug, Version, verf\u00fcgbare Version, Update- und Auto-Update-Status, aktiv oder inaktiv, dazu erkannte andere Sicherheits-Plugins<\/li>\n<li>Gr\u00f6\u00dfenangaben: Nutzerzahlen je Rolle, Zahl der Beitr\u00e4ge, Seiten und Kommentare, Umfang der automatisch geladenen Einstellungen. Nur Zahlen, keine Namen, keine Inhalte.<\/li>\n<li>Nutzungsart: f\u00fcr mich selbst, im Auftrag, f\u00fcr eine Organisation, samt Erstwahl<\/li>\n<li>Z\u00e4hlwerte zu Sicherheitsereignissen, auch je Stunde: abgewehrte Angriffe, Fehlerseiten, Anmeldeversuche, Bot-Anfragen nach Art (gutartig, feindlich, KI, SEO, unbekannt) und danach, ob Bastora sie gesperrt hat, die Nutzung von Whitelist und Ger\u00e4tevertrauen (Zahl der Eintr\u00e4ge, davon befristet, Zahl der Ger\u00e4te und Konten, Schalter an oder aus)<\/li>\n<li>ges\u00e4uberte Angriffsmuster: erkanntes Muster aus der Adresszeile und den Kopfdaten der Anfrage, angeschlagene Firewall-Regel, aufgerufener Pfad (bei Plugins, Themes und WordPress-eigenen Pfaden wie wp-admin, wp-includes und wp-json vollst\u00e4ndig, bei Uploads nur \/wp-content\/uploads\/, sonst nur der erste Bestandteil), Werkzeug-Kennung, Tageszeit, dazu in derselben K\u00fcrzung die Pfade, die Bots am h\u00e4ufigsten aufrufen, und das Muster von Adressen, die massenhaft ins Leere laufen (erster Adressbestandteil, Anzahl, Dateiendung). Browser-Kennungen echter Besucher werden durch das Wort \u201eBrowser\" ersetzt, Mailadressen und lange Zahlenfolgen unkenntlich gemacht.<\/li>\n<li>Abgleich gekaufter Plugins und Themes (ab Fassung 6 der Einwilligung): f\u00fcr jedes Plugin und Theme, f\u00fcr das wordpress.org kein passendes Original bereitstellt (max. 150), Slug, Version und eine SHA-256-Pr\u00fcfsumme \u00fcber seine PHP-Dateien, einmal t\u00e4glich an https:\/\/www.bastora.de\/api\/abdruck\/. Die Antwort sagt nur, ob dieselbe Version auf anderen Bastora-Websites dieselben Dateien hat. Um unabh\u00e4ngige Websites zu z\u00e4hlen, bildet bastora.de aus dem Netzbereich der Server-IP (die ersten drei Bl\u00f6cke bei IPv4, die ersten 48 Bit bei IPv6) eine verk\u00fcrzte, nicht umkehrbare Kennung mit geheimem Schl\u00fcssel und speichert nur diese, nie die IP-Adresse.<\/li>\n<\/ul>\n\n<p>Nie \u00fcbertragen werden: IP-Adressen, Domains, URL der Website, Server-IP, E-Mail-Adressen, Benutzernamen, Beitrags-, Datei- und Datenbank-Inhalte sowie alles, was jemand in ein Formular Deiner Website eingibt.<\/p>\n\n<p>Die Einwilligung gilt f\u00fcr diesen Zweck und diese Kategorien. Neue Z\u00e4hlwerte innerhalb einer Kategorie deckt sie ab. Vor einem neuen Zweck, einer neuen Kategorie oder einer Weitergabe fragt Bastora erneut im Backend. Bis 2.2.4 wurde je  \u2026<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Installiere das Plugin aus dem WordPress-Plugin-Verzeichnis oder lade den ZIP-Ordner nach <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Aktiviere das Plugin im Men\u00fc \u201ePlugins\".<\/li>\n<li>\u00d6ffne das neue Men\u00fc \u201eBastora\" und klicke einmal auf \u201eSicherheitspr\u00fcfung starten\".<\/li>\n<\/ol>\n\n<p>Mehr ist nicht zu tun. Bastora richtet sich selbst ein.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"brauche%20ich%20technisches%20wissen%2C%20um%20bastora%20zu%20nutzen%3F\"><h3>Brauche ich technisches Wissen, um Bastora zu nutzen?<\/h3><\/dt>\n<dd><p>Nein. Bastora braucht keine Konfiguration. Installieren, aktivieren, scannen, fertig.<\/p><\/dd>\n<dt id=\"funktioniert%20bastora%20neben%20wordfence%2C%20sucuri%20oder%20solid%20security%3F\"><h3>Funktioniert Bastora neben Wordfence, Sucuri oder Solid Security?<\/h3><\/dt>\n<dd><p>Ja. Bastora erkennt diese Plugins und tritt in den \u00fcberlappenden Bereichen zur Seite. Das Dashboard zeigt, welche H\u00e4rtungen deshalb inaktiv sind. Die Regeln gegen kritische Kern-L\u00fccken bleiben in jedem Fall aktiv.<\/p><\/dd>\n<dt id=\"%C3%9Cbertr%C3%A4gt%20das%20plugin%20daten%20von%20meiner%20seite%3F\"><h3>\u00dcbertr\u00e4gt das Plugin Daten von meiner Seite?<\/h3><\/dt>\n<dd><p>Ab Werk nichts. Im Einrichtungs-Assistenten gibst Du je Zweck frei, in den Einstellungen jeden Dienst auch einzeln: Versions-Abgleich gegen api.wordpress.org, Bastora-Schwarm, Schad-URL-Feed, Passwort-Leck-Check und die Einwilligung zur Sicherheitsforschung. Vor Deinem H\u00e4kchen geht kein einziger Request raus.<\/p><\/dd>\n<dt id=\"wie%20widerrufe%20ich%20die%20einwilligung%20zur%20sicherheitsforschung%3F\"><h3>Wie widerrufe ich die Einwilligung zur Sicherheitsforschung?<\/h3><\/dt>\n<dd><p>Bastora \u2192 Einstellungen \u2192 Schalter aus \u2192 speichern. Ab da geht kein Datensatz mehr an bastora.de. Bereits \u00fcbertragene Datens\u00e4tze h\u00e4ngen an einer zuf\u00e4lligen Installationskennung, nicht an Deiner Domain. Willst Du sie l\u00f6schen lassen, schreib Bastora die Kennung, sie steht in den Einstellungen hinter dem \u201ei\" der Einwilligung.<\/p><\/dd>\n<dt id=\"wo%20werden%20die%20daten%20gespeichert%3F\"><h3>Wo werden die Daten gespeichert?<\/h3><\/dt>\n<dd><p>Auf deutschen Servern. Bastora arbeitet ausschlie\u00dflich mit einem deutschen Hoster.<\/p><\/dd>\n<dt id=\"was%20passiert%2C%20wenn%20ich%20bastora%20deinstalliere%3F\"><h3>Was passiert, wenn ich Bastora deinstalliere?<\/h3><\/dt>\n<dd><p>Bei einfacher Deaktivierung bleiben die Einstellungen erhalten. Beim L\u00f6schen entfernt Bastora alle Einstellungen, Audit-Ergebnisse und Kennungen und rollt die H\u00e4rtungen zur\u00fcck. Ein aktiver Schwarm-Knoten wird vorher abgemeldet.<\/p><\/dd>\n<dt id=\"wie%20funktioniert%20der%20bastora-schwarm%3F\"><h3>Wie funktioniert der Bastora-Schwarm?<\/h3><\/dt>\n<dd><p>Erkennt eine teilnehmende Website einen Brute-Force-Angriff oder einen Scanner, meldet sie die Angreifer-IP anonym an einen zentralen Server. Melden mehrere Websites dieselbe IP, wandert sie in einen Sperrkatalog, den alle teilnehmenden Websites abholen und vorbeugend anwenden. Eintr\u00e4ge verfallen nach 72 Stunden ohne neue Meldung, bekannte Crawler wie Googlebot oder Bingbot werden nie \u00fcbernommen. Deine Seite gibt dabei nur einen anonymen Token, die Angreifer-IP, den Angriffs-Typ und die Plugin-Version heraus, keine Domain und keine Nutzerdaten.<\/p><\/dd>\n<dt id=\"meine%20app%20oder%20schnittstelle%20bekommt%20bei%20gro%C3%9Fen%20anfragen%20einen%20fehler%20413.%20warum%3F\"><h3>Meine App oder Schnittstelle bekommt bei gro\u00dfen Anfragen einen Fehler 413. Warum?<\/h3><\/dt>\n<dd><p>Sehr gro\u00dfe Anfragen ohne Anmeldung weist die Firewall ab, bevor sie Rechenzeit kosten. Die Grenze liegt bei etwa 4 MB im reinen Anfragek\u00f6rper; hochgeladene Dateien aus Formularen z\u00e4hlen nicht dazu. Greift eine App oder Schnittstelle auf Deine Website zu, soll sie sich mit einem Anwendungspasswort anmelden (im WordPress-Profil unter \u201eAnwendungspassw\u00f6rter\u201c). Angemeldete Anfragen pr\u00fcft Bastora vollst\u00e4ndig und l\u00e4sst sie auch bei gro\u00dfen Datenmengen durch. F\u00fcr gro\u00dfe Uploads nutze die REST-Schnittstelle mit Anwendungspasswort. XML-RPC tr\u00e4gt die Anmeldung erst im Anfragek\u00f6rper; gro\u00dfe XML-RPC-Uploads \u00fcber der Grenze weist Bastora ab.<\/p><\/dd>\n<dt id=\"ich%20habe%20eine%20sicherheitsl%C3%BCcke%20in%20bastora%20gefunden.%20wohin%20damit%3F\"><h3>Ich habe eine Sicherheitsl\u00fccke in Bastora gefunden. Wohin damit?<\/h3><\/dt>\n<dd><p>Schreib an go@bastora.de. Wie Bastora mit Meldungen umgeht, steht unter https:\/\/www.bastora.de\/sicherheit-melden: Eingangsbest\u00e4tigung, feste Reaktionszeiten und ein fairer Umgang mit Findern. Im Plugin findest Du den Meldeweg samt St\u00fcckliste und Nutzerinformation im Dashboard im Bereich \u201eCRA\u201c. Bitte gib Bastora Zeit zum Schlie\u00dfen, bevor Du eine L\u00fccke \u00f6ffentlich machst.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.17<\/h4>\n\n<ul>\n<li><strong>Gekaufte Plugins und Themes im Abgleich.<\/strong> F\u00fcr gekaufte Plugins und alles andere, wof\u00fcr wordpress.org kein passendes Original bereitstellt, gibt es nichts zum Vergleichen. Mit Deiner Einwilligung bildet Bastora eine Pr\u00fcfsumme \u00fcber die Programmdateien und vergleicht sie mit derselben Version auf anderen Bastora-Websites. In der Pr\u00fcfung siehst Du, ob Deine Fassung Datei f\u00fcr Datei \u00fcbereinstimmt oder ver\u00e4ndert wurde. Daf\u00fcr fragt Bastora einmal nach.<\/li>\n<li><strong>Weniger Fehlalarme bei gepackten Einstellungen.<\/strong> Plugins wie WPML oder Slider Revolution legen ihre Einstellungen gepackt in der Datenbank ab. Bastora entpackt solche Eintr\u00e4ge jetzt und pr\u00fcft, was darin steht. Sind es nur Einstellungen, bleibt Bastora still. Steckt Schadcode darin, meldet Bastora ihn.<\/li>\n<\/ul>\n\n<h4>2.3.15<\/h4>\n\n<ul>\n<li><strong>PHP-Warnung nennt die sichere Version.<\/strong> L\u00e4uft Dein Server auf einer PHP-Version unter 8.2, empfiehlt Bastora jetzt genau 8.2.35 oder neuer, die erste Fassung dieses Zweigs mit dem Sicherheitsupdate vom 21.10.2026.<\/li>\n<\/ul>\n\n<h4>2.3.14<\/h4>\n\n<ul>\n<li><strong>Warnung zur aktuellen PHP-L\u00fccke.<\/strong> Bastora zeigt Dir einmal, dass gerade eine L\u00fccke in PHP angegriffen wird, und nennt Deine PHP-Version. L\u00e4uft Dein Server auf einer Version unter 8.2, sagt Dir Bastora, dass Du sie in Deinem Webhosting aktualisieren solltest. Mit einem Klick blendest Du die Meldung dauerhaft aus.<\/li>\n<\/ul>\n\n<h4>2.3.13<\/h4>\n\n<ul>\n<li><strong>Medien-Uploads \u00fcber App und Schnittstelle laufen durch.<\/strong> L\u00e4dst Du angemeldet mit Anwendungspasswort ein Bild, PDF oder Video \u00fcber die REST-Schnittstelle hoch, pr\u00fcft Bastora den Inhalt als Datei und l\u00e4sst ihn durch. Als Bild getarnter Schadcode f\u00e4llt beim Hochladen und bei der anschlie\u00dfenden Dateipr\u00fcfung auf.<\/li>\n<li><strong>Firewall bremst \u00dcberlastangriffe aus.<\/strong> Sehr gro\u00dfe Anfragen ohne Anmeldung weist die Firewall sofort ab, bevor sie Rechenzeit kosten. Angemeldete Anfragen \u00fcber App-Passwort und die REST-Schnittstelle pr\u00fcft sie vollst\u00e4ndig und z\u00fcgig in Abschnitten, auch bei gro\u00dfen Datenmengen. F\u00fcr gro\u00dfe Uploads ist die REST-Schnittstelle mit Anwendungspasswort der Weg.<\/li>\n<\/ul>\n\n<h4>2.3.6<\/h4>\n\n<ul>\n<li><strong>Klare Nachfrage zur Abschaltmeldung.<\/strong> Die Nachfrage zur Sicherheitsforschung nennt jetzt genau, was dazugekommen ist: beim Abschalten geht einmalig eine letzte Meldung mit Kennung und Versionsstand. Deine bisherige Zustimmung gilt weiter; die Abschaltmeldung ist erst erfasst, wenn Du erneut zustimmst.<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li><strong>Eigener Bereich \u201eCRA\u201c.<\/strong> St\u00fcckliste, Nutzerinformation mit Konformit\u00e4tserkl\u00e4rung und der Meldeweg f\u00fcr Sicherheitsl\u00fccken stehen jetzt gesammelt im neuen Men\u00fcpunkt \u201eCRA\u201c, statt versteckt auf der Feedback-Seite.<\/li>\n<li><strong>Schalter f\u00fcr die automatische Aktualisierung von Bastora.<\/strong> Bastora h\u00e4lt sich ab Werk selbst aktuell. In den Einstellungen schaltest Du das mit einem klaren Schalter ab, wenn Du selbst aktualisieren willst.<\/li>\n<li><strong>St\u00fcckliste auch als PDF.<\/strong> Die Komponentenliste dieser Website l\u00e4dst Du als JSON (CycloneDX) oder als PDF herunter. Das PDF entsteht im Plugin, ohne Fremdbibliothek und ohne Aufruf nach au\u00dfen. Lange Namen brechen im PDF sauber um.<\/li>\n<li><strong>St\u00fcckliste tr\u00e4gt die Domain im Dateinamen.<\/strong> Der Download hei\u00dft jetzt bastora-sbom_deine-domain.json beziehungsweise .pdf, damit sich die Dateien mehrerer Websites nicht verwechseln lassen.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li><strong>Gepr\u00fcfte Schwarm-Sperrliste.<\/strong> Die vom Schwarm verteilte Sperrliste ist kryptografisch signiert. Bastora \u00fcbernimmt nur, was echt von Bastora stammt; eine manipulierte Liste wird verworfen, ohne dass Dein Schutz aussetzt.<\/li>\n<li><strong>Klarer Meldeweg f\u00fcr Sicherheitsl\u00fccken.<\/strong> Wer eine Schwachstelle in Bastora findet, sieht jetzt im Plugin und in dieser readme, wie und wo er sie meldet.<\/li>\n<li><strong>St\u00fcckliste (SBOM) zum Download.<\/strong> Auf der Feedback-Seite l\u00e4dst Du die maschinenlesbare Komponentenliste dieser Website herunter (CycloneDX).<\/li>\n<li><strong>Unterst\u00fctzungszeitraum ausgewiesen.<\/strong> Diese Version erh\u00e4lt Sicherheitsupdates bis mindestens 10\/2031.<\/li>\n<\/ul>\n\n<h4>2.2.10<\/h4>\n\n<ul>\n<li><strong>Abschalten kommt sicher an.<\/strong> Hast Du der Sicherheitsforschung zugestimmt, meldet Bastora jede Abschaltung mit Kennung und Versionsstand. Das gilt auch, wenn Du den Dialog \u00fcberspringst, \u00fcber die Sammelaktion abschaltest oder die Kommandozeile nutzt. Ohne Zustimmung bleibt alles wie bisher: Es geht nur raus, was Du im Dialog selbst absendest.<\/li>\n<\/ul>\n\n<h4>2.2.9<\/h4>\n\n<ul>\n<li><strong>Firewall-Schutz.<\/strong> Die Firewall pr\u00fcft jede Anfrage an Deine Website. Den Hintergrundtakt Deines Backends l\u00e4sst sie z\u00fcgig durch.<\/li>\n<li><strong>Flott auch bei gro\u00dfen Datenpaketen.<\/strong> Die Firewall pr\u00fcft gro\u00dfe Datenlieferungen vollst\u00e4ndig und z\u00fcgig in Abschnitten, damit Deine Website schnell antwortet.<\/li>\n<li><strong>Anmeldung \u00fcber Apps und Shop gesch\u00fctzt.<\/strong> Wird ein Benutzername gerade durchprobiert, nimmt Bastora Anmeldungen \u00fcber Apps, Schnittstellen und das Kundenkonto im Shop von Ger\u00e4ten und Anschl\u00fcssen an, die dieses Konto schon kennt. \u00dcber die WordPress-Anmeldung kommst Du jederzeit hinein. Die Login-Sperre gilt f\u00fcr den Anschluss, von dem die falschen Passw\u00f6rter kommen. Du meldest Dich von Deinem eigenen Anschluss jederzeit ganz normal an, auch w\u00e4hrend jemand Deinen Benutzernamen durchprobiert.<\/li>\n<li><strong>Login-Sperre f\u00fcr moderne Anschl\u00fcsse.<\/strong> Bei Anschl\u00fcssen mit neuer Adresstechnik fasst Bastora den ganzen Anschluss zusammen, sodass die Sperre auch bei wechselnder Ger\u00e4teadresse h\u00e4lt.<\/li>\n<li><strong>HTTPS-Umstellung geh\u00e4rtet.<\/strong> Beim Umstellen auf HTTPS behandelt Bastora Kommentare und Beitr\u00e4ge als reinen Text und gespeicherte Einstellungen als reine Daten.<\/li>\n<li><strong>Gr\u00fcndliche Erkennung.<\/strong> Der Schadcode-Scanner durchsucht alle Plugin-Ordner. Seine eigenen Suchmuster erkennt Bastora daran, dass sie reine Daten sind.<\/li>\n<li><strong>Auch Werkzeug-Ordner im Blick.<\/strong> Bastora durchsucht auch Werkzeug- und Entwickler-Ordner nach Programmdateien, in Deinen Uploads vollst\u00e4ndig.<\/li>\n<li><strong>Flott auch mit langer Sperrliste.<\/strong> Bastora schl\u00e4gt eine gesperrte Adresse gezielt nach und merkt sich den Namen einer Adresse eine Stunde lang. Deine Seiten laden so schnell wie gewohnt.<\/li>\n<li><strong>Sauber deinstalliert.<\/strong> Beim Entfernen von Bastora verschwindet auch der Quarant\u00e4ne-Ordner in wp-content.<\/li>\n<li><strong>Bereinigen mit Sicherung.<\/strong> Verd\u00e4chtige Dateien im Zwischenspeicher des Servers legt Bastora in die Quarant\u00e4ne. Bastora r\u00e4umt dabei nur Dateien Deiner eigenen Website auf.<\/li>\n<li><strong>WordPress bleibt startklar.<\/strong> Dateien, die WordPress zum Starten braucht, etwa wp-config.php, bleiben immer an ihrem Platz. Steckt darin fremder Code, zeigt Dir Bastora, wie Du ihn entfernst.<\/li>\n<li><strong>Firewall f\u00fcr jede Rolle.<\/strong> Nachsicht bei einem Treffer gilt f\u00fcr Redakteure und Administratoren, die Inhalte mit eigenem Code pflegen. Alle anderen Konten sch\u00fctzt die Firewall in vollem Umfang.<\/li>\n<li><strong>Einrichtung nach Zweck.<\/strong> Der Assistent fragt jetzt zwei Dinge: ob Du die Schutzdienste einschaltest und ob Du der Sicherheitsforschung zustimmst. Bei jedem Zweck steht, mit welchen Stellen Deine Website daf\u00fcr spricht. In den Einstellungen schaltest Du jeden Dienst weiterhin einzeln.<\/li>\n<li><strong>Deine Antworten im Assistenten z\u00e4hlen.<\/strong> Ob Live-Website oder Testumgebung und Deine Wahl zu KI- und Marktforschungs-Crawlern \u00fcbernimmt Bastora direkt aus der Einrichtung.<\/li>\n<li><strong>Klarere Bezeichnung.<\/strong> Der Schalter \u201eSEO-Crawler aussperren\u201c hei\u00dft jetzt \u201eMarktforschungs-Crawler aussperren (Ahrefs, Semrush \u2026)\u201c. Google und Bing bleiben immer zugelassen.<\/li>\n<li><strong>Schutz-Schwarm aus Bastora Zentral.<\/strong> Schaltest Du den Schwarm in Zentral ein oder aus, meldet Bastora Deine Website dort an oder ab. Bastora pr\u00fcft das regelm\u00e4\u00dfig und bringt es von selbst in Ordnung.<\/li>\n<li><strong>Firewall-Status in Zentral.<\/strong> Zentral zeigt den tats\u00e4chlichen Stand Deiner Firewall, auch in der Grundeinstellung.<\/li>\n<li><strong>Gleiches Verhalten auf jedem Server.<\/strong> Gro\u00df- und Kleinschreibung behandelt Bastora \u00fcberall gleich, unabh\u00e4ngig von der Spracheinstellung des Servers. Umlaute in Namen bleiben erhalten.<\/li>\n<\/ul>\n\n<h4>2.2.8<\/h4>\n\n<ul>\n<li><strong>Eine Einwilligung f\u00fcr einen klaren Zweck.<\/strong> Statt einzelner Datengruppen gibt es eine Zustimmung zur Sicherheitsforschung, mit fester Liste, was gesendet wird und was nie. Wer bisher zugestimmt hat, wird einmal auf den Bastora-Seiten gefragt und sendet bis dahin genau das, was er bisher gesendet hat. Jede Entscheidung legt Bastora mit Zeitpunkt und Textfassung auf Deiner Website ab.<\/li>\n<li><strong>Bots nach Art und Uhrzeit.<\/strong> Mit Deiner Einwilligung z\u00e4hlt Bastora je Stunde, welche Art von Bots kam und ob Bastora sie gesperrt hat. Daraus entsteht ein Tagesverlauf \u00fcber alle Bastora-Websites, an dem sich ungew\u00f6hnliche Lagen fr\u00fcher erkennen lassen.<\/li>\n<li><strong>Datenschutz-Baustein erg\u00e4nzt.<\/strong> Der Textbaustein f\u00fcr Deine Datenschutzerkl\u00e4rung nennt bei eingeschalteter Sicherheitsforschung jetzt auch die ges\u00e4uberten Angriffsmuster samt Rechtsgrundlage.<\/li>\n<li><strong>Original-Dateien zuverl\u00e4ssig erkannt.<\/strong> Bastora erkennt Dateien von wordpress.org jetzt auch dann als Original, wenn sie mit anderen Zeilenenden ausgeliefert wurden, wie bei \u00e4lteren Fassungen der Standard-Themes. Weicht fast ein ganzes Paket ab, greift Bastora nicht ein, denn das ist ein Versionsunterschied und kein Angriff.<\/li>\n<li><strong>Kein Eingriff ohne Beleg.<\/strong> Theme-Dateien setzt Bastora nur noch von selbst zur\u00fcck, wenn sie Spuren eines Angriffs tragen. Beim ersten Abgleich nach der Installation ver\u00e4ndert Bastora nichts.<\/li>\n<li><strong>Einmal Bescheid, dann Ruhe.<\/strong> Setzt Bastora Dateien auf das Original zur\u00fcck, sagt es Dir einmal, um welches Theme es ging, und die Meldung verschwindet nach einem Klick. Fragen, die Du nicht beantworten kannst, stellt Bastora nicht mehr.<\/li>\n<li><strong>Anmeldeprotokolle sind kein Schadcode.<\/strong> Bastora h\u00e4lt die Protokolle anderer Sicherheits-Plugins nicht mehr f\u00fcr Schadcode, etwa den Eintrag limit_login_logged von Limit Login Attempts. Bei jedem Datenbankfund steht jetzt, zu welchem Plugin er geh\u00f6rt und ob es noch aktiv ist. Geh\u00f6rt ein Eintrag zu Deiner Website, blendest Du ihn mit \u201eGeh\u00f6rt hierher\u201c aus. \u00c4ndert er sich sp\u00e4ter, meldet Bastora ihn wieder.<\/li>\n<li><strong>Von wordpress.org entfernte Plugins.<\/strong> Bastora erkennt Plugins, die wordpress.org geschlossen hat. Sie bekommen nie wieder ein Update, auch nicht bei einer Sicherheitsl\u00fccke. Bastora nennt Dir Datum und Grund, statt sie als gepflegt zu z\u00e4hlen.<\/li>\n<li><strong>Vergessene Wartungsdateien.<\/strong> Dateien, die Dein Hoster f\u00fcr eine Wartung angelegt und liegen gelassen hat, zeigt Bastora Dir zum Aufr\u00e4umen an, etwa den Installatron Worker.<\/li>\n<li><strong>Ruhigere \u00dcbersicht.<\/strong> Ein kurzer Farbstrich \u00fcber jeder Zahl zeigt den Zustand auf einen Blick. Die Meldung zu abgewehrten Angriffen \u00fcber die wp2shell-L\u00fccke erscheint nur noch, wenn wirklich etwas zu tun ist.<\/li>\n<li><strong>Whitelist und Sperrliste passen zusammen.<\/strong> Adressen auf Deiner Whitelist stehen nicht mehr unter \u201eZurzeit ausgesperrt\u201c.<\/li>\n<li><strong>Anmeldeseite ohne Versionsangabe.<\/strong> Die Dateien, die Bastora auf der Anmeldeseite einbindet, verraten Angreifern keine Versionsnummer.<\/li>\n<li><strong>Bastora Free vertr\u00e4gt sich mit Bastora Pro<\/strong> auf derselben Website.<\/li>\n<li><strong>Schad-Link-Pr\u00fcfung mit kleinem Fu\u00dfabdruck.<\/strong> Die Liste bekannter Schad-Domains liegt jetzt als kompakte Datei auf Deiner Website und wird beim Pr\u00fcfen gezielt gelesen. Bastora pr\u00fcft damit gegen die volle Liste mit \u00fcber 200.000 Eintr\u00e4gen und braucht daf\u00fcr weniger als 1 MB Arbeitsspeicher, auch auf kleinen Hosting-Paketen.<\/li>\n<li><strong>Nur Neues wird \u00fcbertragen.<\/strong> Ist die Liste seit dem letzten Abruf unver\u00e4ndert, l\u00e4dt Bastora sie nicht erneut.<\/li>\n<li><strong>Beitr\u00e4ge und Kommentare bleiben schnell.<\/strong> Die Pr\u00fcfung neuer Links kostet beim Speichern eines Beitrags und beim Absenden eines Kommentars Bruchteile einer Millisekunde.<\/li>\n<li><strong>Jede Liste wird gepr\u00fcft, bevor sie z\u00e4hlt.<\/strong> Bastora \u00fcbernimmt eine neue Liste erst, wenn Gr\u00f6\u00dfe, Aufbau und Pr\u00fcfsumme stimmen. Bis dahin arbeitet die bisherige weiter.<\/li>\n<\/ul>\n\n<h4>2.2.4<\/h4>\n\n<ul>\n<li><strong>IP-Adresse Whitelist.<\/strong> In den Einstellungen unter \u201eAktiver Schutz\u201c tr\u00e4gst Du feste Adressen ein, etwa den B\u00fcroanschluss, einen Standort oder das Netz eines Dienstleisters. Jede Adresse bekommt eine Bezeichnung, damit auch nach Monaten klar ist, wozu sie geh\u00f6rt. Die Liste klappt auf, wenn Du sie brauchst, und bleibt auch mit vielen Eintr\u00e4gen \u00fcbersichtlich.<\/li>\n<li><strong>Befristet freigeben.<\/strong> Ein Eintrag gilt dauerhaft oder f\u00fcr 1, 7, 30 oder 90 Tage, praktisch f\u00fcr einen Dienstleister oder eine Messe. Danach wirkt er nicht mehr und bleibt ausgegraut stehen.<\/li>\n<li><strong>Zuletzt aktiv.<\/strong> Zu jeder Adresse steht, wann sie zuletzt auf der Website war. Ist sie seit 90 Tagen still, weist Bastora darauf hin, denn eine Adresse, die niemand mehr nutzt, kann inzwischen jemand anderem geh\u00f6ren.<\/li>\n<li><strong>Bekannte Ger\u00e4te werden nie ausgesperrt.<\/strong> Ein Ger\u00e4t, mit dem sich ein Administrator angemeldet hat, erkennt Bastora wieder, auch wenn sich seine IP-Adresse zu Hause, im Mobilfunk oder unterwegs st\u00e4ndig \u00e4ndert. Beim Login-Schutz gilt das nur f\u00fcr das eigene Konto. Die Ger\u00e4te Deines Kontos vergisst Du mit einem Klick, etwa wenn ein Laptop weg ist, und ein neues Passwort r\u00e4umt sie ebenfalls ab.<\/li>\n<li><strong>Eingetragene Adressen und bekannte Ger\u00e4te kommen durch.<\/strong> Die Scanner-Sperre, die Login-Sperre nach Fehlversuchen, die Sperrliste aus dem Schwarm und die Netzsperre der Konto-Wache lassen sie aus. Bastora meldet sie nie als Angreifer an andere Websites. Die Firewall pr\u00fcft trotzdem jede einzelne Anfrage.<\/li>\n<li><strong>Mit einem Klick aus der Sperrliste.<\/strong> Unter \u201eZurzeit ausgesperrt\u201c steht neben \u201eFreigeben\u201c jetzt \u201eImmer vertrauen\u201c. Die Best\u00e4tigung erscheint direkt auf der Seite, auf der Du geklickt hast.<\/li>\n<li><strong>Klare Meldung bei einer Sperre.<\/strong> Wer nach zu vielen Fehlversuchen oder \u00fcber den Schwarm gesperrt ist, liest das jetzt beim Anmelden, samt Wartezeit. Bisher stand dort \u201eLogin-Daten ung\u00fcltig\u201c, auch bei richtigem Passwort, und wer es daraufhin weiter versuchte, verl\u00e4ngerte die Sperre.<\/li>\n<li><strong>Hinweis bei einem vorgeschalteten Server.<\/strong> Kommen viele Besucher mit derselben Adresse an, weist Bastora darauf hin, denn ein Eintrag dieser Adresse w\u00fcrde f\u00fcr alle gelten. Eingetragen wird, was Du eintr\u00e4gst: jede g\u00fcltige IPv4- oder IPv6-Adresse und jedes Netz.<\/li>\n<li><strong>Datenschutz vollst\u00e4ndig beschrieben.<\/strong> Der Abschnitt \u201ePrivacy\u201c beschreibt jetzt auch alles, was Bastora auf Deiner Website selbst verarbeitet: Anmeldeschutz, Protokolle, Sperrliste, Ger\u00e4tekennzeichen und Whitelist, jeweils mit Frist. F\u00fcr Deine eigene Datenschutzerkl\u00e4rung liefert Bastora einen Textbaustein unter Einstellungen, Datenschutz.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li><strong>Bastora urteilt \u00fcber das Gesamtbild.<\/strong> Jede Auff\u00e4lligkeit wird gegen die Lage der Website gewogen: L\u00e4uft gerade ein Update, ist die Website umgezogen, liegt die Datei in einer Sicherungskopie, entspricht sie dem Original? Gemeldet wird, was belegt ist. Ein einzelnes verd\u00e4chtiges Muster reicht daf\u00fcr nicht.<\/li>\n<li><strong>Updates laufen ungest\u00f6rt.<\/strong> Bastora erkennt ein laufendes WordPress-Update und Dateien aus einer anderen offiziellen WordPress-Version. Die Kerndateien pr\u00fcft Bastora, sobald das Update abgeschlossen ist.<\/li>\n<li><strong>Umz\u00fcge erkennt Bastora selbst.<\/strong> Arbeitest Du nach einem Umzug unter der neuen Adresse, \u00fcbernimmt Bastora sie als neuen Normalzustand.<\/li>\n<li><strong>Klare Ergebnisse.<\/strong> Die Pr\u00fcfung endet mit einer von drei Aussagen: alles in Ordnung, etwas instand gesetzt oder Angriff festgestellt und beseitigt. Wo Bastora eine Stelle nicht selbst bereinigen darf, steht dabei, warum, und was zu tun ist.<\/li>\n<li><strong>Sicherungskopien bleiben Sicherungskopien.<\/strong> Die R\u00fccksicherungen, die WordPress bei Plugin-Updates anlegt, und Bastoras eigene Dateien flie\u00dfen in keine Bewertung ein.<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li><strong>Der Dialog beim Abschalten geht wieder auf.<\/strong> Wer Bastora deaktiviert, wird nach dem Grund gefragt. Bisher blieb die Nachfrage aus, weil Bastora den falschen Teil der Plugin-Liste angesprochen hatte. Die Antwort bleibt freiwillig, \u00fcberspringen geht weiterhin mit einem Klick, und ohne Absenden wird nach wie vor nichts \u00fcbertragen.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li><strong>Bastora fasst gekaufte Erweiterungen nicht mehr an.<\/strong> Beim Abgleich mit wordpress.org hat Bastora bisher jede Installation gegen das dortige kostenlose Paket gemessen. Bei einer bezahlten Ausgabe ist das der falsche Ma\u00dfstab: Sie tr\u00e4gt denselben Namen und dieselbe Versionsnummer, enth\u00e4lt aber anderen Code. Bastora hielt diesen Unterschied f\u00fcr eine Manipulation und bot an, die Dateien zu \"reparieren\", also die bezahlte Fassung durch die kostenlose zu ersetzen. Genau das ist auf Kundenseiten passiert. Bastora erkennt solche Pakete jetzt und l\u00e4sst sie unangetastet.<\/li>\n<li><strong>Mitgelieferte Bibliotheken werden nicht mehr bewertet.<\/strong> Was in <code>vendor\/<\/code>, <code>freemius\/<\/code> oder <code>node_modules\/<\/code> liegt, stammt aus einem Paketwerkzeug. Welche Version einer Bibliothek eine Erweiterung mitbringt, ist keine Frage der Sicherheit der Website. Eine Abweichung dort ist deshalb kein Befund mehr.<\/li>\n<li><strong>Keine zweite Runde an derselben Datei.<\/strong> Wurde eine Datei einmal auf das Original zur\u00fcckgesetzt und weicht danach erneut ab, schreibt sie eine laufende Software neu. Bastora fasst sie dann nicht noch einmal an, statt in ein endloses Hin und Her zu geraten.<\/li>\n<li><strong>Bastora r\u00e4umt in bezahlten Erweiterungen nichts mehr von selbst weg.<\/strong> Ein Fund dort bleibt sichtbar und l\u00e4sst sich mit einem Klick behandeln, aber die Entscheidung trifft der Betreiber, nicht das Plugin.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li><strong>Die Anmeldewache sperrt kein Konto mehr aus.<\/strong> Bisher konnte sie einen Zugang f\u00fcr 24 Stunden schlie\u00dfen, wenn eine Anmeldung ungew\u00f6hnlich aussah. Ein Fehlalarm hat damit den Betreiber selbst ausgesperrt. Diese Sperre ist ersatzlos entfallen, offene Sperren werden beim Update aufgehoben. Der Schutz gegen falsche Passw\u00f6rter bleibt unver\u00e4ndert.<\/li>\n<li><strong>Statt der IP-Adresse z\u00e4hlt jetzt das Ger\u00e4t.<\/strong> Deutsche Anschl\u00fcsse bekommen bei jeder Einwahl eine neue Adresse, im Mobilfunk wechselt sie noch \u00f6fter. Eine Liste vertrauter Netze w\u00e4chst damit endlos und erkennt trotzdem nichts. Bastora merkt sich stattdessen das Ger\u00e4t und l\u00e4sst es beim n\u00e4chsten Mal still durch.<\/li>\n<li><strong>Bei einem neuen Ger\u00e4t bekommst Du eine Nachricht, keine Sperre.<\/strong> Die Anmeldung geht durch, und an die hinterlegte Adresse geht eine kurze Mail. Beim zweiten Mal von demselben Ger\u00e4t bleibt es still.<\/li>\n<li><strong>Nur bei einem harten Anhaltspunkt fragt Bastora nach.<\/strong> Etwa wenn kurz zuvor das Passwort dieses Kontos in Serie geraten wurde und der n\u00e4chste Versuch dann klappt, oder wenn die Anmeldung nicht aus einem Browser kommt, sondern von einem Programm. Dann geht ein Best\u00e4tigungslink an das Konto: klicken, erneut anmelden, fertig. Das ist keine Sperre, und wer den Link nicht klickt, bekommt beim n\u00e4chsten Versuch einfach einen neuen. Ein neues Netz, eine ungewohnte Uhrzeit oder ein Schadcode-Fund auf der Website reichen daf\u00fcr ausdr\u00fccklich nicht mehr, auch nicht zusammen.<\/li>\n<li><strong>L\u00e4sst sich die Mail nicht zustellen, wird durchgelassen.<\/strong> Eine R\u00fcckfrage ohne R\u00fcckweg w\u00e4re eine Falle. Der Betreiber bekommt dann stattdessen einen Hinweis.<\/li>\n<li><strong>Keine Netzsperre, solange jemand angemeldet ist.<\/strong> Eine Sperre auf ein ganzes Netz trifft die komplette Website, nicht nur die Anmeldung. Sitzt gerade ein Betreiber im selben Netz, w\u00e4re er damit vollst\u00e4ndig ausgesperrt.<\/li>\n<li><strong>Ein Platzhalter ist keine Herkunft.<\/strong> Kennt der Server die Adresse des Aufrufers nicht, entstand daraus bisher eine Sperrregel auf ein Scheinnetz. Auf manchen Installationen h\u00e4tte die jeden Besucher getroffen. Solche Werte werden jetzt abgewiesen.<\/li>\n<li><strong>Bastora sieht, wer auf demselben Webspace wohnt.<\/strong> Liegen mehrere WordPress-Installationen im selben Hosting-Paket, laufen sie alle unter demselben Benutzerkonto des Servers. Dateirechte trennen sie deshalb nicht: Wird eine davon \u00fcbernommen, kann der Angreifer von dort aus in die anderen schreiben. Genau so kehrt eine bereinigte Infektion zur\u00fcck. Bastora erkennt solche Nachbarn und sagt, welche von hier aus erreichbar sind. Dabei wird keine fremde Installation angefasst, gemessen wird ausschlie\u00dflich von der eigenen Seite aus.<\/li>\n<li><strong>Bastora greift dabei bewusst nicht ein.<\/strong> Trennen lassen sich solche Installationen nur auf Server-Ebene, und eine zu eng gesetzte Grenze legt eine Website so still, dass kein Plugin sie wieder aufmachen kann. Bastora meldet die Lage deshalb und nennt den Weg: Dein Hoster kann die Installationen gegeneinander abgrenzen.<\/li>\n<li><strong>Spam-Kommentare lassen sich mit einem Klick wegr\u00e4umen.<\/strong> WordPress h\u00e4lt Spam zur\u00fcck, aber es r\u00e4umt ihn nicht weg: die Eintr\u00e4ge bleiben in der Datenbank stehen. Bastora z\u00e4hlt sie, sagt Dir wie viele es sind und l\u00f6scht sie auf Klick endg\u00fcltig, in Paketen, damit auch eine \u00fcbervolle Datenbank nicht ins Zeitlimit l\u00e4uft. Freigegebene Kommentare bleiben unber\u00fchrt.<\/li>\n<li><strong>Die Kommentarfunktion l\u00e4sst sich schlie\u00dfen, ganz oder nur dort, wo noch keine Kommentare stehen.<\/strong> \u00dcber ein Kommentarformular ist es m\u00f6glich, dass jemand ohne Anmeldung etwas direkt in Deine Datenbank schreibt. Wer Kommentare nicht ben\u00f6tigt, schlie\u00dft damit eine potenzielle Angriffsfl\u00e4che. Vorhandene Kommentare bleiben in beiden F\u00e4llen sichtbar, geschlossen wird nur die Annahme neuer.<\/li>\n<li><strong>Der Weg zur\u00fcck steht in den Einstellungen.<\/strong> Bastora merkt sich, welche Seiten es geschlossen hat, und \u00f6ffnet auf Klick genau diese wieder. Was Du selbst geschlossen hattest, bleibt zu.<\/li>\n<li><strong>Bots werden auf Server-Ebene abgewiesen.<\/strong> Wo der Server es zul\u00e4sst, tr\u00e4gt Bastora die Abweisung in die Serverkonfiguration ein. Sie greift damit, bevor WordPress \u00fcberhaupt startet, und ein Crawler-Ansturm kostet Deine Website nicht mehr die Arbeit einer ganzen Seitenauslieferung. Suchmaschinen und Linkvorschauen bleiben zugelassen.<\/li>\n<li><strong>Der Einrichtungsassistent fragt nach KI- und SEO-Crawlern.<\/strong> Zwei getrennte Fragen, weil die Folgen verschieden sind: KI-Crawler auszusperren kostet Sichtbarkeit in KI-Antworten, SEO-Crawler auszusperren kostet die eigenen Auswertungen in Ahrefs und Semrush. Beides steht bei der Frage dabei.<\/li>\n<li><strong>Angriffswerkzeuge werden an ihrer eigenen Kennung erkannt.<\/strong> Wer sich als Sicherheits-Scanner ausweist, wird als solcher behandelt, unabh\u00e4ngig davon, welche weiteren W\u00f6rter in derselben Kennung stehen.<\/li>\n<li><strong>Eine leere Datei mit auff\u00e4lligem Namen im Hauptverzeichnis wird als Hinweis gemeldet.<\/strong> Automatisierte Angriffe legen solche Marken ab, um sich zu merken, wo sie schon waren. Der Fund steht ausdr\u00fccklich als Hinweis da, nicht als Einbruchsbeleg.<\/li>\n<li><strong>Bastoras eigene Werkzeuge werden als solche erkannt.<\/strong> Ein Notfall-Werkzeug, das nach Schadcode sucht, tr\u00e4gt dessen Merkmale im Klartext. Die Ausnahme daf\u00fcr h\u00e4ngt an der Pr\u00fcfsumme: ein einziges ver\u00e4ndertes Byte, und die Datei wird ganz normal gepr\u00fcft.<\/li>\n<li><strong>Die Serverkonfiguration bleibt sauber.<\/strong> Gibt es nichts zu sperren, hinterl\u00e4sst Bastora dort auch keinen leeren Abschnitt.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Bastora findet jetzt die Hintert\u00fcr, die eine Neuinstallation \u00fcberlebt.<\/strong> Wer WordPress nach einem Einbruch neu aufsetzt und die Datenbank mitnimmt, nimmt den Angreifer oft mit. Bastora sieht deshalb an den Stellen nach, die kein Dateiscanner erreicht: gepackte Nutzlasten, die unter einem Zufallsnamen in der Datenbank liegen, Ausl\u00f6ser, die beim Schreiben eines Kommentars selbstt\u00e4tig ein Administrator-Konto anlegen, zeitgesteuerte Aufgaben und gespeicherte Routinen der Datenbank, und Code-Schnipsel, die als Einstellung oder Beitrag abgelegt sind.<\/li>\n<li><strong>Versteckte Administrator-Konten fallen auf.<\/strong> Schadsoftware blendet die eigenen Konten aus der Benutzerliste aus, dann sieht im Backend niemand sie. Bastora z\u00e4hlt die Administratoren direkt in der Datenbank und vergleicht das mit dem, was WordPress anzeigt. Stehen dort mehr, blendet jemand aus. Das ist eine Aussage \u00fcber die Manipulation und \u00fcberlebt jede Umbenennung.<\/li>\n<li><strong>Zwei Merkmale, an denen ein untergeschobenes Konto sich verr\u00e4t.<\/strong> Ein Kennwortwert, den WordPress so nie vergibt, weil er per Datenbank direkt hineingeschrieben wurde. Und ein Anlagezeitpunkt, der vom allerersten Konto der Website abgeschrieben ist, damit das fremde Konto in der Liste wie eine Altlast aussieht.<\/li>\n<li><strong>Eine hochgeladene Datei mit ausf\u00fchrbarem Code kommt gar nicht erst an.<\/strong> Bastora pr\u00fcft jeden Upload, bevor er im Verzeichnis landet, und weist ihn ab, wenn Code darin steckt. Ein Bild bleibt ein Bild, ein Archiv wird durchgelassen, damit Installationen weiter funktionieren.<\/li>\n<li><strong>Dateien an Orten, an denen keine sein d\u00fcrfen.<\/strong> Eine versteckte Datei mit Zufallsnamen im WordPress-Kernverzeichnis. Dieselbe Datei in mehreren PHP-Endungen nebeneinander, weil der Angreifer sucht, welche der Server ausf\u00fchrt. Eine PHP-Datei im Upload-Ordner. Ein Verzeichnis, das sich betreten und beschreiben, aber nicht auflisten l\u00e4sst.<\/li>\n<li><strong>Wo eine bekannte L\u00fccke sitzt, wird sch\u00e4rfer gehandelt.<\/strong> Meldet der t\u00e4gliche Abgleich eine Sicherheitsl\u00fccke in einer Deiner Erweiterungen, blockt die Firewall Angriffe auf genau diesen Bereich, statt sie nur zu vermerken. Der \u00fcbrige Verkehr bleibt davon unber\u00fchrt.<\/li>\n<li><strong>Angriffe, die aus echten Vorf\u00e4llen stammen.<\/strong> Neun neue Erkennungsmuster und zw\u00f6lf Pr\u00fcfsummen kommen aus der Untersuchung eines tats\u00e4chlichen Einbruchs, nicht aus einer Liste. Darunter: eine vorgeschaltete Datei in der Serverkonfiguration, das Auslesen der Zugangsdatei \u00fcber einen Umweg, das Einsammeln der Sicherheitsschl\u00fcssel und nachgeladener Code, der vor der Ausf\u00fchrung von seinen Marken befreit wird.<\/li>\n<li><strong>Der Angriffsz\u00e4hler trennt jetzt Rauschen von echten Angriffen.<\/strong> Ein Aufruf der Hinweisdatei oder die Frage nach der Autorenliste ist kein Angriff, auch wenn Bastora ihn vermerkt. Beide Zahlen stehen nebeneinander, die alte bleibt unver\u00e4ndert erhalten.<\/li>\n<li><strong>Deine Anmeldedaten werden gesichert, bevor Sitzungen beendet werden.<\/strong> Sperrt Bastora ein Konto, waren Anmeldezeitpunkt, Adresse und Browserkennung bisher weg. Genau die brauchst Du danach, um zu beurteilen, wer betroffen war. Sie bleiben jetzt 90 Tage auf Deiner Website liegen und werden nirgendwohin \u00fcbertragen.<\/li>\n<li><strong>Behoben: Bastoras eigene Sicherung der Zugangsdatei war lesbar.<\/strong> Beim \u00c4ndern der <code>wp-config.php<\/code> legte Bastora eine Sicherung daneben, die der Server als reinen Text ausgeliefert h\u00e4tte: mit Datenbank-Kennwort und allen Sicherheitsschl\u00fcsseln. Die Sicherung tr\u00e4gt jetzt eine Endung, die nie als Text ausgeliefert wird, und ist zus\u00e4tzlich per Serverregel gesperrt. Eine Sicherung aus einer fr\u00fcheren Fassung bringt Bastora beim n\u00e4chsten Pr\u00fcflauf selbst in diese Form, statt sie Dir als fremden Fund vorzuhalten. Jede andere Kopie der Zugangsdatei im Verzeichnis wird gemeldet.<\/li>\n<li><strong>Behoben: Auskommentierte Zeilen in der Zugangsdatei wurden f\u00fcr g\u00fcltig gehalten.<\/strong> Stand oberhalb der wirksamen Zeile ein alter, auskommentierter Eintrag, hat Bastora diesen gelesen. Die Datei wird jetzt so ausgewertet, wie PHP sie liest, nicht mit einer Textsuche.<\/li>\n<li><strong>Behoben: \"Alles gr\u00fcn\" stand auch dann da, wenn Bastora nichts messen konnte.<\/strong> Punkte, die sich nicht pr\u00fcfen lassen, etwa weil der Versions-Abgleich mit wordpress.org nicht freigegeben ist, galten intern als bestanden. Deshalb zeigte eine Ebene \"alles gr\u00fcn\", in der nichts gemessen war, und der Hinweis auf die Pro-Version lobte eine Punktzahl, die Deine Website gar nicht erreicht hatte. Beides h\u00e4ngt jetzt am tats\u00e4chlichen Ergebnis. Was ungemessen bleibt, steht als \"nicht pr\u00fcfbar\" daneben.<\/li>\n<li><strong>Behoben: Beim Deinstallieren kam die Abmeldung vom Schwarm nie an.<\/strong> Sie ging an eine Adresse, die auf die richtige weiterleitet, und einer Weiterleitung folgt dieser Aufruf nicht. Der Eintrag blieb dadurch auf dem Server stehen. Die Adresse ist korrigiert, und beim Entfernen bleibt jetzt nichts mehr zur\u00fcck: keine Einstellung, keine Tabelle, keine Datei, keine Zeile in der Serverkonfiguration.<\/li>\n<li><strong>Verteilte Firewall-Regeln schalten sich ab, wenn sie hier falsch liegen.<\/strong> Trifft eine zentral verteilte Regel wiederholt eine angemeldete Redaktion, nimmt Bastora sie auf dieser Website aus dem Verkehr und meldet das zur\u00fcck. Sie kommt durch den n\u00e4chsten Abruf nicht wieder. Jede neue Regel l\u00e4uft ohnehin erst im Beobachten mit und wird vor der Verteilung gegen einen Bestand echter, harmloser Aufrufe gepr\u00fcft.<\/li>\n<\/ul>\n\n<p>\u00c4ltere Eintr\u00e4ge stehen in der Datei changelog.txt im Plugin-Ordner.<\/p>","raw_excerpt":"62-Punkte-Sicherheits-Check mit Firewall, Schadcode-Scanner, URL-Reputation, Captcha, Schwarm-Schutz und Auto-Reparatur der WordPress-Kerndateien.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/316373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=316373"}],"author":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mathiasva"}],"wp:attachment":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=316373"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=316373"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=316373"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=316373"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=316373"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=316373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}