Härtung von MySQL für Ihre WordPress-Site

Veröffentlicht: 2023-01-18

WordPress, das beliebteste CMS, läuft auf MySQL, der beliebtesten Datenbank da draußen. Etwas Zeit aufzuwenden, um sicherzustellen, dass Ihre MySQL-Installation und die Installation der WordPress-Datenbankkonfiguration ausreichend gegen gängige Angriffsvektoren geschützt sind, kann Ihnen helfen, Risiken zu reduzieren. Dies gilt insbesondere dann, wenn Sie Ihren MySQL-Server selbst verwalten.

Es ist erwähnenswert, dass viele WordPress-Installationen MariaDB verwenden, eine Abspaltung von MySQL. Da beide sehr ähnlich funktionieren, werden wir mit MySQL sowohl MySQL als auch MariaDB meinen. Unabhängig davon, welche RDMS-Variante Sie verwenden, kann die Härtung Ihres MySQL Ihnen dabei helfen, das Risiko von Hackerangriffen zu minimieren. Dies ersetzt jedoch nicht andere Sicherheitsmaßnahmen, wie z. B. die Installation einer Firewall für Webanwendungen, die Sicherstellung, dass Sie über die neueste Version von Plugins, Themes und WordPress verfügen, und die Härtung von WordPress.

Achtung , dieser Artikel richtet sich an MySQL 8.0 unter Linux (Ubuntu). Während die Konzepte auf andere Betriebssysteme und MySQL/MariaDB-Versionen übertragen werden können, können die in diesen Beispielen verwendeten Befehle und Dateipfade abweichen. Bevor Sie Änderungen an einem Produktionssystem vornehmen, wird dringend empfohlen, alle Änderungen in einer Staging- oder Vorproduktionsumgebung zu testen.

In diesem Artikel, der sich in erster Linie an diejenigen richtet, die ihr eigenes MYSQL verwalten, bieten wir einige Tipps und Tutorials zum Sichern von MySQL. Trotzdem ist die umfangreiche Liste der in diesem Artikel vorgestellten Best Practices für jeden, der WordPress-Websites verwaltet, eine Lektüre wert. Das Sichern Ihres MySQL-Servers ist ein entscheidender Schritt, um ein sicheres WordPress aufrechtzuerhalten und sich vor verschiedenen Arten von Brute-Force-Angriffen, Malware-Injektion und anderen Arten von Angriffen zu schützen.

Inhaltsverzeichnis

  • Erwägen Sie die Verwendung einer Database as a Service (DBaaS
  • Halten Sie MySQL auf dem neuesten Stand
  • Führen Sie MySQL auf einem dedizierten Computer aus
  • Binden Sie MySQL an eine IP-Adresse
  • Beschränken Sie die Verwendung webbasierter GUI-Tools
  • Führen Sie den MySQL-Daemon mit einem dedizierten Benutzer aus
  • Verwenden Sie das Skript mysql_secure_installation
  • Erstellen Sie einen dedizierten WordPress-Datenbankbenutzer
  • Stellen Sie sicher, dass local_infile deaktiviert ist
  • Deaktivieren Sie den MySQL-Befehlsverlauf
  • Stellen Sie sicher, dass mysqld nicht mit dem Argument –skip-grant-tables gestartet wird
  • Sichern Sie Ihre Datenbank
    • Machen Sie regelmäßig Backups
    • Überprüfen Sie regelmäßig die Integrität Ihrer Backups
    • Speichern Sie Ihre Backups sicher
  • TLS-Verbindungen aktivieren und erzwingen
    • Ändern Sie das Tabellenpräfix
    • Wie man Änderungen umsetzt
    • Halten Sie Ihr WordPress sicher

Erwägen Sie die Verwendung einer Database as a Service (DBaaS)

Database as a Service ist eine Überlegung wert, wenn Sie WordPress nicht mit einem verwalteten Plan hosten. Es ersetzt das herkömmliche Modell der lokalen Installation von MySQL durch einen Dienst, mit dem Sie sich verbinden. Dies könnte zu Ihrem Anwendungsfall passen, wenn Sie Ihre WordPress-Site mit einem Hosting-Anbieter betreiben, der verwaltete Datenbankdienste anbietet. Zu den verfügbaren Optionen gehören im Allgemeinen Amazon RDS, DigitalOcean Managed MySQL und Linode Managed MySQL). Auf den ersten Blick können diese Dienste teurer sein, als MySQL selbst auszuführen. Sie erledigen jedoch die ganze schwere Arbeit beim Betrieb von Datenbanken in Produktionsqualität. Die meisten Dienste umfassen voreingestellte Best Practices für die Sicherheit, fortlaufende Sicherheitspatches und -wartung sowie Backups.

