Allgemeine Sicherheitseinstellungen für WordPress
Sofern Sie WordPress auf einem Plesk Server einsetzen, stellen Sie sicher, dass alle notwendigen Sicherheitsmaßnahmen für die WordPress Instanz getroffen werden und diese regelmäßig überprüft werden.
Checkliste
- Aktuelle Version von WordPress
- Aktuelle Version aller eingesetzten Plugins
- Deaktivierung der WordPress Cron Funktion
- Deaktivierung der WordPress XML RPC Schnittstelle
- Aktivierung der empfohlenen Sicherheitseinstellung
- Einsatz einer Web-Application-Firewall (WAF)
Aktuelle Version von WordPress
Öffnen Sie das Plesk Control Panel und prüfen Sie, ob ein Update für die eingesetzte WordPress-Version zur Verfügung steht.
Aktuelle Version aller eingesetzten Plugins
Über den Menüpunkt Plugins können Sie über das Plesk Control Panel Plugin-Updates einspielen oder die Funktion Alle Plugins automatisch aktualisieren aktivieren.
Die meisten WordPress-Angriffe zielen auf bekannte Schwachstellen in Plugins ab, weshalb die Funktion der automatischen Updates empfohlen wird.
Deaktivierung der WordPress Cron-Funktion
Die Datei wp-cron.php
wird in WordPress für Routineaufgaben wie das Abrufen von Updates oder das Senden von E-Mail-Benachrichtigungen eingesetzt. Die Datei wird immer ausgeführt, wenn ein Website-Besucher eine Seite lädt. Dies kann problematisch sein, falls kritische Aufgaben vorhanden sind, die ohne Verzögerung ausgeführt werden müssen. Mit dieser Option können Sie die automatische Ausführung von wp-cron.php
deaktivieren und stattdessen eine geplante Aufgabe einrichten.
Aktivierung der empfohlenen Sicherheitseinstellung
Navigieren Sie zu der WordPress-Installation im Plesk Control Panel und wählen Sie den Menüpunkt Mehr → Sicherheit überprüfen aus.
Wählen Sie anschließend alle sicherheitsrelevanten Einstellungen aus, die Sie anwenden möchten und klicken Sie anschließend auf Absichern.
Die Einstellungen werden anschließend im Hintergrund angewendet. Prüfen Sie anschließend, ob Ihre WordPress-Instanz weiterhin fehlerfrei ausgeliefert wird.
Sicherheitsmaßnahmen
Zugriff auf "xmlrpc.php" blockieren
Mit dieser Sicherheitsmaßnahme wird der Zugriff auf die Datei "xmlrpc.php" verhindert. Es wird empfohlen, diese Maßnahme zu aktivieren, um die Angriffsfläche zu verringern, wenn XML-RPC nicht verwendet wird. Dabei wird die Serverkonfigurationsdatei angepasst (Apache, nginx für Linux oder web.config für Windows). Beachten Sie, dass dies durch benutzerdefinierte Anweisungen in den .htaccess- oder web.config-Dateien möglicherweise überschrieben wird.
Ausführung von PHP-Skripts im Verzeichnis "wp-includes" nicht erlauben
Das Verzeichnis "wp-includes" enthält womöglich unsichere PHP-Dateien, mit denen Ihre Website übernommen und missbraucht werden kann. Über die Sicherheitsmaßnahme wird verhindert, dass PHP-Dateien im Verzeichnis "wp-includes" ausgeführt werden. Dabei wird die Serverkonfigurationsdatei (Apache, nginx für Linux oder web.config für Windows) angepasst. Beachten Sie jedoch, dass dies durch benutzerdefinierte Anweisungen in den Dateien ".htaccess" oder "web.config" überschrieben werden kann.
Ausführung von PHP-Skripts im Verzeichnis "wp-content/uploads" nicht erlauben
Das Verzeichnis "wp-content\uploads" enthält womöglich unsichere PHP-Dateien, mit denen Ihre Website übernommen und missbraucht werden kann. Über die Sicherheitsmaßnahme wird verhindert, dass PHP-Dateien im Verzeichnis "wp-content\uploads" ausgeführt werden. Dabei wird die Serverkonfigurationsdatei (Apache, nginx für Linux oder web.config für Windows) angepasst. Beachten Sie jedoch, dass dies durch benutzerdefinierte Anweisungen in den Dateien ".htaccess" oder "web.config" überschrieben werden kann.
Skriptverkettung für WordPress-Administrator-Panel deaktivieren
Diese Sicherheitsmaßnahme schaltet die Verkettung von Skripts aus, die im WordPress-Administrator-Panel ausgeführt werden, wodurch Ihre Website vor bestimmten DoS-Angriffen geschützt wird. Das Ausschalten der Verkettung von Skripts kann die Leistung des WordPress-Administrator-Panel etwas beeinträchtigen, Ihre WordPress-Website funktioniert für Besucher aber normalerweise ohne Veränderungen weiter.
Pingbacks deaktivieren
Wenn auf einer anderen WordPress-Website auf Ihre Artikel verwiesen wird, können über Pingbacks automatisch Kommentare unter Ihren Beiträgen gepostet werden. Pingbacks können missbräuchlich eingesetzt werden, um über Ihre Website DDoS-Angriffe auf andere Websites durchzuführen. Mit dieser Sicherheitsmaßnahme werden XML-RPC-Pingbacks für Ihre Website deaktiviert. Dies gilt rückwirkend auch für bereits erstellte Beiträge, für die Pingbacks aktiviert sind.
Nicht verwendete Skriptsprachen deaktivieren
Mit dieser Sicherheitsmaßnahme wird die Unterstützung von nicht in WordPress verwendeten Skriptsprachen wie Python oder Perl deaktiviert. Damit wird sichergestellt, dass Ihre Website nicht kompromittiert wird, indem Schwachstellen in diesen Skriptsprachen ausgenutzt werden.
Dateibearbeitung im WordPress-Dashboard deaktivieren
Wenn Sie die Dateibearbeitung in WordPress deaktivieren, können Quelldateien für Plugins und Themes in der WordPress-Oberfläche nicht mehr direkt bearbeitet werden. Mit dieser Maßnahme werden zusätzliche Sicherheitsebenen für die WordPress-Website hinzugefügt. Dies ist hilfreich, wenn eines der Administratorkonten kompromittiert ist. Dabei wird verhindert, dass über kompromittierte Konten bösartiger ausführbarer Code ganz einfach in Plugins und Themes eingefügt werden kann.
Schutz vor Bots aktivieren
Mit dieser Sicherheitsmaßnahme werden Websites vor ungewünschten, bösartigen oder schädlichen Bots geschützt. Bots, die Ihre Website auf Schwachstellen scannen und sie mit ungewünschten Anfragen überladen, um eine Ressourcenüberlastung zu erreichen, werden blockiert. Wenn Sie Ihre Website über einen Onlinedienst auf Schwachstellen untersuchen, sollten Sie diese Sicherheitsmaßnahme vorübergehend deaktivieren, denn solche Bots könnten auch bei der Suche nach Sicherheitsproblemen eingesetzt werden.
Zugriff auf potenziell sensible Dateien blockieren
Mit dieser Sicherheitsmaßnahme wird öffentlicher Zugriff auf bestimmte Dateien verhindert, die sich auf Ihrer WordPress-Website befinden, z. B. Protokolldateien, Shellskripts und andere ausführbare Dateien. Durch den öffentlichen Zugriff auf diese Dateien könnte die Sicherheit Ihrer WordPress-Website kompromittiert werden.
Zugriff auf .htaccess - und .htpasswd-Datei blockieren
Wenn ein Angreifer Zugriff auf die .htaccess
- und .htpasswd
-Datei erhält, kann er verschiedene Exploits und Sicherheitsverletzung auf Ihrer Website auslösen. Mit dieser Sicherheitsmaßnahme wird sichergestellt, dass Angreifer nicht auf die .htaccess- und .htpasswd-Datei zugreifen können.
Autorenscans blockieren
Über die Autorensuche sollen Benutzernamen von registrierten Benutzern (vor allem WordPress-Administratoren) herausgefunden werden. Mithilfe eines Brute-Force-Angriffs über die Anmeldeseite wird dann auf die Website zugegriffen. Mit dieser Sicherheitsmaßnahme kann verhindert werden, dass Benutzernamen im Rahmen dieser Angriffe abgerufen werden. Je nach Permalink-Konfiguration auf Ihrer Website kann dies zur Folge haben, dass Besucher Seiten nicht aufrufen können, auf denen alle Artikel eines einzelnen Autors zu finden sind.
Zugriff auf Dateien und Verzeichnisse einschränken
Wenn Zugriffsberechtigungen für Dateien und Verzeichnisse nicht ausreichend abgesichert sind, können Hacker auf diese Dateien zugreifen und Ihre Website kompromittieren. Über diese Sicherheitsmaßnahme werden die Berechtigungen für die Datei "wp-config" auf 600, für anderen Dateien auf 644 und für Verzeichnisse auf 755 festgelegt.
Sicherheitsschlüssel konfigurieren
WordPress verwendet Sicherheitsschlüssel (AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
und NONCE_KEY
) zur optimalen Verschlüsselung der Informationen, die in den Cookies eines Benutzers aufbewahrt werden. Ein guter Sicherheitsschlüssel sollte lang (mindestens 60 Zeichen), nach dem Zufallsprinzip generiert und kompliziert sein. Über die Sicherheitsprüfung wird sichergestellt, dass Sicherheitsschlüssel eingerichtet wurden und sowohl Buchstaben als auch Zahlen enthalten.
Verzeichnissuche blockieren
Wenn die Verzeichnissuche aktiviert ist, können Hacker Informationen über Ihre Website abrufen. Dies kann eine Gefahr für die Sicherheit der Website darstellen. Standardmäßig ist die Verzeichnissuche deaktiviert. Falls sie jedoch aktiviert ist, können Sie sie über diese Sicherheitsmaßnahme blockieren. Dabei wird die Serverkonfigurationsdatei angepasst (Apache, nginx für Linux oder web.config für Windows). Beachten Sie jedoch, dass diese Einstellung durch benutzerdefinierte Anweisungen in den Dateien ".htaccess" oder "web.config" überschrieben werden kann.
Zugriff auf "wp-config.php" blockieren
Die Datei "wp-config.php" enthält vertrauliche Informationen wie Zugangsdaten für die Datenbank. Wenn allerdings aus irgendeinem Grund die Verarbeitung von PHP-Dateien durch den Webserver deaktiviert wird, können Hacker auf den Inhalt der Datei "wp-config.php" zugreifen. Durch diese Sicherheitsmaßnahme wird Zugriff auf die Datei "wp-config.php" verhindert. Dabei wird die Serverkonfigurationsdatei (Apache, nginx für Linux oder web.config für Windows) angepasst. Beachten Sie jedoch, dass dies durch benutzerdefinierte Anweisungen in den Dateien ".htaccess" oder "web.config" überschrieben werden kann.
PHP-Ausführung in Cache-Verzeichnissen deaktivieren
Wenn eine kompromittierte PHP-Datei in einem der Cache-Verzeichnisse Ihrer Website gespeichert und ausgeführt wird, kann die ganze Website beeinträchtigt werden. Mit dieser Sicherheitsmaßnahme wird die Ausführung von PHP-Dateien in Cache-Verzeichnissen deaktiviert. So können diese Art von Exploits verhindert werden. Bei einigen Plugins oder Themes werden die Sicherheitsempfehlungen des WordPress-Sicherheitsteams jedoch womöglich ignoriert und ausführbare PHP-Dateien werden im Cache-Verzeichnis gespeichert. Sie müssen diese Sicherheitsmaßnahme in diesem Fall möglicherweise deaktivieren, damit das Plugin oder Theme funktioniert.
Standardpräfix von Datenbanktabellen ändern
Die WordPress-Datenbanktabellen haben in allen WordPress-Installationen standardmäßig denselben Namen. Wenn das Standardpräfix "wp" für den Namen von Datenbanktabellen verwendet wird, ist die gesamte WordPress-Datenbankstruktur einsehbar. Angreifer können so Daten mithilfe von böswilligen Skripts abrufen. Mit dieser Sicherheitsmaßnahme wird das Namenspräfix von Datenbanktabellen umbenannt, damit es nicht mehr "wp" lautet. Beachten Sie bitte, dass es zu Problemen kommen kann, wenn Sie Datenbankpräfixe für eine Website in der Produktionsumgebung ändern. Wir empfehlen dringend, Ihre Website zu sichern, bevor Sie die Präfixe bearbeiten.
Zugriff auf sensible Dateien blockieren
Mit dieser Sicherheitsmaßnahme wird öffentlicher Zugriff auf bestimmte Dateien verhindert, die sensible Informationen wie Anmeldeinformationen enthalten. So werden Angreifer außerdem daran gehindert, Daten abzurufen, mit denen sie herausfinden können, welche Exploits für Ihre WordPress-Website anwendbar wären.
Standardbenutzername des Administrators ändern
Während der Installation wird in WordPress ein Benutzer mit Administrationsrechten und dem Benutzernamen "admin" erstellt. Da Benutzernamen in WordPress nicht geändert werden können, kann ein Brute-Force-Angriff auf das Passwort durchgeführt werden, um Administratorzugriff auf WordPress zu erhalten. Dank dieser Sicherheitsmaßnahme werden für WordPress-Administratorkonten Benutzernamen nach dem Zufallsprinzip generiert. Damit wird sichergestellt, dass kein Benutzer mit Administratorrechten den Benutzernamen "admin" verwendet. Falls ein Benutzer mit dem Namen "admin" gefunden wird, wird der Inhalt dem neuen Administratorkonto zugewiesen und das Konto "admin" wird entfernt.
Einsatz einer Web-Application-Firewall (WAF)
Zusätzlich zu den genannten Punkten sollte WordPress ausschließlich in Kombination mit einer dafür optimierten Web-Application-Firewall betrieben werden.
Für WordPress geeignete Web-Application-Firewalls:
- Plesk WAF (ModSecurity) [kostenlos]
- Imunify360 [8,00 € / Monat]
Sofern Sie Imunify360 einsetzen möchten, wenden Sie sich bitte an unseren Support, damit wir die entsprechende Erweiterung installieren und lizenzieren können.
- Allgemeine Sicherheitseinstellungen für WordPress
- Checkliste
- Aktuelle Version von WordPress
- Aktuelle Version aller eingesetzten Plugins
- Deaktivierung der WordPress Cron-Funktion
- Aktivierung der empfohlenen Sicherheitseinstellung
- Sicherheitsmaßnahmen
- Zugriff auf "xmlrpc.php" blockieren
- Ausführung von PHP-Skripts im Verzeichnis "wp-includes" nicht erlauben
- Ausführung von PHP-Skripts im Verzeichnis "wp-content/uploads" nicht erlauben
- Skriptverkettung für WordPress-Administrator-Panel deaktivieren
- Pingbacks deaktivieren
- Nicht verwendete Skriptsprachen deaktivieren
- Dateibearbeitung im WordPress-Dashboard deaktivieren
- Schutz vor Bots aktivieren
- Zugriff auf potenziell sensible Dateien blockieren
- Zugriff auf .htaccess - und .htpasswd-Datei blockieren
- Autorenscans blockieren
- Zugriff auf Dateien und Verzeichnisse einschränken
- Sicherheitsschlüssel konfigurieren
- Verzeichnissuche blockieren
- Zugriff auf "wp-config.php" blockieren
- PHP-Ausführung in Cache-Verzeichnissen deaktivieren
- Standardpräfix von Datenbanktabellen ändern
- Zugriff auf sensible Dateien blockieren
- Standardbenutzername des Administrators ändern
- Einsatz einer Web-Application-Firewall (WAF)