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.
Schlüssel für Rechnungs- und ERP-Systeme
Aktualisierung, . Ein WooCommerce-Plugin oder eine Shopify-App, die Rechnungen in einem externen System ausstellt, speichert dessen API-Schlüssel. Der polnische Rechnungsdienst Fakturownia teilte in seiner Vorfallsmeldung mit, dass eine unbefugte Person vom 27. September 2026 (gegen 3:20 Uhr) bis zum 28. September 2026 (gegen 17:45 Uhr) Zugriff auf seine Systeme hatte und einen großen Teil der Datenbank kopierte, darunter API-Token und Integrationsschlüssel aus den Kontoeinstellungen. Der Vorfall betrifft jedes Konto. In der Nacht vom 28. auf den 29. September tauschte das Unternehmen die API-Token der Kunden aus; die bisherigen Schlüssel funktionieren seitdem nur noch von IP-Adressen, die die Nutzer des Kontos zuvor verwendet hatten. Integrationen im Reiter “Integracje i dodatki” (Integrationen und Add-ons) waren nicht betroffen. Für alle anderen empfiehlt Fakturownia, neue Schlüssel zu erzeugen und in den Integrationen einzutragen, bei Integrationen externer Anbieter nach vorheriger Absprache mit dem Anbieter über den Zeitpunkt.
Für die im Konto erfassten Kundendaten ist das Unternehmen, das Fakturownia nutzt, Verantwortlicher und Fakturownia Auftragsverarbeiter. Die DSGVO verteilt die Pflichten so:
- Der Auftragsverarbeiter meldet dem Verantwortlichen eine Verletzung unverzüglich, nachdem sie ihm bekannt wurde (Art. 33 Abs. 2). Nach Angaben von Fakturownia ist die ab dem 1. Oktober 2026 versandte E-Mail an die Kontoinhaber diese Meldung.
- Der Verantwortliche meldet die Verletzung unverzüglich und möglichst binnen 72 Stunden, nachdem sie ihm bekannt wurde, der zuständigen Aufsichtsbehörde (in Deutschland für Unternehmen der nach Landesrecht zuständigen Datenschutzaufsicht, in Österreich der Datenschutzbehörde), es sei denn, sie führt voraussichtlich nicht zu einem Risiko für die Rechte und Freiheiten natürlicher Personen. Erfolgt die Meldung nicht binnen 72 Stunden, ist ihr eine Begründung für die Verzögerung beizufügen (Art. 33 Abs. 1).
- Hat die Verletzung voraussichtlich ein hohes Risiko für die Rechte und Freiheiten natürlicher Personen zur Folge, benachrichtigt der Verantwortliche die betroffenen Personen unverzüglich (Art. 34 Abs. 1).
- Der Verantwortliche dokumentiert jede Verletzung, auch wenn er sie nicht meldet (Art. 33 Abs. 5).
In Deutschland überwachen nach § 40 Abs. 1 BDSG die nach Landesrecht zuständigen Behörden die nichtöffentlichen Stellen, die Meldung geht also an die Landesdatenschutzbehörde am Sitz Ihres Unternehmens. In Österreich ist die Datenschutzbehörde nach § 18 Abs. 1 DSG die nationale Aufsichtsbehörde im Sinne von Art. 51 DSGVO. In der Schweiz gilt für Schweizer Verantwortliche das revidierte Datenschutzgesetz: Nach Art. 24 DSG melden Sie dem EDÖB so rasch als möglich eine Verletzung der Datensicherheit, die voraussichtlich zu einem hohen Risiko für die Persönlichkeit oder die Grundrechte der betroffenen Person führt. Eine feste 72-Stunden-Frist nennt das Gesetz nicht, und die Schwelle liegt beim hohen Risiko statt bei jedem Risiko; der Auftragsbearbeiter meldet dem Verantwortlichen ebenfalls so rasch als möglich (Art. 24 Abs. 3).
Tauschen Sie beim Audit den Schlüssel des Rechnungssystems nach jeder Vorfallsmeldung des Anbieters aus und prüfen Sie, ob er sich auf die IP-Adresse Ihres Shop-Servers beschränken lässt. Fakturownia hat die alten Schlüssel nach dem Vorfall auf diese Weise eingeschränkt.
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 |
| Schlüssel eines Rechnungs- oder ERP-Systems | Einstellungen des Shop-Plugins und Konto im Rechnungssystem | Neuen Schlüssel im Rechnungssystem erzeugen und im Shop ersetzen | Vorfall beim Anbieter (z. B. Fakturownia, September 2026), Systemwechsel |
| 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.
API-Schlüssel rotieren: Schritte für Stripe, Cloudflare, Shopify und GitHub
Die oben beschriebene Reihenfolge gilt überall, doch jede Plattform hat eigene Schalter. Die folgenden Schritte stammen aus der Dokumentation der Anbieter, Stand Oktober 2026.
Stripe: geheime und eingeschränkte Schlüssel
- Öffnen Sie auf der Seite der API-Schlüssel das Menü neben dem Schlüssel und wählen Sie Anfrage-Logs anzeigen. Workbench zeigt, welche Systeme Stripe noch mit diesem Schlüssel aufrufen.
- Wählen Sie Schlüssel rotieren und legen Sie fest, wann der alte Schlüssel abläuft. Laut Stripe-Dokumentation funktionieren alter und neuer Schlüssel nach einer Rotation im Dashboard bis zu 7 Tage parallel. Brauchen Sie länger, erstellen Sie manuell einen neuen Schlüssel und lassen den alten nach der Umstellung ablaufen.
- Tragen Sie den neuen Schlüssel im Shop oder auf dem Server ein und prüfen Sie die Logs des alten Schlüssels erneut. Stripe empfiehlt, ihn erst ablaufen zu lassen, wenn einige Stunden oder Tage lang keine Anfragen mehr damit kamen.
- Weisen Sie jedem Live-Schlüssel eine Zugriffsrichtlinie zu. Sie beschränkt den Schlüssel auf IPv4-Adressen oder CIDR-Bereiche oder, bei dynamisch skalierenden Servern, auf eine ASN und ein Land. Zusätzlich lassen sich anonyme VPNs, öffentliche Proxys und Tor-Exit-Nodes sperren. Verstößt eine Anfrage gegen die Richtlinie, blockiert Stripe sie und benachrichtigt Sie.
Für die meisten Integrationen empfiehlt Stripe eingeschränkte Schlüssel (rk_); uneingeschränkte geheime Schlüssel empfiehlt Stripe für neue Anwendungsfälle nicht mehr. Webhook-Signaturgeheimnisse sind von API-Schlüsseln getrennt und bleiben bei einer Rotation unverändert.
Cloudflare: Token mit IP-Filter und Ablaufdatum
Füllen Sie beim neuen Token die zwei optionalen Felder aus, die viele übergehen. Client IP Address Filtering: Ohne Regel darf jede IP-Adresse den Token nutzen; eine Is in-Regel beschränkt ihn auf die angegebenen Adressen oder CIDR-Bereiche, Is not in nimmt einzelne Adressen aus einem Bereich aus. TTL: ein Startdatum (notBefore) und ein Enddatum (notAfter). Ein Token ohne Enddatum läuft nie ab, und die Daten gelten ab 00:00 UTC des gewählten Tages (Tokens einschränken). Ein Token zum Leeren des Caches, gebunden an die feste IP Ihres Servers und mit Enddatum zum nächsten Jahrescheck, ist eine vernünftige Grundeinstellung.
Shopify: Zugangsdaten eigener Apps
Seit dem 1. Januar 2026 werden eigene Apps (Custom Apps) im Dev Dashboard erstellt und verwaltet. Custom Apps, die vor diesem Datum im Admin angelegt wurden, verwalten Sie weiterhin im Admin als Legacy-Apps (Custom Apps). Davon hängt die Rotation ab. Laut Shopify-Anleitung bekommt eine App im Dev Dashboard unter Settings, Credentials, Rotate ein neues Client Secret, und das alte bleibt aktiv, bis Sie es widerrufen. Webhooks signiert Shopify mit dem ältesten nicht widerrufenen Secret, also muss die App während der Umstellung beide Signaturen akzeptieren. Tokens aus Client Credentials gelten 24 Stunden. Widerrufen Sie das alte Secret erst, wenn alle gespeicherten Tokens ersetzt sind, denn daran gebundene Tokens funktionieren danach nicht mehr. Eine im Admin erstellte Legacy-App kann ihr Secret nicht rotieren: Um die Zugangsdaten zu ändern, deinstallieren Sie die App und installieren sie neu. Wird ein Secret gerade missbraucht, rät Shopify, es sofort zu widerrufen und den Ausfall der App bis zum neuen Secret hinzunehmen.
GitHub: Fine-grained Tokens und Deploy-Keys
Ein Fine-grained Personal Access Token erreicht die Ressourcen genau eines Nutzers oder einer Organisation und lässt sich auf ausgewählte Repositories beschränken. Die Laufzeit liegt zwischen 1 und 366 Tagen oder ist unbegrenzt, Standard sind 30 Tage, und eine Organisationsrichtlinie kann unbefristete Tokens verbieten. Tokens, die ein Jahr lang nicht benutzt wurden, entfernt GitHub automatisch (Tokens verwalten).
Beim Aufräumen zählen zwei Details. Löschen Sie einen Token, mit dem ein Deploy-Key erstellt wurde, verschwindet auch dieser Deploy-Key; prüfen Sie deshalb vorher die Deploy-Keys des Repositorys. Organisationsinhaber sehen und widerrufen nur Fine-grained Tokens. Ein klassischer Token behält Zugriff auf Ressourcen der Organisation bis zu seinem Ablauf, sofern die Organisation klassische Tokens nicht beschränkt (Tokens in der Organisation prüfen).
WooCommerce: REST-API-Schlüssel ersetzen
WooCommerce kennt keine Rotation per Klick. Legen Sie einen neuen Schlüssel an, dessen Beschreibung die Integration benennt, ordnen Sie ihn einem eigenen Nutzer zu, wählen Sie die engste Berechtigung (für Berichte und den Export an die Buchhaltung reicht Read), kopieren Sie das Consumer Secret, weil es nur einmal angezeigt wird, stellen Sie die Integration um und widerrufen Sie danach den alten Schlüssel.
Wo wird die Nutzung von API-Schlüsseln protokolliert
| Plattform | Was protokolliert wird | Benachrichtigung |
|---|---|---|
| WordPress | Letzte Nutzung (auf 24 Stunden genau) und letzte IP-Adresse jedes Anwendungspassworts | Im Core nicht dokumentiert |
| Stripe | Anfrage-Logs je Schlüssel in Workbench | Meldung, wenn eine Zugriffsrichtlinie eine Anfrage blockiert |
| Cloudflare | Audit Logs mit Änderungen an Konto und Zonen, 18 Monate aufbewahrt (Audit Logs) | Auf der Seite nicht beschrieben |
| GitHub | Fine-grained Tokens mit Zugriff auf die Organisation, sichtbar für Inhaber | E-Mail an den Ersteller, wenn ein Inhaber den Token widerruft |
| Shopify | Letzte Nutzung jeder Berechtigung auf der App-Seite, ungenutzte Zugriffe nach 30 Tagen | Nicht dokumentiert |
Stripe ist damit die einzige Stelle, die Sie von selbst warnt. Richten Sie die Zugriffsrichtlinien deshalb zuerst ein und sehen Sie sich die übrigen vier Ansichten beim Jahrescheck und nach jedem der oben genannten Anlässe an.
Was beim Weggang von Mitarbeitern oder Agentur zu sperren ist
Arbeiten Sie diese Liste am Tag ab, an dem der Zugriff endet:
- WordPress: Anwendungspasswörter der Person löschen, ihre Sitzungen beenden, das Konto löschen und die Beiträge einem anderen Nutzer zuordnen (WP-CLI):
wp user application-password delete 123 --all
wp user session destroy 123 --all
wp user delete 123 --reassign=2- WooCommerce: alle REST-API-Schlüssel dieses Nutzers widerrufen und benötigte Schlüssel unter einem technischen Konto neu anlegen.
- Shopify: Mitarbeiter- oder Collaborator-Konto entfernen und die installierten Apps prüfen. Für eigene Apps braucht man die Berechtigung App development, Develop, und Collaborator-Konten können das Dev Dashboard nicht nutzen; klären Sie also, wer diese Berechtigung hatte und welche Apps entstanden sind.
- Cloudflare: Tokens der Person löschen oder, wenn eine Integration sie braucht, rollen; danach die Audit Logs für den Zeitraum ihres Zugriffs durchsehen.
- GitHub: Person aus Repository oder Organisation entfernen, Deploy-Keys auf den von ihr eingerichteten Servern löschen und ihre Fine-grained Tokens widerrufen. SSH-Keys, die über einen widerrufenen Token erstellt wurden, funktionieren weiter und müssen separat gelöscht werden.
- Stripe: jeden geheimen und eingeschränkten Schlüssel rotieren, den die Person sehen konnte. Stripe nennt den Weggang oder Rollenwechsel eines Teammitglieds ausdrücklich als Anlass.
- Fernverwaltung und Backups: Verbindungsschlüssel auf jeder Website löschen, wie oben für UpdraftCentral beschrieben, und den Remote-Speicher für Backups neu autorisieren.
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.