Die Verwendung einer Database as a Service (DBaaS) ist eine der besten Optionen in Bezug auf Sicherheit und Zuverlässigkeit. Dies ist zwar nicht obligatorisch, aber dennoch gut zu haben. Wenn Sie MySQL jedoch selbst verwalten möchten, finden Sie im Folgenden eine Sammlung von Härtungstipps, die Sie beachten sollten.

Halten Sie MySQL auf dem neuesten Stand

So wie es wichtig ist sicherzustellen, dass Sie die neueste Version von WordPress ausführen, ist es wichtig, MySQL auf dem neuesten Stand zu halten. Wie bei der meisten anderen Software werden regelmäßig Updates für den MySQL-Server veröffentlicht. Diese Updates beheben Fehler, mindern Schwachstellen und bieten neue Funktionen. Sie sollten MySQL mit den neuesten Sicherheitspatches auf dem neuesten Stand halten, um die Risiken beim Ausführen von Software mit bekannten Schwachstellen zu verringern. Denken Sie daran, dass Sie nach der Aktualisierung den „mysql-Daemon“ neu starten müssen. Dies ist ein Prozess, der zu Ausfallzeiten führen kann. Planen Sie wie immer voraus.

Führen Sie MySQL auf einem dedizierten Computer aus

Viele WordPress-Installationen führen MySQL, PHP und einen Webserver (wie Nginx oder Apache HTTP Server) auf demselben Computer aus. Das ist nicht optimal – sowohl im Hinblick auf die Performance als auch auf die Sicherheit. MySQL sollte idealerweise auf einem dedizierten Server laufen, um den Explosionsradius eines Angriffs zu verringern. Wenn es einem Angreifer gelingt, Berechtigungen auf dem Webserver zu kompromittieren und zu eskalieren, wäre es für diesen Angreifer viel schwieriger, sich seitlich zu bewegen und auch den MySQL-Server zu kompromittieren.

Binden Sie MySQL an eine IP-Adresse

Sie können MySQL so konfigurieren, dass TCP/IP-Verbindungen nur von einer bestimmten IPv4- oder IPv6-Schnittstelle akzeptiert werden. Sie müssen lediglich die Konfigurationsoption bind-address auf eine bestimmte IP-Adresse setzen. Dies bietet zusätzliche Kontrollen und Einschränkungen dafür, wie Clientanwendungen (in unserem Fall WordPress) eine Verbindung zu MySQL herstellen können. Standardmäßig ist diese Einstellung auf * gesetzt, was bedeutet, dass MySQL standardmäßig auf allen Schnittstellen lauscht.

Wenn es nicht so konfiguriert ist, dass es auf eine bestimmte IP hört, können alle IPs verwendet werden, um eine Verbindung zu MySQL herzustellen. Diese Einstellung ist besonders wichtig, wenn Sie MySQL auf demselben Computer wie einen Webserver ausführen, den Sie dem Internet zugänglich machen (in diesem Fall sollten Sie die Bindungsadresse auf 127.0.0.1 setzen, damit MySQL nur auf localhost lauscht). .

