©Sergey Emelyanov 2025 | Alle Rechte vorbehalten
WordPress ist das beliebteste CMS, was es zu einem attraktiven Ziel für Angreifer macht. Um Ihre Website zu schützen, ist es wichtig zu wissen, wo die „Schwachstellen“ (Verwundbarkeiten) sind und wie man sie beheben kann. Im Folgenden listen wir die wichtigsten Schwachstellen auf, beschreiben die Bedrohungen und bieten eine Reihe praktischer Maßnahmen zu ihrer Beseitigung an. Denken Sie daran, dass Sicherheit ein komplexer Prozess ist und dass die Anwendung einer einzigen Methode Ihre Website oft nicht vollständig schützt.
Bevor wir auf Schwachstellen eingehen, ist eine kurze Erinnerung an die grundlegende Dateistruktur angebracht:
Wenn Sie diese Struktur kennen, können Sie bestimmen, welche Komponenten zusätzlich geschützt werden müssen.
Bedrohung: Hacker können versteckte Skripte einschleusen, die die Standardschutzmaßnahmen umgehen und sich ständig Zugang verschaffen (über wp-admin, FTP, SFTP usw.).
Praktische Ratschläge:
<Dateien *.php> deny from all </Dateien>
Speichern Sie diese Textdatei als .htaccess und laden Sie sie in den Ordner /wp-content/uploads/ auf Ihrer Website hoch.
Hinweis: Auch wenn Sie Ihre Website regelmäßig scannen, kann eine zusätzliche Maßnahme (z. B. Zwei-Faktor-Authentifizierung) das Risiko einer erneuten Einschleusung von Backdoors verringern.
Bedrohung: Angreifer schleusen bösartigen Code in veraltete Plugins oder Themes ein, was dazu führt, dass in den Suchergebnissen unangemessene Werbung (meist Pharma-Anzeigen) angezeigt wird.
Praktischer Tipp:
Hinweis: Die Aktualisierung ist eine notwendige Maßnahme, aber auch sie garantiert keinen Schutz, wenn versteckter bösartiger Code auf die Website gelangt ist. Die Kontrolle des Datenbankinhalts und die Überwachung von Änderungen sind ebenfalls wichtig.
Bedrohung: Automatisierte Skripte können Passwörter ausspionieren, wenn schwache Anmeldedaten verwendet werden, was zu unbefugtem Zugriff führt.
Praktischer Tipp:
UPDATE wp_users SET user_login = 'newadminuser' WHERE user_login = 'admin';
Hinweis: Die Einschränkung von Anmeldeversuchen ist hilfreich, aber wenn Sie die Einschränkung allein verwenden, kann ein Angreifer Umgehungstechniken einsetzen - kombinieren Sie sie daher unbedingt mit einer Zwei-Faktor-Authentifizierung.
Bedrohung: Bösartiger Code in .htaccess-Dateien oder Themes/Plugins kann Benutzer auf bösartige Websites umleiten, was das Vertrauen verringert und das Risiko einer Geräteinfektion erhöht.
Praktischer Tipp:
Hinweis: Regelmäßige Scans des Dateisystems und die Überprüfung der .htaccess-Konfiguration sind obligatorische Maßnahmen - eine Analyse reicht nicht aus, wenn ein Angreifer weiß, wie er Dateien auf dem Server ändern kann.
Bedrohung: Einschleusen von bösartigem JavaScript-Code über Kommentare, Formulare oder andere Eingaben, die zum Diebstahl von Sitzungsdaten, zum Hijacking von Konten und zur Änderung von Seiteninhalten führen können.
Praktischer Tipp:
Hinweis: Die Datenabschirmung muss auf der Ausgabeseite erfolgen, nicht nur beim Speichern, daher ist eine umfassende Lösung (sowohl serverseitige Validierung als auch Code-Überprüfung) wichtig.
Bedrohung: Serverüberlastungsangriffe können dazu führen, dass eine Website für legitime Benutzer nicht mehr verfügbar ist.
Praktischer Tipp:
Hinweis: Natürlich reichen Maßnahmen auf der Ebene der Webanwendung nicht aus - umfassende Schutzmaßnahmen auf der Hosting- und Netzwerkebene sind erforderlich.
Bedrohung: Die Verwendung veralteter PHP-Versionen bedeutet, dass es keine Sicherheitsupdates gibt, was von Angreifern ausgenutzt wird.
Praktischer Tipp:
Hinweis: Ein Upgrade von PHP verbessert die Leistung und Sicherheit erheblich, erfordert jedoch eine Überprüfung der Kompatibilität von Plugins und Themen.
Bedrohung: Zu großzügige Zugriffsrechte ermöglichen es einem Angreifer, wichtige Dateien (z. B. wp-config.php) zu ändern oder zu lesen, was zu Datenlecks oder zum Einschleusen von bösartigem Code führen kann.
Praktischer Tipp:
chmod 400 wp-config.php
Hinweis: Das korrekte Setzen von Berechtigungen hilft, sich selbst zu schützen, aber wenn die Website durch veraltete Plugins kompromittiert wurde, ist dies möglicherweise nicht ausreichend.
Bedrohung: Die Verwendung veralteter Komponenten vergrößert die Angriffsfläche, da sie bekannte Sicherheitslücken enthalten können.
Praktischer Tipp:
Hinweis: Updates sind kritisch, aber auch aktualisierte, nicht überprüfte Plugins können versteckte Schwachstellen enthalten, wählen Sie also nur vertrauenswürdige Software.
Bedrohung: Die XML-RPC-Funktion kann massenhafte Brute-Force-Angriffe ermöglichen und die Methode system.multicall verwenden, um mehrere Anfragen innerhalb einer einzigen HTTP-Anfrage zu senden.
Praxis-Tipp:
add_filter('xmlrpc_enabled', '__return_false');
Hinweis: Einige Plugins (z. B. Jetpack) benötigen XML-RPC, so dass die Deaktivierung die Funktionalität beeinträchtigen kann. Ziehen Sie in einem solchen Fall Maßnahmen in Betracht, um den Zugriff darauf zu beschränken (z. B. über eine Firewall auf Serverebene).
Bedrohung: Die Verwaltungsoberfläche ist der Hauptangriffspunkt, über den Angreifer die Kontrolle über die Website erlangen können.
Praktischer Tipp:
a) Ändern Sie die Standard-Anmelde-URL (wp-admin, wp-login.php) mit Plugins wie WPS Hide Login.
b) Begrenzen Sie die Anzahl der Anmeldeversuche mit Limit Login Attempts Reloaded.
c) Fügen Sie eine HTTP-Autorisierung hinzu, um wp-admin zu schützen. Beispiel für Apache:
Erstellen Sie eine .htpasswd mit Ihrem Passwort und fügen Sie sie zu .htaccess (wp-admin) hinzu:
AuthName „Nur Admins“
AuthUserFile /home/youruser/.htpasswds/wp-admin/.htpasswd
AuthType basic
require user IhrBenutzername
d) Aktivieren Sie die Zwei-Faktoren-Authentifizierung (Duo-Plugins, Google Authenticator, Zwei-Faktoren-Authentifizierung).
Hinweis: Die Änderung nur der Anmelde-URL verhindert automatisierte Angriffe, aber ein Angreifer kann andere Anmeldepunkte finden, so dass zusätzliche Maßnahmen (Versuchsbeschränkung, 2FA) zwingend erforderlich sind.
Bedrohung: Die Übertragung von Daten über das unsichere HTTP-Protokoll bedeutet, dass Daten (Anmeldungen, Sitzungen, übertragene Informationen) von Angreifern abgefangen werden können.
Praktischer Tipp:
define('FORCE_SSL_ADMIN', true);
Überprüfen Sie die korrekte Installation mit Hilfe von Online-Tools.
Hinweis: Die Verwendung von HTTPS verbessert zwar die Sicherheit, schützt die Website aber nicht allein vor gehackten Plugins oder Serverschwachstellen, daher sollte diese Methode mit anderen Maßnahmen kombiniert werden.
Bedrohung: Das Fehlen spezieller Header verringert den Schutz vor XSS, Clickjacking und anderen Angriffen.
Praktischer Tipp:
Content-Security-Policy
X-XSS-Protection
Strict-Transport-Security
X-Frame-Options
X-Content-Type-Options
Beispiel für Apache (in der .htaccess-Datei):
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Bedrohung: Der Standard-Datenbankname und das Tabellenpräfix („wp_“) sind leicht zu erraten, so dass ein Angriff auf die Datenbank leicht möglich ist.
Praktischer Tipp:
Hinweis: Diese Maßnahme verringert die Wahrscheinlichkeit von Angriffen, schützt aber nicht vor Sicherheitslücken in installierten Plugins.
Bedrohung: Wenn sich ein Angreifer Zugang zum Panel verschafft, kann er Dateien über den eingebauten Editor ändern und bösartigen Code einschleusen.
Praktischer Tipp:
Fügen Sie die folgende Zeile in die Datei wp-config.php ein, um den Theme- und Plugin-Editor zu deaktivieren:
define('DISALLOW_FILE_EDIT', true);
Hinweis: Die Notwendigkeit, den Zugriff auf das Panel selbst zu schützen, wird dadurch nicht aufgehoben. Zusätzliche Maßnahmen wie IP-Beschränkung, Zwei-Faktor-Authentifizierung und Änderung der Login-URL sind zwingend erforderlich.
Bedrohung: Andere Websites können Ihre Bilder verwenden, was die Belastung des Servers erhöht und Ihren Datenverkehr beeinträchtigt.
Praktischer Tipp für Apache (in der .htaccess-Datei):
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://dropbox.com/placeholder.jpg [NC,R,L]
Praktischer Tipp für Nginx:
location ~ .(gif|png|jpe?g)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
Hinweis: Der Hotlinking-Schutz reduziert die Belastung, beseitigt aber nicht die meisten anderen Bedrohungen. Er muss mit anderen Sicherheitsmaßnahmen kombiniert werden.
Bedrohung: Auch bei umfassendem Schutz kann eine Website kompromittiert werden - Backups ermöglichen eine verlustfreie Datenwiederherstellung.
Praktischer Tipp:
Hinweis: Backups sind die letzte Verteidigungslinie. Ihr Vorhandensein verhindert keine Angriffe, ermöglicht es Ihnen aber, den Schaden zu minimieren.
Zusätzlich zu Ihren eigenen Einstellungen und manuellen Konfigurationsanpassungen empfiehlt es sich, bewährte Sicherheits-Plugins zu installieren und regelmäßig zu aktualisieren, die dabei helfen, Bedrohungen zu erkennen und den Schutz automatisch anzupassen.
Zu den beliebtesten und effektivsten Lösungen gehören:
Es ist wichtig, daran zu denken, dass das Plugin allein nicht alle Probleme lösen kann. Es sollte daher in Kombination mit anderen Schutzmethoden und regelmäßigen Sicherheitsaudits verwendet werden.
WordPress verwendet eine Reihe von eindeutigen „Salts“ (Sicherheitsschlüssel), die die Verschlüsselung der in Cookies gespeicherten Informationen verbessern. Wenn Sie Ihre Website migrieren oder sie von einem Drittentwickler beziehen, sollten Sie diese Schlüssel aktualisieren:
Auf diese Weise werden bereits erstellte Sitzungscookies sofort ungültig, falls sie kompromittiert wurden. Die Aktualisierung der Schlüssel schützt jedoch nicht vor anderen Schwachstellen, daher sollte sie Teil Ihrer allgemeinen Sicherheitsstrategie sein.
Die Anzeige der WordPress-Version als Meta-Tag (und in der Datei readme.html) kann es Angreifern erleichtern, potenzielle Sicherheitslücken zu erkennen, die für eine bestimmte Version des Systems spezifisch sind. Um die Sicherheit zu verbessern:
- Entfernen Sie das Versions-Meta-Tag aus dem Header, indem Sie den folgenden Code in die functions.php Ihres Themes einfügen:
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
- Entfernen Sie die Datei readme.html aus dem Stammverzeichnis Ihrer WordPress-Installation.
Jede der oben aufgeführten Schwachstellen bedroht Ihre WordPress-Website auf andere Weise, und keine einzelne Maßnahme kann das Risiko vollständig beseitigen. Deshalb ist es wichtig, einen umfassenden (mehrschichtigen) Sicherheitsansatz zu verfolgen: ordnungsgemäße Konfiguration der Zugriffsrechte, regelmäßige Updates, Einschränkung des Zugriffs auf das Administrationspanel, Verwendung von HTTPS, Konfiguration der HTTP-Header, Anwendung moderner Sicherheitsmaßnahmen auf Server- und Netzwerkebene und regelmäßige Backups. Wenn Sie alle diese Maßnahmen zusammen anwenden, wird die Wahrscheinlichkeit eines erfolgreichen Hackerangriffs erheblich verringert und Ihr Unternehmen und Ihre Daten geschützt.
Wenn Sie diese praktischen Tipps umsetzen, regelmäßige Sicherheitsprüfungen durchführen und sich über Updates auf dem Laufenden halten, wird Ihre Website wesentlich sicherer und geschützter sein.
©Sergey Emelyanov 2025 | Alle Rechte vorbehalten