Kurz gesagt: Die meisten gehackten WordPress-Seiten fallen nicht durch raffinierte Angriffe, sondern durch veraltete Plugins, schwache oder wiederverwendete Passwörter und zu viele Admin-Konten. Die wirksamsten Maßnahmen sind deshalb: alles aktuell halten, Zwei-Faktor-Anmeldung für alle Konten mit Schreibrechten, nur nötige Rechte vergeben, ungenutzte Plugins und Themes löschen und getestete Backups außerhalb des Servers. Sicherheits-Plugins sind eine sinnvolle Ergänzung, ersetzen diese Grundlagen aber nicht.
Diese Seite ist der Einstieg in den Bereich Sicherheit, Datenschutz & Backup. Die Maßnahmen sind nach Wirkung sortiert: Was oben steht, verhindert die meisten erfolgreichen Angriffe.
Wie WordPress-Seiten tatsächlich angegriffen werden
Angriffe auf WordPress laufen fast immer automatisiert. Bots durchsuchen das Internet nach Websites mit bekannten Sicherheitslücken in Plugins und Themes oder probieren Zugangsdaten aus früheren Datenlecks durch. Deine Seite muss also nicht „interessant“ sein, um angegriffen zu werden. Ziel ist meist, Spam-Seiten, Weiterleitungen, Phishing oder Schadcode einzuschleusen oder den Server für weitere Angriffe zu nutzen.
| Einfallstor | Gegenmaßnahme |
|---|---|
| Sicherheitslücke in Plugin oder Theme | zeitnahe, am besten automatische Updates; ungenutzte Erweiterungen löschen |
| Erratene oder gestohlene Passwörter | Passwort-Manager, Zwei-Faktor-Anmeldung, Begrenzung von Anmeldeversuchen |
| Zu viele Konten mit Admin-Rechten | Rollen nach dem Prinzip der geringsten Rechte |
| Veraltete Server-Software | aktuelle PHP-Version, Hoster mit Sicherheitsupdates |
| Unsichere Zugänge (FTP, Datenbank) | SFTP statt FTP, eigene Zugangsdaten je Dienst |
1. Alles aktuell halten
Updates sind die wichtigste einzelne Maßnahme. Sobald ein Patch erscheint, ist die Lücke öffentlich bekannt, und automatisierte Angriffe folgen oft innerhalb weniger Tage. Aktiviere automatische Updates für den Kern und für vertrauenswürdige Plugins, siehe Automatische Updates konfigurieren. Halte auch die PHP-Version aktuell, siehe PHP-Version herausfinden. Plugins, die seit Jahren keine Updates bekommen oder aus dem Verzeichnis entfernt wurden, ersetzt du. Wie du Plugins bewertest, steht in WordPress-Plugins finden und prüfen.
2. Anmeldung absichern
- Starke, einmalige Passwörter: Nutze einen Passwort-Manager und für jede Website ein eigenes Passwort. Wiederverwendete Passwörter aus fremden Datenlecks sind ein Hauptgrund für übernommene Konten.
- Zwei-Faktor-Anmeldung: Mit dem Plugin „Two Factor“ oder der 2FA-Funktion deines Sicherheits-Plugins verlangst du zusätzlich einen Code aus einer Authenticator-App oder einen Passkey. Aktiviere 2FA mindestens für Administratoren und Redakteure.
- Anmeldeversuche begrenzen: Viele Sicherheits-Plugins und manche Hoster sperren eine IP-Adresse nach mehreren Fehlversuchen.
- Kein Benutzer „admin“: Der Name wird bei Angriffen zuerst probiert. Lege einen neuen Admin mit anderem Namen an und lösche das alte Konto, die Inhalte weist du dabei dem neuen Konto zu.
Das Umbenennen der Anmeldeseite wp-login.php reduziert automatisierte Anmeldeversuche in den Logs, schützt aber nicht vor gezielten Angriffen. Es ist ein Komfortgewinn, keine Sicherheitsmaßnahme im engeren Sinn.
3. Rechte sparsam vergeben
Jedes Admin-Konto ist ein möglicher Generalschlüssel. Gib Autoren, Dienstleistern und Werkzeugen nur die Rolle, die sie brauchen, und entziehe temporäre Rechte nach getaner Arbeit. Arbeite im Alltag selbst mit einem Redakteurs-Konto. Prüfe regelmäßig, wer Administrator ist, unbekannte Admin-Konten sind ein typisches Zeichen für einen Einbruch. Details in Benutzerrollen und Rechte.
4. Ballast entfernen
Lösche deaktivierte Plugins und ungenutzte Themes. Auch inaktive Erweiterungen liegen als Dateien auf dem Server und können angreifbar sein. Entferne außerdem alte Testinstallationen, Backups und Datenbank-Exporte aus dem Web-Verzeichnis, diese werden von Bots gezielt gesucht.
5. Backups, die im Ernstfall funktionieren
Ein Backup ist deine Versicherung, wenn alles andere versagt. Es muss außerhalb des Servers liegen, weit genug zurückreichen, um einen Stand vor dem Einbruch zu enthalten, und die Wiederherstellung muss getestet sein. Die Anleitung steht in WordPress-Backup erstellen.
6. Server und Hosting
- HTTPS überall: Ein kostenloses Let’s-Encrypt-Zertifikat und eine Weiterleitung von http auf https gehören zum Standard, siehe WordPress-URL ändern.
- SFTP statt FTP: Klassisches FTP überträgt Passwörter unverschlüsselt.
- Dateirechte: In der Regel 644 für Dateien, 755 für Verzeichnisse, die
wp-config.phpgerne restriktiver. Niemals 777. Siehe Datei ist nicht beschreibbar. - Trennung: Mehrere Websites im selben Hosting-Konto können sich gegenseitig infizieren. Kritische Projekte gehören in ein eigenes Konto.
7. Sicherheits-Plugins: sinnvoll, aber kein Ersatz
Plugins wie Wordfence, Solid Security oder die Angebote von Patchstack bieten Firewall-Regeln, Malware-Scans, Login-Schutz und Warnungen vor verwundbaren Plugins. Das ist besonders wertvoll, wenn zwischen Bekanntwerden einer Lücke und deinem Update Zeit vergeht. Prüfe beim Einsatz, welche Daten an den Anbieter übertragen werden, und nenne ihn in deiner Datenschutzerklärung. Setze nicht mehrere Firewall-Plugins gleichzeitig ein.
Der 10-Minuten-Sicherheitscheck
Geh diese Liste einmal im Monat durch. Jeder Punkt, den du mit „Nein“ beantwortest, ist eine konkrete Aufgabe:
| Frage | Wo prüfen |
|---|---|
| Sind WordPress, alle Plugins und Themes aktuell? | Dashboard → Aktualisierungen |
| Meldet der Website-Zustand keine kritischen Probleme? | Werkzeuge → Website-Zustand |
| Kennst du jeden Administrator persönlich? | Benutzer → Alle Benutzer, Filter „Administrator“ |
| Haben alle Konten mit Schreibrechten Zwei-Faktor-Anmeldung? | Profil der Benutzer bzw. Sicherheits-Plugin |
| Sind deaktivierte Plugins und ungenutzte Themes gelöscht? | Plugins, Design → Themes |
| Wurde ein Plugin seit über einem Jahr nicht aktualisiert? | Plugin-Seite im Verzeichnis, „Zuletzt aktualisiert“ |
| Gibt es ein externes Backup von gestern, und wurde die Wiederherstellung schon einmal getestet? | Backup-Plugin bzw. Speicherziel |
| Läuft eine unterstützte PHP-Version? | Website-Zustand → Bericht → Server |
| Meldet die Google Search Console keine Sicherheitsprobleme? | Search Console → Sicherheit und manuelle Maßnahmen |
Für Fortgeschrittene: Härtung per wp-config.php und WP-CLI
// Datei-Editor für Themes und Plugins im Backend abschalten
define( 'DISALLOW_FILE_EDIT', true );
// HTTPS für Anmeldung und Backend erzwingen
define( 'FORCE_SSL_ADMIN', true );
// Fehler nicht öffentlich anzeigen (Produktivsystem)
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );
DISALLOW_FILE_EDIT entfernt den Theme- und Plugin-Editor aus dem Backend. Ein Angreifer mit gestohlenem Admin-Passwort kann so nicht mit zwei Klicks PHP-Code in eine Theme-Datei schreiben. Hast du ein Admin-Passwort in Verdacht, erneuerst du außerdem die Sicherheitsschlüssel in der wp-config.php, dadurch werden alle Anmeldungen ungültig.
# Kerndateien mit den Originalen vergleichen
wp core verify-checksums
# Plugins aus dem Verzeichnis prüfen
wp plugin verify-checksums --all
# Alle Administratoren auflisten
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
# Sicherheitsschlüssel neu erzeugen (meldet alle Benutzer ab)
wp config shuffle-salts
# PHP-Dateien im Upload-Ordner finden (dort gehören keine hin)
find wp-content/uploads -name "*.php"
Zusätzlich kannst du auf Apache-Servern die Ausführung von PHP im Upload-Ordner unterbinden. Lege dazu im Ordner wp-content/uploads eine .htaccess mit folgendem Inhalt an:
<FilesMatch "\.(php|phtml|phar)$">
Require all denied
</FilesMatch>
Auf nginx-Servern erreichst du dasselbe mit einer eigenen location. Sie muss vor dem allgemeinen PHP-Block stehen, weil nginx bei Regex-Locations die erste passende nimmt:
location ~* ^/wp-content/uploads/.*\.(php|phtml|phar)$ {
deny all;
}
Gehackt: Was jetzt zu tun ist
Merkmale eines Einbruchs sind unbekannte Admin-Konten, fremde Weiterleitungen, Spam-Seiten in Google, Warnungen im Browser oder eine Mitteilung des Hosters. Dann gilt: Ruhe bewahren und in dieser Reihenfolge vorgehen:
- Eindämmen: Website in den Wartungsmodus nehmen oder vom Hoster sperren lassen.
- Beweise sichern: Kopie der Dateien, der Datenbank und der Server-Logs anlegen, bevor du etwas änderst. Sie zeigen später, wie der Angreifer hereinkam.
- Alle Zugänge ändern: WordPress-Passwörter, SFTP, Datenbank, Hoster-Kundenmenü, Sicherheitsschlüssel.
- Bereinigen: Kern, Plugins und Themes frisch aus sauberen Quellen installieren, unbekannte Dateien und Konten entfernen, oder ein sauberes Backup von vor dem Einbruch zurückspielen.
- Ursache schließen: Die ausgenutzte Lücke finden und beheben, sonst bist du bald wieder betroffen.
- Nachbereiten: Google Search Console auf Sicherheitsprobleme prüfen und eine Überprüfung beantragen. Prüfe, ob personenbezogene Daten betroffen sind: Dann kann eine Meldung an die Datenschutz-Aufsichtsbehörde binnen 72 Stunden nötig sein (Art. 33 DSGVO).
Allgemeine Hinweise zur Fehlersuche findest du in Wie gehe ich vor, wenn Fehler auftreten? Zum Datenschutz bei Spam-Filtern lies Akismet und Datenschutz.
Passend dazu: Sichere Quellen für Erweiterungen und woran du gepflegte Plugins erkennst, zeigt Wo finde ich WordPress-Plugins?. Kommst du nach einem Update nicht mehr ins Backend, hilft Login klappt nach dem Update nicht mehr.
Frage dazu? Verdacht auf einen Hack oder Fragen zur Absicherung? Frag im Forum „Performance & Sicherheit“: Zum WPDE-Forum
Häufige Fragen
Ist WordPress unsicher?
Der WordPress-Kern wird von einem eigenen Sicherheitsteam gepflegt und gilt als gut abgesichert. Die meisten Probleme entstehen durch veraltete Erweiterungen und schwache Zugänge, also durch Dinge, die du selbst in der Hand hast.
Brauche ich ein Sicherheits-Plugin?
Pflicht ist es nicht, aber eine gute Ergänzung, vor allem wegen Login-Schutz und Warnungen vor verwundbaren Plugins. Updates, 2FA und Backups sind wichtiger.
Muss ich die WordPress-Version verstecken?
Das bringt kaum etwas. Angreifer testen Lücken einfach aus, statt die Version auszulesen. Aktuell halten ist die wirksame Maßnahme.