Wenn Sie beispielsweise möchten, dass der MySQL-Server nur Verbindungen auf einer bestimmten IPv4-Adresse akzeptiert, können Sie einen Eintrag ähnlich dem folgenden Beispiel hinzufügen. Sie sollten dies unter der Optionsgruppe [mysqld] in der Konfigurationsdatei /etc/mysql/mysql.conf.d/mysqld.cnf Ihres Servers eingeben.

Bindungsadresse=192.168.0.24

Beachten Sie, dass Sie nach der Einstellung WordPress neu konfigurieren müssen, um sich mit dieser IP-Adresse mit der Datenbank zu verbinden (sofern dies nicht bereits der Fall ist), da Verbindungen zu anderen Server-Hostadressen nicht zulässig wären.

Beschränken Sie die Verwendung webbasierter GUI-Tools

Viele WordPress-Installationen enthalten webbasierte grafische Front-End-Verwaltungstools. Gängige Beispiele sind Cpanel, phpMyAdmin oder Adminer. Diese Tools erleichtern die Verwaltung von MySQL und anderen Aspekten der zugrunde liegenden Infrastruktur. Während eine webbasierte grafische Oberfläche Ihnen bei der Verwaltung Ihrer MySQL-Datenbanken helfen kann, können diese Schnittstellen die Angriffsfläche vergrößern, indem sie einen weiteren Vektor hinzufügen. Darüber hinaus besteht die Gefahr, dass sie von Angreifern entdeckt und missbraucht werden, um destruktive oder böswillige SQL-Abfragen an Ihrer Datenbank auszuführen. Angriffe können sogar zu einer vollständigen Übernahme Ihrer WordPress-Website führen.

Der einzig sichere Server ist derjenige, der ausgeschaltet und vom Stromnetz getrennt ist – Risiken sind jedoch beherrschbar. Die Deinstallation nicht kritischer Systeme ist eine Option; Diese können jedoch auch gesperrt und eingeschränkt werden, um das Risiko zu minimieren.

Der Zugriff auf diese Tools kann auf verschiedene Weise eingeschränkt werden. Sie können phpMyAdmin für WordPress remote installieren und so das Risiko für den Webserver minimieren. Alternativ können Sie auch Tools wie MySQL Workbench oder Beekeeper Studio auf Ihrem lokalen Computer verwenden und sich über einen SSH-Tunnel mit Ihrem Datenbankserver verbinden.

Führen Sie den MySQL-Daemon mit einem dedizierten Benutzer aus

Wie bei anderen Diensten, die auf einem Server ausgeführt werden, können Sie den MySQL-Daemon unter einem dedizierten Benutzer ausführen. Wenn Sie MySQL mit einem dedizierten Benutzer ausführen, können Sie genau definieren, welche Berechtigungen dieser Benutzer innerhalb des Systems erhält. Das Ausführen von MySQL unter einem dedizierten Benutzer folgt auch dem Prinzip der geringsten Rechte, da dies den Explosionsradius einer MySQL-Schwachstelle verringert. Es verringert auch die Möglichkeit, dass eine Fehlkonfiguration ausgenutzt wird, da ein eingeschränkter Benutzer nicht auf Ressourcen zugreifen kann, die nichts mit MySQL zu tun haben (wie Betriebssystemkonfigurationen und Geheimnisse).

Die gute Nachricht ist, dass Installationen über Paketmanager (wie apt oder yum) diesen Schritt bei der Installation von MySQL automatisch erledigen. Eine schnelle Möglichkeit, um zu überprüfen, ob MySQL unter einem dedizierten Benutzer ausgeführt wird, besteht darin, Folgendes auf dem Computer auszuführen, auf dem der MySQL-Daemon ausgeführt wird.

ps -ef | egrep „^mysql.*$“

Wenn MySQL mit einem dedizierten Benutzer ausgeführt wird , sollten Sie davon ausgehen, dass mindestens eine Zeile aus der Ausgabe von ps zurückgegeben wird.

Verwenden Sie das Skript mysql_secure_installation

