Im Oktober 2026 gelangten Angreifer über Verbindungen auf WordPress-Websites, die die Betreiber selbst eingerichtet hatten, teils ohne es zu wissen. Ein schwaches Passwort war dafür nicht nötig. Wer eine Firmenwebsite oder einen Onlineshop betreibt, sollte deshalb wissen, welche Dienste einen Schlüssel zur Website besitzen und welche Schlüssel die Website zu anderen Diensten speichert. Diese Anleitung gilt für WordPress, WooCommerce, Shopify und individuelle Systeme gleichermaßen.
Was ist bei UpdraftCentral passiert
TeamUpdraft schreibt in seiner Sicherheitsmeldung, dass am Wochenende des 17. und 18. Oktober unbefugt auf teamupdraft.com zugegriffen wurde und die Kundendatenbank vermutlich ausgelesen ist. Darin lagen Namen, E-Mail-Adressen, gehashte Passwörter, Einstellungen der Zwei-Faktor-Anmeldung und die Verbindungsschlüssel für UpdraftCentral, UpdraftVault und UpdraftClone. Kartendaten speichert das Unternehmen nicht. Der Angreifer nutzte die Verbindung zu Kunden-Websites, um Admin-Konten anzulegen und schädliche Plugins zu installieren. In einem späteren Update warnte TeamUpdraft vor unerwarteten Konten mit der Rolle Redakteur. UpdraftPlus 1.26.13 (kostenlos) und 2.26.13 (Premium) vom 19. Oktober trennen jede UpdraftCentral-Verbindung, die vor dem 18. Oktober, 13:07 Uhr britischer Zeit, angelegt wurde.
Die Analyse von Patchstack erklärt, warum übliche Schutzmaßnahmen nicht griffen. Die Befehle waren mit echten Dashboard-Schlüsseln signiert, also bestand jeder Prüfschritt im Plugin. Eine verbundene Website führt jeden signierten Befehl mit den Rechten des Benutzers aus, der die Verbindung angelegt hat, und niemand bestätigt einzelne Befehle. Viele Betreiber hatten das nie bewusst gewählt: Beim Verbinden eines TeamUpdraft.com-Kontos war das Kästchen für die Aufnahme in UpdraftCentral vorab angehakt. Die Schlüssel liefen nicht ab, Patchstack sah Schlüssel vom November 2025, die im Oktober 2026 noch funktionierten. Die Hintertür-Konten erschienen als Redakteure, hatten aber die Rechte manage_options und install_plugins, weshalb ein Blick auf die Administratorenliste sie nicht zeigte.
Was war mit Rank Math PRO 3.0.123
Laut Stellungnahme von Rank Math enthielt PRO 3.0.123, wenn es zwischen dem 15. Oktober, 20:02 UTC, und dem 16. Oktober, 07:12 UTC, heruntergeladen wurde, Schadcode. Version 3.0.124 ist sauber, die kostenlose Version von WordPress.org war nicht betroffen. Wer die verseuchte Version aktiviert hat, soll davon ausgehen, dass alle Geheimnisse der Website offenliegen, und Folgendes ändern: WordPress-Passwörter, Datenbankzugang, Schlüssel und Salts in der wp-config.php, Schlüssel der Zahlungsanbieter, SMTP-Zugangsdaten, weitere API-Schlüssel, Hosting-, FTP- und SSH-Zugänge sowie die Zwei-Faktor-Einstellungen der Administratoren.
Diese Liste beschreibt gut, was eine Website enthält. Die Website speichert Schlüssel zu fremden Systemen, und fremde Systeme speichern Schlüssel zur Website. Die Prüfung muss beide Richtungen abdecken. Den größeren Zusammenhang beschreibt unser Beitrag über Supply-Chain-Angriffe auf WordPress im Jahr 2026.
Wer hat Zugriff auf meine Website
Das Verzeichnis entsteht aus drei Quellen: der Website selbst (Benutzer, Plugins oder Apps, Einstellungen), den Firmenkonten (Rechnungen, Passwortmanager, das Postfach mit den Anmeldebestätigungen) und der Infrastruktur (DNS, CDN, Hosting-Panel, Code-Repository). Notieren Sie zu jedem Eintrag den Dienst, was er tun darf, wer den Schlüssel angelegt hat, wo der Schlüssel auf beiden Seiten liegt, wann er zuletzt genutzt wurde und wer im Unternehmen verantwortlich ist. Ein Eintrag ohne Verantwortlichen ist der erste Kandidat zum Löschen.
Dashboards für die Verwaltung mehrerer Websites
UpdraftCentral, ManageWP, MainWP und Jetpack verbinden sich über eine Komponente in WordPress: UpdraftPlus enthält den UpdraftCentral-Client, ManageWP nutzt das Plugin ManageWP Worker, MainWP das Plugin MainWP Child. Die andere Hälfte der Zugangsdaten liegt beim Anbieter oder auf einem Server der Agentur. Prüfen Sie die Plugin-Liste einschließlich der Must-Use-Plugins und fragen Sie Ihre Agentur, welche Dashboards sie einsetzt. Die Lehre aus der Patchstack-Analyse gilt für jedes Produkt dieser Art: Die Website aus dem Dashboard zu entfernen reicht nicht, der maßgebliche Schlüssel liegt auf der Website.
Shop-Apps und Integrationen mit API-Zugriff
Öffnen Sie bei Shopify die Einstellungen, dort den Bereich Apps, und klicken Sie jede App an. Laut Shopify-Dokumentation zeigt die Seite der App, welche Shop-Bereiche sie lesen oder bearbeiten darf, mit dem Datum der letzten Aktivität je Bereich. Berechtigungen, die seit 30 Tagen nicht genutzt wurden, stehen in einem eigenen Abschnitt für ungenutzten Zugriff. Der Scope read_all_orders erweitert den Zugriff über das Standardfenster der Bestellungen der letzten 60 Tage hinaus (Access Scopes), fragen Sie also nach, wozu eine App ihn braucht. Exportieren Sie vor dem Deinstallieren die benötigten Daten, denn manche Apps speichern Daten, die sich danach nicht wiederherstellen lassen.
In WooCommerce liegen die Schlüssel in den WooCommerce-Einstellungen unter Erweitert, REST API. Jeder Schlüssel gehört zu einem WordPress-Benutzer und hat Lese-, Schreib- oder Lese- und Schreibrechte, das Consumer Secret wird nur einmal angezeigt (WooCommerce-Dokumentation). Prüfen Sie, wem jeder Schlüssel gehört und ob diese Person noch für Sie arbeitet.
Anwendungspasswörter und technische Konten
Mit Anwendungspasswörtern meldet sich ein Werkzeug per Basic Auth an der REST API an. Sie legen sie im Profil des Benutzers an und widerrufen sie dort. Der WordPress-Kern schränkt ihren Umfang nicht ein: Der Integrationsleitfaden nennt die Einschränkung als künftige Entwicklung, ein Anwendungspasswort darf also alles, was sein Benutzer darf. WordPress speichert die letzte Nutzung (auf einen Tag genau) und die letzte IP-Adresse. Mit WP-CLI:
wp user list --role=administrator
wp user list --role=editor
wp user application-password list 1 --fields=name,created,last_used,last_ipDie Redakteursliste gehört nach dem UpdraftCentral-Fall in jede Prüfung, weil die Hintertür-Konten genau diese Rolle hatten.
Tokens für CDN und DNS
Ein Token mit DNS-Schreibrecht genügt, um die Domain oder die Mail-Einträge umzuleiten. Bei Cloudflare beschränken Sie einen API-Token auf ausgewählte Berechtigungen und Zonen, zusätzlich auf IP-Adressen und eine Gültigkeitsdauer (Token anlegen). Der ältere Global API Key hat Zugriff auf alle Ressourcen eines Benutzers mit dessen vollen Rechten, Cloudflare rät für neue Einrichtungen davon ab (Global API Key). Nutzt ein Plugin, ein CI-Job oder ein Cache-Skript ihn noch, ersetzen Sie ihn durch einen Token für eine einzelne Zone.
Deploy-Keys bei GitHub
Ein Deploy-Key ist ein SSH-Schlüssel mit Zugriff auf genau ein Repository. Standardmäßig darf er nur lesen; mit Schreibrecht kann er so viel wie ein Organisationsmitglied mit Admin-Rechten. Laut GitHub-Dokumentation haben Deploy-Keys kein Ablaufdatum, meist keine Passphrase und bleiben aktiv, wenn die Person, die sie hinzugefügt hat, das Repository verlässt. Prüfen Sie sie in den Repository-Einstellungen im Bereich Deploy Keys, löschen Sie unbekannte und bestätigen Sie gültige.
Schlüssel für Zahlung, Mail und Backups
Bei Stripe legen Sie eingeschränkte Schlüssel mit selbst gewählten Rechten an. Beim Rotieren im Dashboard bestimmen Sie, wann der alte Schlüssel abläuft: sofort oder nach einer Frist, in der die Integration umstellen kann (Stripe-API-Schlüssel). Das SMTP-Passwort oder der API-Schlüssel des Mail-Dienstes steht in einem Plugin oder in der wp-config.php; wo genau, zeigt unser SMTP-Leitfaden.
Ein Backup enthält die komplette Datenbank mit Kundendaten und allen in Einstellungen gespeicherten Schlüsseln. TeamUpdraft hat alle Websites von UpdraftVault getrennt und neue Zugangsdaten ausgegeben. Websites, auf die über UpdraftCentral zugegriffen wurde, sollen den externen Speicher (Google Drive, Dropbox, Amazon S3) neu autorisieren und dessen Zugriffsschlüssel ändern. Prüfen Sie, wer Ihren Backup-Speicher lesen kann und ob das Backup-Werkzeug alte Stände löschen darf.
Checkliste: Zugriffe auf Website und Shop
| Diensttyp | Wo der Schlüssel liegt | Wie widerrufen | Wann erneuern |
|---|---|---|---|
| Verwaltungs-Dashboard (UpdraftCentral, ManageWP, MainWP, Jetpack) | Einstellungen des Verbindungs-Plugins auf der Website und Dashboard des Anbieters oder der Agentur | Erst den Schlüssel auf der Website löschen, dann die Website aus dem Dashboard | Vorfall beim Anbieter, Agenturwechsel, Dashboard ungenutzt |
| Shopify-App | Berechtigungen der App in den Shop-Einstellungen | Daten exportieren, App deinstallieren | Ungenutzter Zugriff, Vorfall beim Anbieter, App überflüssig |
| WooCommerce-REST-Schlüssel | WooCommerce-Einstellungen, einem WordPress-Benutzer zugeordnet | Widerrufen-Link neben dem Schlüssel | Zugeordneter Benutzer geht, Integration wird ersetzt |
| WordPress-Anwendungspasswort | Benutzerprofil, als Hash gespeichert | Widerrufen im Profil oder per WP-CLI | Keine Nutzung seit der letzten Prüfung, Person geht, Einbruch |
| CDN- oder DNS-Token (Cloudflare) | Cloudflare-Konto und das Werkzeug, das die API aufruft | Token im Cloudflare-Profil löschen | Token in Logs oder Repository, Person oder Werkzeug geht |
| Deploy-Key (GitHub) | Privater Schlüssel auf dem Server, öffentlicher in den Repository-Einstellungen | Löschen im Bereich Deploy Keys | Server neu aufgesetzt oder kompromittiert, Agenturwechsel |
| Zahlungsschlüssel (Stripe, PayPal und andere) | Einstellungen des Shop-Plugins oder Umgebungsvariablen | Rotieren mit Ablauffrist für den alten Schlüssel | Einbruch, Zusammenarbeit mit Entwickler endet |
| Mail- oder SMTP-Schlüssel | SMTP-Plugin, wp-config.php, Umgebungsvariablen | Schlüssel beim Mail-Anbieter löschen | Einbruch, Wechsel von Plugin oder Anbieter |
| Zugang zum Backup-Speicher | Einstellungen des Backup-Plugins und Rechte beim Speicheranbieter | Beim Speicheranbieter widerrufen und neu autorisieren | Vorfall beim Anbieter, Einbruch |
API-Schlüssel widerrufen, ohne dass die Website ausfällt
Auf einer intakten Website gilt diese Reihenfolge: Ermitteln Sie, was den Schlüssel nutzt (Beschreibung, letzte Nutzung, Logs des Werkzeugs). Legen Sie einen Nachfolger mit engeren Rechten an, tragen Sie ihn im Werkzeug ein und testen Sie. Erst dann widerrufen Sie den alten Schlüssel. Beobachten Sie einige Tage lang fehlgeschlagene Bestellungen, fehlende Mails und abgebrochene Deployments. Die Ablauffrist bei Stripe ist für genau diesen Wechsel gedacht.
Nach einem Einbruch kehrt sich die Reihenfolge um: zuerst widerrufen, ausgefallene Integrationen danach neu verbinden. So sind die Anweisungen von TeamUpdraft für UpdraftCentral-Nutzer aufgebaut: direkt auf jeder Website anmelden, aktualisieren, Verbindungsschlüssel löschen, unbekannte Konten und Plugins entfernen, Admin-Passwörter ändern und erst dann neu verbinden. Hat ein Schlüssel zwei Enden, widerrufen Sie ihn an beiden. Ein nur im Anbieter-Panel gelöschter Schlüssel kann von der Website weiter akzeptiert werden, und ein nur auf der Website gelöschter Schlüssel kann weiter in der Datenbank des Anbieters liegen.
Wann sollte man API-Schlüssel rotieren
Rotieren Sie anlassbezogen, denn ein reiner Kalender hätte im Oktober 2026 niemandem geholfen. In die Abläufe gehören diese Auslöser:
- ein Sicherheitsvorfall bei einem Anbieter, der einen Schlüssel zu Ihrer Website hält oder von ihr einen erhält,
- Schadcode, der auf der Website lief, also alles von der Rank-Math-Liste oben,
- ein Mitarbeiter, Freelancer oder eine Agentur verliert den Zugang,
- ein Schlüssel taucht an falscher Stelle auf: in einem Repository, einem Support-Ticket, einem Mailverlauf, auf einem Screenshot,
- eine Integration wird durch ein anderes Werkzeug ersetzt.
Dazu kommt eine feste jährliche Durchsicht, bei der jeder Schlüssel gelöscht wird, den niemand erklären kann. Schlüssel ohne Ablaufdatum, etwa GitHub-Deploy-Keys oder die von Patchstack untersuchten UpdraftCentral-Schlüssel, bleiben gültig, bis jemand sie entfernt.
Was Sie von Agentur und Softwareanbietern verlangen sollten
Eine Agentur, die Ihre Website betreut, legt Schlüssel in Ihrem Namen an. Für Unternehmen, die unter das neue BSI-Gesetz fallen, ist das keine Stilfrage: § 30 Abs. 2 BSIG verlangt von wichtigen und besonders wichtigen Einrichtungen unter anderem Maßnahmen zur Sicherheit der Lieferkette, einschließlich der Beziehungen zu unmittelbaren Dienstleistern (Nr. 4), und Konzepte für die Zugriffskontrolle (Nr. 9). Auch ohne diese Pflicht gehören folgende Punkte in den Vertrag oder den Wartungsumfang:
- ein Verzeichnis aller Schlüssel, Tokens und Konten, die die Agentur anlegt, mit Zweck und Verantwortlichem, auf Anfrage und bei Vertragsende übergeben,
- Schlüssel in Ihren eigenen Konten, wo die Plattform es erlaubt, etwa ein Cloudflare-Token in Ihrem Konto, beschränkt auf Ihre Zone, damit der Widerruf nicht von der Agentur abhängt,
- ein Schlüssel pro Website und Werkzeug sowie persönliche Konten statt eines gemeinsamen Agentur-Logins,
- Widerruf aller Zugänge innerhalb einer vereinbarten Zahl von Tagen nach Vertragsende, schriftlich bestätigt,
- eine Meldefrist für Vorfälle. Eine Agentur mit Zugriff auf Kundendaten ist in der Regel Auftragsverarbeiter, Sie brauchen also einen AV-Vertrag nach Art. 28 DSGVO. Nach Art. 33 DSGVO meldet der Auftragsverarbeiter eine Verletzung unverzüglich an Sie, und Sie haben möglichst binnen 72 Stunden die zuständige Datenschutzaufsichtsbehörde zu informieren. Schreiben Sie eine konkrete Stundenzahl in den Vertrag.
Fragen Sie vor der Installation von Software mit Fernzugriff beim Anbieter nach, ob die Fernverbindung standardmäßig aktiv ist und ob ihre Schlüssel ablaufen. Bei UpdraftCentral war das Kästchen laut Patchstack vorab angehakt, und die Schlüssel hatten kein Ablaufdatum.
Diese Prüfung ist Teil unseres WordPress-Sicherheitsaudits, und das Schlüsselverzeichnis pflegen wir in der Wartung von WordPress-Websites. Bei WooCommerce-Shops gehört sie zum Store Reliability Plan, bei Shopify-Shops prüfen wir App-Berechtigungen im Rahmen der Arbeit als Shopify-Entwickler. Wie Plugin-Updates auf die Website gelangen und wo eine manipulierte Version durchrutschen kann, lesen Sie in den Beiträgen zur Update-Verzögerung bei WordPress.org und zu vier Plugin-Backdoors in einem Monat.







