wake-up-neo.net

Wie aktualisiere ich das Wordpress-Datenbankkennwort richtig?

Eine Site, die ich verwalte, wurde kürzlich kompromittiert, und ich gehe die Schritte durch, um die Site abzusichern und erneut zu sichern. Ich möchte das MySQL-Datenbankkennwort ändern und sicherstellen, dass ich die Site nicht herunterfahre (länger als eine Minute).

Ich mache mir auch Sorgen, dass das DB-Passwort sichtbar und unverschlüsselt ist, wenn ich es manuell direkt in der Datei wp-config.php ändere. Wenn mein anfängliches Passwort bei der Installation beispielsweise " please " war, wird es in der Datei wp-config.php als " aDQps4txy " angezeigt.

Was ist der beste Weg, um das Datenbankkennwort zu aktualisieren?

Danke im Voraus.

1
MagRat

Das ist technisch herausfordernd. WordPress muss Zugriff auf Ihr DB-Passwort im Klartext haben. Der Zugriff auf wp-config.php-Inhalte ist bereits eine Sicherheitsverletzung.

Es gibt alternative Konfigurationsansätze, beispielsweise das Laden von Anmeldeinformationen über Umgebungsvariablen. In der Praxis werden diese jedoch äußerst selten verwendet, da die Konfigurationsdatei PHP bereits eine sinnvolle Lösung darstellt.

Es ist nicht klar, warum Sie davon ausgehen, dass jemand Zugriff auf die Konfiguration erhält. Als niedrig hängende Frucht können Sie es außerhalb des Web-zugänglichen Verzeichnisses platzieren. WordPress sucht eine Verzeichnisebene über sich nach der Konfiguration. Bei Installationen in Unterverzeichnissen können Sie require verwenden, um Konfigurationsinhalte von einem anderen Ort zu laden, aber selbst das wird selten durchgeführt.

2
Rarst

Ihr tatsächliches DB-Passwort wird unverschlüsselt im wp-config.php gespeichert, d. H. Wenn Ihr Passwort foobar ist, lautet die entsprechende Zeile im wp-config.php:

/** MySQL database password */
define('DB_PASSWORD', 'foobar');

Wie @Rarst betonte:

Der Zugriff auf die Inhalte von wp-config.php ist bereits eine Sicherheitsverletzung.

Dies liegt daran, dass PHP ein Hypertext Präprozessor ist. Jeder, der über seinen Webbrowser auf wp-config.php zugreift, lässt die Datei über den serverseitigen PHP -Interpreter weiterleiten. Der Interpreter gibt nur die Daten an den Client (den Webbrowser) weiter, für deren Ausgabe er angewiesen wurde. Das DB-Passwort wird von PHP nicht ausgegeben. Wenn ich über meinen Browser auf meinen wp-config.php zugreife, erhalte ich eine leere Seite ohne Quellcode, da diese Datei überhaupt nichts ausgibt.

Es stimmt jedoch nicht, dass die unverschlüsselte Speicherung des DB-Passworts völlig risikofrei ist. Jeder, der die Möglichkeit hat, den Interpreter PHP zu umgehen und damit die Quelle der Datei zu lesen, erhält Zugriff auf Ihr Kennwort. Das hat auch @Rarst gemeint. Dies kann auch ein Mann in der Mitte sein, der Ihre unverschlüsselte FTP-Verbindung abhört . In dem Moment, in dem Sie wp-config.php über eine unsichere FTP-Verbindung herunterladen (im Gegensatz zu einer verschlüsselten SFTP-Verbindung), um ihn zu bearbeiten und erneut auf Ihren Server hochzuladen, besteht die Möglichkeit, dass Ihr Passwort ausspioniert wird.

Die einfachste Möglichkeit, die meisten Angriffe zu verhindern, besteht darin, Ihren Server durch Sicherheitsupdates auf dem neuesten Stand zu halten und stets sichere Protokolle zu verwenden (HTTP/FTP über TLS = HTTPS/FTPS anstelle von HTTP/FTP, alternativSFTPundSSHanstelle von Telnet) im Umgang mit sensiblen Daten, dh als Administrator.

Lesen Sie mehr unter https://codex.wordpress.org/Hardening_WordPress .

0
Frank Kottler