Das mysql-server-Paket enthält ein Shell-Skript-Dienstprogramm namens mysql_secure_installation. Mit diesem Skript können Sie einen sicheren Startpunkt für den MySQL-Server einrichten. Daher sollten Sie es nach einer Neuinstallation von MySQL ausführen. Dieses Dienstprogramm hilft Ihnen:

  • Legen Sie ein Passwort für Root-Konten fest
  • Entfernen Sie Root-Konten, auf die von außerhalb von localhost zugegriffen werden kann
  • Entfernen Sie anonyme Benutzerkonten
  • Entfernen Sie die Testdatenbank (auf die standardmäßig anonyme Benutzer zugreifen können)

Um mysql_secure_installation aufzurufen, führen Sie den folgenden Befehl aus:

sudo mysql_secure_installation

Sobald der Einrichtungsvorgang beginnt, werden Sie mit mehreren Eingabeaufforderungen konfrontiert, in denen Sie gefragt werden, ob Sie das Plugin zum Überprüfen des Kennworts aktivieren möchten, das zum Testen der Stärke der von Ihnen für MySQL-Benutzer ausgewählten Kennwörter verwendet wird. Es wird empfohlen, dieses Plugin zu aktivieren.

Nachdem Sie das Plugin zur Kennwortvalidierung aktiviert haben, fordert Sie das Skript auf, eine Kennwortvalidierungsrichtlinie anzugeben. Hier sollten Sie eine starke Passwortrichtlinie wählen. Anschließend werden Sie aufgefordert, das Passwort des Root-Benutzers zurückzusetzen.

Als nächstes fordert Sie das Skript auf, anonyme MySQL-Benutzer zu entfernen. Dies ist wichtig, um die Wahrscheinlichkeit zu verringern, dass Angreifer Zugriff auf den Datenbankserver erhalten, indem sie einen anonymen MySQL-Benutzer ausnutzen.

Die nächste Eingabeaufforderung fragt Sie, ob Sie Anmeldungen mit dem Root-Benutzer deaktivieren möchten, wenn Sie sich remote beim MySQL-Server authentifizieren. Die Remote-Authentifizierung mit dem Root-Benutzer ist gefährlich und selten erforderlich. Stattdessen sollten Sie entweder SSH auf MySQL verwenden und den MySQL-Client auf dem Server verwenden, um sich als Root-Benutzer zu authentifizieren, oder vorzugsweise einen SSH-Tunnel verwenden, um den Remote-MySQL-Port an Ihren lokalen Computer weiterzuleiten und eine Verbindung mit einem lokalen Client herzustellen.

Als Nächstes werden Sie aufgefordert, die Standarddatenbanken (sofern vorhanden) zu löschen, mit denen MySQL ausgeliefert wird. Dies ist die empfohlene Vorgehensweise für Produktions-MySQL-Server.

Standarddatenbank löschen

Abschließend werden Sie gefragt, ob Sie die Berechtigungstabellen neu laden möchten, damit alle angewendeten Änderungen wirksam werden.

Erstellen Sie einen dedizierten WordPress-Datenbankbenutzer

Best Practices für die Sicherheit schreiben vor, Benutzer und Berechtigungen nach Pflichten oder Rollen zu trennen. Das bedeutet, dass jede Anwendung, die die Datenbank verwendet, einen eigenen dedizierten Benutzer mit der Mindestmenge an MySQL-Datenbankberechtigungen haben sollte, die für die Ausführung ihrer Aufgabe erforderlich sind. Auf diese Weise stellen Sie sicher, dass die Benutzerrechte nicht über das erforderliche Maß hinausgehen.

Diese Praxis sollte sich auf Bereitstellungen erstrecken, auf denen mehrere WordPress-Websites ausgeführt werden – jede WordPress-Website sollte über eine eigene dedizierte Datenbank und einen eigenen MySQL-Benutzer verfügen. Dadurch wird sichergestellt, dass immer nur ein Benutzer Zugriff auf eine Datenbank hat und Benutzer nicht auf andere Datenbanken zugreifen können, wodurch unbefugter Zugriff und Datenschutzverletzungen vermieden werden.

