WordPress
Sichern Sie Ihre Installation
Suche…
Bemerkungen
WordPress-Websites werden häufig gehackt. In diesem Thema werden Techniken und Verfahren beschrieben, mit denen die Sicherheit Ihrer WordPress-Installation über das hinausgeht, was bei einer Basisinstallation erreicht wird.
Abgesehen von diesem Thema ist die Hardening WordPress Codex-Seite ein weiterer guter Ort, um zu erfahren, wie Sie eine WordPress-Installation sichern.
Deaktivieren Sie den Datei-Editor
Der mit WordPress gelieferte Datei-Editor ist ein Sicherheitsrisiko. Wenn ein Angreifer Administratorzugriff auf Ihre WordPress-Website erhält, kann er leicht Schadcode in Motiv- und Plugin-Dateien einfügen. Es ist auch ein Risiko für Kunden, die nicht wissen, was sie tun. Wenn der Doppelpunkt im Datei-Editor falsch platziert ist, kann er eine Website beschädigen und sie vom Browser aus nicht zugänglich machen.
Deaktivieren Sie in Ihrer WordPress wp-config.php
Datei " wp-config.php
den Datei-Editor, indem Sie die folgende Codezeile hinzufügen.
define( 'DISALLOW_FILE_EDIT', true );
Diese Linie wird die gewünschte Wirkung hat , wenn zu Ihrem Thema in dem Nachspiel functions.php
zu Datei , aber es ist besser, hinzuzufügen wp-config.php
.
Wenn Sie WordPress CLI zur Installation von WordPress verwenden, können Sie den folgenden Befehl zum Erstellen einer Datei wp-config.php
mit deaktivierter Dateibearbeitung verwenden.
/* declare variables beforehand or substitute strings in */
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP
define( 'DISALLOW_FILE_EDIT', true );
PHP
Diese Methode ist nützlich, wenn Sie WordPress mit einem Skript installieren.
Verschiebe wp-config.php
Die vertraulichsten Informationen einer WordPress-Installation werden in der Datei wp-config.php
gespeichert. Wenn ein Hacker Zugriff auf diese Datei erhält, hat er die vollständige Kontrolle über Ihre Website.
Standardmäßig ist wp-config.php
im WordPress-Installationsordner gespeichert. Um das Stehlen dieser Datei zu erschweren, können Sie sie aus dem Webordner verschieben. Wenn Sie nur einen Ordner darüber verschieben, findet WordPress ihn automatisch. Wenn Sie wp-config.php
an einen anderen Speicherort verschieben, erstellen wp-config.php
im WordPress-Installationsordner eine leere Datei mit dem Namen wp-config.php
. Dann füge folgendes hinzu:
define('ABSPATH', dirname(__FILE__) . '/');
// '../../wp-config.php' defines location two folders above installation folder.
// Substitute with actual location of wp-config.php file as necessary.
require_once(ABSPATH . '../../wp-config.php');
Möglicherweise müssen Sie php
in dem Ordner, in dem Sie die Datei wp-config.php ablegen, ausführbar machen. Sie sollten php in so wenigen Ordnern wie möglich ausführen. Ein gutes System setzt die WordPress-Installation in /path/to/wordpress/install/
und die config in /path/to/wordpress/config
. Stellen Sie sicher, dass der Konfigurationsordner nicht über das Internet erreichbar ist, und platzieren Sie keine anderen vertraulichen Informationen in /path/to/
oder höher in der Ordnerhierarchie. In diesem Fall schreiben Sie eine Zeile ähnlich der folgenden in Ihre php.ini
:
open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"
Diese Technik ist umstritten und einige Leute glauben nicht, dass sie die Sicherheit erhöht. Ausführliche Informationen zu diesem Thema finden Sie unter dieser WordPress StackExchange-Frage .
Legen Sie ein benutzerdefiniertes Präfix für WordPress-Tabellen fest
Wenn Sie WordPress auf Ihrem Server installieren, wird das Installationsskript vor allen WordPress MySQL-Tabellennamen mit einem Präfix versehen. Dieses Präfix ist standardmäßig auf 'wp_' gesetzt. Die WordPress-Posts-Tabelle wird beispielsweise als " wp_posts
. Durch das Ändern des Tabellenpräfixes können Sie Sicherheit durch Unschärfe schaffen. Wenn ein Hacker SQL-Injection-Angriffe versucht, muss er auf diese Weise das Präfix Ihrer Tabelle erraten und nicht nur "wp_" verwenden. Sie können dieses Präfix beliebig einstellen.
Präfix in der neuen WordPress-Installation festlegen
Wenn Sie eine bekannte 5-Minuten-Installation verwenden, ändern Sie das Präfix während der Installation im Feld.
Bei der Installation über WordPress-CLI verwenden Sie den folgenden Befehl:
// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU
Ändern Sie das Präfix in der vorhandenen Installation
Das Ändern des Präfixes ist etwas schwieriger. Verwenden Sie zunächst ein FTP-Programm wie FileZilla, um die Datei wp-config.php
zu bearbeiten. Ändern Sie den Eintrag $table_prefix = 'wp_';
zu $table_prefix = 'foo_';
Ersetzen Sie "foo" für Ihr gewünschtes Präfix.
Als nächstes müssen wir die Datenbank bearbeiten. Wenn Sie Zugriff auf phpMyAdmin haben, melden Sie sich an und führen Sie folgende Schritte aus:
- Wählen Sie die WordPress-Datenbank aus
- Wählen Sie alle Tabellen aus und wählen Sie in der Dropdown-Liste das Tabellenpräfix ersetzen aus.
- In "Von" geben Sie "wp_" ein. Geben Sie unter "An" Ihr Präfix ein, in diesem Beispiel "foo_", und drücken Sie "Senden".
- Tabellen sollten jetzt so aussehen:
Wenn Sie phpMyAdmin nicht verwenden können, verwenden Sie den folgenden MySQL-Befehl:
RENAME table `wp_comments` TO `foo_comments`
Sie müssen diesen Befehl für jede Tabelle ausführen und die anderen Tabellennamen durch "Kommentare" ersetzen.
Als nächstes müssen wir einige Einträge in einigen Tabellen ändern. Führen Sie diese Abfrage für die Tabelle 'foo_options' aus
SELECT * FROM foo_options WHERE option_name LIKE '%user_roles%'
Ein Eintrag mit option_name von 'wp_user_roles' sollte erscheinen. Ändern Sie in diesem Eintrag den Eintrag 'option_name' von wp_user_roles
in foo_user_roles
.
Dann öffne die 'foo_usermeta' Tabelle und finde jeden Eintrag mit 'wp_' an der Vorderseite. und ändern Sie es in 'foo_'. Die Anzahl der Einträge, die Sie ändern müssen, hängt davon ab, wie viele Benutzer Sie haben.
Das sollte alles sein, um das Präfix in einer vorhandenen Installation zu ändern