Die folgende SQL-Anweisung (ersetzen Sie je nach Bedarf <host> und <password> und <database>) kann verwendet werden, um einen dedizierten Benutzer für Ihre WordPress-Website zu erstellen und Berechtigungen für die regelmäßige Verwendung zu gewähren. Denken Sie daran, dass einige WordPress-Plugins, Themes und WordPress-Updates gelegentlich zusätzliche Berechtigungen benötigen, um korrekt zu funktionieren (weitere Informationen finden Sie in der offiziellen WordPress-Anleitung).

Stellen Sie sicher, dass local_infile deaktiviert ist

Mit der Anweisung LOAD DATA können Sie Datendateien in Datenbanktabellen laden. Dies kann unter bestimmten Bedingungen missbraucht werden, um Dateien vom MySQL-Server zu lesen. Daher solltest du diese Funktion deaktivieren, es sei denn, du hast einen bestimmten Anwendungsfall dafür auf deiner WordPress-Seite.

Wenn MySQL und der Webserver auf demselben Rechner laufen, kann es einem Angreifer ermöglichen, die Anweisung LOAD DATA LOCAL zu verwenden, um beliebige Dateien zu lesen, auf die der Webserverprozess Lesezugriff hat. Dies setzt voraus, dass ein Angreifer in der Lage ist, beliebige SQL-Anweisungen gegen MySQL auszuführen. Dies kann bei einer SQL-Injection-Schwachstelle oder durch die Installation eines schädlichen WordPress-Plugins der Fall sein. Dies ist ein weiterer Grund, Ihren Webserver und Ihre Datenbankserver getrennt zu halten.

Standardmäßig ist local_infile in MySQL 8.0 deaktiviert (in früheren Versionen von MySQL war es standardmäßig aktiviert). Um zu verhindern, dass der MySQL-Server LOAD DATA LOCAL-Anweisungen akzeptiert, stellen Sie sicher, dass der mysqld-Daemon mit deaktiviertem local_infile gestartet wird.

Deaktivieren Sie den MySQL-Befehlsverlauf

Unter Linux werden die interaktiv ausgeführten MySQL-Client-Protokollanweisungen in einer Verlaufsdatei gespeichert (normalerweise in $HOME/.mysql_history). Der MySQL-Befehlsverlauf sollte idealerweise deaktiviert werden, da dies die Wahrscheinlichkeit verringert, vertrauliche Informationen wie Passwörter, Verschlüsselungsschlüssel oder andere Geheimnisse preiszugeben.

Führen Sie die folgenden Befehle aus, um zu überprüfen, ob .mysql_history-Dateien nicht auf dem System vorhanden sind:

find /home -name „.mysql_history“
finde /root -name „.mysql_history“

Wenn die obigen Befehle eine Ausgabe zurückgeben, entfernen Sie alle .mysql_history-Dateien. Zusätzlich können Sie $HOME/.mysql_history wie folgt als Symlink auf /dev/null setzen:

ln -s /dev/null $HOME/.mysql_history

Stellen Sie sicher, dass mysqld nicht mit dem Argument –skip-grant-tables gestartet wird

Sollte das Root-Passwort von MySQL verlegt werden, obwohl dies nicht die bevorzugte Methode ist, können einige MySQL-Administratoren darauf zurückgreifen, MySQL so einzustellen, dass es mit dem Argument –skip-grant-tables beginnt. Wenn MySQL mit diesem Parameter gestartet wird, vermeidet es die Überprüfung seiner Berechtigungstabellen, wenn ein Client eine Verbindung herstellt oder eine Abfrage ausführt, wodurch praktisch jeder überall (vorausgesetzt, er kann die Datenbank über das Netzwerk erreichen) alles auf dem Datenbankserver tun kann.

Um sicherzustellen, dass –skip-grant-tables nicht aktiviert ist, öffnen Sie die Konfigurationsdatei /etc/mysql/mysql.conf.d/mysqld.cnf Ihres Servers und suchen Sie nach skip-grant-tables. Der Wert sollte entweder nicht gesetzt oder auf skip-grant-tables = FALSE gesetzt werden.

Sichern Sie Ihre Datenbank

Das Sichern Ihrer WordPress-Datenbank ist absolut entscheidend, um sich nach einer Katastrophe oder einem Angriff umgehend erholen zu können. Obwohl es unzählige Möglichkeiten gibt, Ihre WordPress-Datenbank zu sichern – von WordPress-Backup-Plugins und -Diensten bis hin zu selbst entwickelten Skripten, die regelmäßig einen Datenbank-Dump erstellen – sind die folgenden ein paar wichtige Tipps, die Sie beachten sollten.

Machen Sie regelmäßig Backups

Das Erstellen regelmäßiger Backups ist ziemlich offensichtlich und selbsterklärend – je häufiger Sie Datenbank-Backups erstellen, desto einfacher wird es sein, sich nach einem Datenverlust wiederherzustellen. Während die Häufigkeit von Backups von der Art der WordPress-Site abhängt, die Sie betreiben, ist eine tägliche Sicherung als Faustregel für die meisten Anwendungsfälle gut geeignet.

Überprüfen Sie regelmäßig die Integrität Ihrer Backups

Ihre Backups sind nur nützlich, wenn sie funktionieren. und Sie möchten es wahrscheinlich lieber nicht herausfinden, während Sie mitten in einem Vorfall sind und versuchen, Daten wiederherzustellen. Die einfache Abhilfe besteht darin, regelmäßig zu überprüfen, ob Ihre Sicherungen tatsächlich funktionieren, indem Sie von Zeit zu Zeit Testwiederherstellungen durchführen. Eine gute Möglichkeit, dies zu tun, besteht darin, alle paar Monate ein Kalenderereignis festzulegen, um ein Wiederherstellungsverfahren zu durchlaufen, um sicherzustellen, dass Ihre Sicherungen weiterhin wie erwartet funktionieren. Darüber hinaus ist es auch eine gute Idee, die Schritte zur Wiederherstellung der Datenbank zu dokumentieren – je weniger Rätselraten bei der Reaktion auf einen Vorfall, desto besser.

Speichern Sie Ihre Backups sicher

Bewahren Sie niemals Backups Ihrer WordPress-Site auf Ihrem Web- oder Datenbankserver (insbesondere auf Ihrem Webserver) auf. Backups sind ein großartiger Ort für Angreifer, um in Müllcontainer zu tauchen. Es wird dringend empfohlen, Ihre Backups an einem sicheren externen Ort zu speichern. Wenn Sie regelmäßig Datenbanksicherungen erstellen, sollten Sie Ihre Datenbanksicherungen in einem Objektspeicherdienst speichern. Dazu können Amazon S3, Cloudflare R2, DigitalOcean Spaces, Linode Object Storage usw. gehören. Dieser Weg kann eine großartige und kostengünstige Möglichkeit sein, Ihre Datenbank-Backups zu speichern. Achten Sie jedoch besonders darauf, dass Sie den von Ihnen verwendeten Storage-Bucket nicht öffentlich zugänglich machen.

TLS-Verbindungen aktivieren und erzwingen

Sofern Sie MySQL nicht auf demselben Computer wie Ihren Webserver ausführen (was, wie wir bereits oben erwähnt haben, keine ideale Sicherheitspraxis ist), wird dringend empfohlen, Daten zwischen WordPress und MySQL mit Transport Layer Security (TLS-Zertifikat) zu verschlüsseln. früher als Secure Socket Layer (SSL-Zertifikat) bezeichnet.

Wenn Sie MySQL installieren, wird standardmäßig automatisch ein selbstsigniertes Zertifikat für Sie generiert. Sie können dies überprüfen, indem Sie Folgendes ausführen (alternativ können Sie das Skript mysql_ssl_rsa_setup verwenden, um neue Zertifikate zu generieren).

Sie müssen ca.pem aus der obigen Liste (z. B. über SCP) auf den Server kopieren, auf dem Ihre WordPress-Website ausgeführt wird. Nachdem Sie die ca.pem-Datei auf Ihren WordPress-Server hochgeladen haben, müssen Sie das Zertifikat in den Certificate Trust Store des Betriebssystems verschieben und den Certificate Trust Store wie folgt aktualisieren.

Achtung, der Dateiname des CA-Zertifikats muss mit einer .crt-Dateierweiterung enden (z. B. mysql-ca.crt ist gültig, aber mysql-ca.pem.crt oder mysql-ca.pem sind ungültig).

sudo mv ca.pem /usr/local/share/ca-certificates/mysql-ca.crt
sudo update-ca-Zertifikate

Als nächstes müssen Sie WordPress so konfigurieren, dass es TLS verwendet, wenn Sie sich mit MySQL verbinden, indem Sie Folgendes zu Ihrer wp-config.php-Datei Ihrer WordPress-Installation hinzufügen.

define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);

Sobald du wp-config.php aktualisierst, initiiert WordPress Verbindungen zu deinem MySQL-Server über TLS.

Als nächstes wird empfohlen, dass Sie TLS-Verbindungen zu Ihrem MySQL-Server mithilfe der Systemvariablen require_secure_transport erzwingen, indem Sie Folgendes zu Ihrer /etc/mysql/mysql.conf.d/mysqld.cnf-Datei hinzufügen.

require_secure_transport = EIN

Starten Sie abschließend MySQL neu, damit die Änderungen wirksam werden.

systemctl startet mysql neu

Ändern Sie das Tabellenpräfix

Standardmäßig werden alle WordPress-Tabellen mit dem Präfix „wp_“ erstellt. Dies kann es Angreifern erleichtern, bestimmte Angriffe wie SQL-Injection erfolgreich durchzuführen, da sie die Namen der Datenbanktabellen kennen würden. Obwohl dies allein Sie nicht schützen wird, ist es eine einfache Übung, die von vielen als beste WordPress-Sicherheitspraxis empfohlen wird.

Sie können das Datenbankpräfix während des Installationsvorgangs oder jederzeit danach ändern, obwohl letzteres etwas komplexer ist. In beiden Fällen finden Sie Online-Tutorials zum Ändern des WordPress-Datenbankpräfixes.

Wie man Änderungen umsetzt

Hoffentlich hat Ihnen dieser Artikel einen Überblick über die MySQL-Sicherheitshärtung im Zusammenhang mit dem Betrieb einer WordPress-Website gegeben. Es gibt zwar keine Patentrezepte für die Website-Sicherheit, aber mit etwas Aufwand wird ein mehrschichtiger Defense-in-Depth-Sicherheitsansatz den Angriff auf Ihre Website für Angreifer erheblich erschweren.
Während dieser Leitfaden eine Reihe von Hardening-Techniken für MySQL vorstellt, ist MySQL nur eine Komponente des WordPress-Ökosystems. Daher sollten Sie auch andere Aspekte der WordPress-Sicherheit berücksichtigen, die in unserem WordPress-Leitfaden zur Sicherheitshärtung behandelt werden. Dies, gepaart mit bewährten Sicherheitsmaßnahmen wie der Zwei-Faktor-Authentifizierung von WordPress, hilft Ihnen dabei, sicherzustellen, dass Sie so sicher wie möglich sind.

Wenn es sich nach viel anfühlt, denken Sie daran, dass Sie die verschiedenen Härtungstechniken, die in diesem Handbuch behandelt werden, schrittweise anwenden können (und wahrscheinlich sollten).

Halten Sie Ihr WordPress sicher

Denken Sie daran, dass Angreifer oft nach weichen Zielen suchen, da sie weniger Aufwand betreiben müssen, um schwach gesicherte Websites auszunutzen. Der Sicherheitslage der nächsten WordPress-Website einen Schritt voraus zu sein, macht Sie zu einem weniger attraktiven Ziel.