WordPress-Dateiberechtigungen: Der Leitfaden zur Konfiguration sicherer Website- und Webserverberechtigungen

Veröffentlicht: 2020-07-02

WordPress kann so ziemlich auf jedem Betriebssystem laufen, auf dem PHP läuft. Die überwiegende Mehrheit der WordPress-Websites läuft jedoch unter Linux. Daher ist es wichtig, dass Sie die Linux-Dateiberechtigungen verstehen.

Es ist entscheidend, die Dateiberechtigungen richtig festzulegen. Das Festlegen falscher Dateiberechtigungen kann Ihre Website für Angriffe öffnen. Falsche Dateiberechtigungen können unbefugten Benutzern den Zugriff auf potenziell vertrauliche Dateien und Daten ermöglichen. Solche Daten können dann als Sprungbrett für einen größeren Angriff verwendet werden.

Als WordPress-Administrator können Dateiberechtigungen etwas entmutigend erscheinen, besonders wenn Sie neu bei Linux sind. Keine Angst! In diesem Handbuch wird von Grund auf erklärt, welche Dateiberechtigungen unter Linux gelten. Es erklärt auch, wie Linux-Dateiberechtigungen für Ihre WordPress-Website gelten.

Inhaltsverzeichnis

  • Was sind Dateiberechtigungen?
    • Berechtigungsgruppen
    • Berechtigungstypen
  • Berechtigungsdarstellung
  • Empfohlene WordPress-Dateiberechtigungen
  • So reparieren Sie WordPress-Dateiberechtigungen
    • Auf einem Shared-Hosting-Service
    • per FTP
    • über SSH
  • Bonus-Tipp: Sicherheit über Dateiberechtigungen hinaus

Was sind Dateiberechtigungen?

Berechtigungsgruppen

Alles beginnt mit wem . Wie jedes andere Betriebssystem hat Linux ein Konzept von Benutzern und Gruppen . Bei der Definition , wer Zugriff auf eine Datei erhält, hat jede Datei und jedes Verzeichnis auf einem Linux-System drei Berechtigungsgruppen.

  • Eigentümer
    • Jede Datei oder jedes Verzeichnis hat einen Eigentümer.
    • Die Eigentümerberechtigungen gelten nur für den Eigentümer der Datei oder des Verzeichnisses. Sie wirken sich nicht auf die Aktionen anderer Benutzer aus.
  • Gruppe
    • Jeder Datei oder jedem Verzeichnis kann eine Gruppe von Benutzern zugewiesen werden, denen Zugriff darauf gewährt wird.
    • Die Gruppenberechtigungen gelten nur für die Gruppe, die der Datei oder dem Verzeichnis zugewiesen wurde. Sie wirken sich nicht auf die Aktionen anderer Benutzer aus.
  • Andere
    • Jede Datei oder jedes Verzeichnis kann definieren, welche Berechtigungen „jeder andere“ hat. Das heißt, abgesehen vom Besitzer oder der Gruppe , die wir festlegen.
    • Die anderen Berechtigungen gelten für alle anderen Benutzer des Systems. Dies ist die Berechtigungsgruppe, die Sie am meisten beobachten sollten, da Sie möglicherweise unwissentlich allen Zugriff gewähren.

Berechtigungstypen

Jetzt, da wir wissen, wie man angibt , wer Zugriff auf eine Datei oder ein Verzeichnis hat, müssen wir auswählen, welche Art von Berechtigungen wir jedem Besitzer , jeder Gruppe und anderen für die Dateien oder Verzeichnisse erteilen. Im Folgenden sind die Berechtigungstypen aufgeführt, die wir einer Berechtigungsgruppe ( Eigentümer , Gruppe , Andere ) geben können:

  • Lesen
    • Der Leseberechtigungstyp bezieht sich auf die Fähigkeit eines Benutzers, den Inhalt der Datei zu lesen.
  • Schreiben
    • Die Schreiberlaubnis bezieht sich auf die Fähigkeit eines Benutzers, den Inhalt der Datei zu schreiben und/oder zu modifizieren.
    • Es ist möglich, einem Benutzer zu erlauben, in eine Datei zu schreiben, ohne dass er die Möglichkeit hat, ihren Inhalt zu lesen.
  • Ausführen
    • Die Ausführungsberechtigung wirkt sich auf die Fähigkeit eines Benutzers aus, eine Datei auszuführen, beispielsweise ein Skript.
    • Die Ausführungsberechtigung erlaubt es einem Benutzer auch, den Inhalt eines Verzeichnisses anzuzeigen.

Berechtigungsvertretung

Nachdem wir nun verstanden haben, wie Berechtigungen funktionieren, schauen wir uns an, wie eine Linux-Berechtigung tatsächlich dargestellt wird. Dateiberechtigungen werden als eine Reihe von 3 Zahlen gespeichert. Sie können aber auch als Buchstaben dargestellt werden, was die Lesbarkeit etwas erleichtert. Lassen Sie uns zuerst verstehen, was diese Zahlen bedeuten.

  1. Erste Nummer
    • Dem Eigentümer erteilte Berechtigungen
  2. Zweite Nummer
    • Der Gruppe erteilte Berechtigungen
  3. Dritte Zahl
    • Berechtigungen für andere (alle anderen, außer Eigentümer und Gruppe )

Jede Zahl entspricht einer Kombination aus einem oder mehreren Berechtigungstypen, die wir zuvor besprochen haben. Dies zu verstehen ist viel einfacher, wenn es visualisiert wird. Jeder Berechtigungstyp hat ein Gewicht , das für jede Berechtigungsgruppe addiert wird.

Die Berechtigungen für Linux-Dateien und -Verzeichnisse

Verwirrt? Es kann eine Weile dauern und etwas Übung, um Ihren Kopf darum zu wickeln. In der Zwischenzeit finden Sie hier eine Tabelle mit allen möglichen Dateiberechtigungen, die Sie jeder Berechtigungsgruppe zuweisen können .

Nummer Briefe Beschreibung
0 (0+0+0) --- Kein Zugang
1 (0+0+1) --x Ausführen
2 (0+2+0) -w- Schreiben
3 (0+2+1) -wx Schreiben und ausführen
4 (4+0+0) R-- Lesen
5 (4+0+1) Empfang Lesen und ausführen
6 (4+2+0) rw- Lesen und Schreiben
7 (4+2+1) rwx Lesen, schreiben und ausführen

Um ein konkretes Beispiel zu sehen, bedeutet eine 644 -Dateiberechtigung

  • Besitzerberechtigung zum Lesen und Schreiben der Datei oder des Verzeichnisses
  • Gruppe hat die Berechtigung, die Datei oder das Verzeichnis zu lesen
  • andere hat die Berechtigung, die Datei oder das Verzeichnis zu lesen

Die Filer-Berechtigungen 644 erklärt

Normalerweise werden diese Werte ohne Leerzeichen und mit einem zusätzlichen oder d am Anfang dargestellt. Das bezeichnet eine reguläre Datei. d bezeichnet ein Verzeichnis. Das folgende Beispiel zeigt die Verwendung des Linux- Befehls ls -la zum Auflisten von Dateien in einem Verzeichnis.

 $ls-la
insgesamt 0
drwxr-xr-x 4 Benutzergruppe 128 25. Mai 23:25 .
drwxrwxrwt 8 Wurzelrad 256 25. Mai 23:25 ..
drwxr-xr-x 2 Benutzergruppe 64 25. Mai 23:25 Verzeichnis
-rw-r--r-- 1 Benutzergruppe 0 25. Mai 23:25 file.txt

Empfohlene WordPress-Dateiberechtigungen

Das Festlegen falscher WordPress-Dateiberechtigungen kann dazu führen, dass versehentlich anderen Benutzern als beabsichtigt Zugriff gewährt wird. Im schlimmsten Fall kann dies einem Angreifer ermöglichen, den Inhalt einer wichtigen Datei zu ändern, auf die er keinen Zugriff haben soll. Es kann auch jedem Benutzer im Internet erlauben, vertrauliche Dateien in Ihrer WordPress-Installation zu lesen.

Aus diesem Grund sollten Sie die WordPress-Dateiberechtigungen niemals auf 777 (-rwxrwxrwx) setzen. Dies würde jedem, der in der Lage ist, diese Datei zu kontrollieren, vollen Lese-, Schreib- und Ausführungszugriff ermöglichen. Dies kann ein Dritter sein, der Änderungen über FTP oder SSH vornimmt, oder ein Angreifer über ein Upload-Formular.

Auf der anderen Seite müssen Sie darauf achten, die Dinge nicht zu restriktiv zu gestalten, damit WordPress seine Arbeit erledigen kann. Da WordPress selbst sowie Themes und Plugins oft sicher Änderungen an mehreren Dateien vornehmen müssen. Zum Beispiel, wenn WordPress automatisch aktualisiert wird, um Ihre Website vor Sicherheitslücken zu schützen.

Aus Gründen der Argumentation kann eine Berechtigung von 444 (-r–r–r–) zu einer Fehlfunktion Ihrer WordPress-Website führen. Mit 444 darf WordPress nur lesen , daher schlagen die automatischen Updates fehl . Vor diesem Hintergrund ist es möglich, WordPress mit Nur-Lese-Berechtigungen auszuführen ( 444 , oder r–r–r–). Es wird eine sehr erfolgreiche Installation. Sie müssen jedoch die oben genannten Einschränkungen berücksichtigen.

Einige verwaltete WordPress-Hosting-Anbieter unterstützen dies standardmäßig. Wenn Sie WordPress jedoch mit solchen Berechtigungen ausführen möchten, versuchen Sie es zuerst in der Staging-Umgebung.

Die von WordPress empfohlenen Dateiberechtigungen lauten wie folgt.

Typ Zahlen Briefe Beschreibung
Verzeichnisse 755 drwx-wx-wx WordPress-Installationsverzeichnisse
Dateien 644 -rwxr--r-- WordPress-Kern, WordPress-Themes und Plugins (für einige Themes und Plugins können Ausnahmen gelten)
wp-config.php 600 -rw------- Die WordPress-Konfigurationsdatei
.htaccess 644 bzw
600
-rw-r--r--
-rw-------
Apache HTTP Server-Konfigurationsdatei (gilt möglicherweise nicht, wenn Sie Nginx oder einen anderen Webserver als Apache HTTP Server ausführen)

So reparieren Sie WordPress-Dateiberechtigungen

Während sich eine Hosting-Umgebung von der anderen unterscheidet, haben Sie immer eine Möglichkeit, die Berechtigungen für WordPress-Dateien zu steuern.

Korrigieren von WordPress-Dateiberechtigungen über Ihr Shared Hosting Control Panel

Wenn Sie Shared Hosting verwenden, haben Sie wahrscheinlich Zugriff auf ein Control Panel wie cPanel oder Plesk. Erkundigen Sie sich in diesem Fall bei Ihrem Hosting-Provider nach den Schritten, die Sie unternehmen müssen, um die Dateiberechtigungen auf Ihrer WordPress-Site zu ändern.

Beheben von WordPress-Dateiberechtigungen über FTP

Das Korrigieren von WordPress-Dateiberechtigungen kann einfach über einen FTP-Client wie FileZilla oder Cyberduck erfolgen. Der folgende Screenshot stammt von Cyberduck. Klicken Sie einfach mit der rechten Maustaste auf die Datei oder das Verzeichnis, für das Sie Berechtigungen ändern möchten, klicken Sie auf Info und dann auf die Registerkarte Berechtigungen .

Der Prozess ist bei Filezilla ähnlich. Klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie Dateiberechtigungen und Ihnen wird ein ähnlicher Dialog angezeigt.

Ändern von Dateiberechtigungen mit einem FTP-Client

Beheben von WordPress-Berechtigungen über SSH

Wenn Sie bereits einen SSH-Client verwenden, können Sie den Linux-Befehl chmod ausführen, um die Dateiberechtigungen zu ändern. Nehmen wir das gleiche Beispiel wie oben, um die Berechtigungen von wp-config.php von 644 auf 600 zu ändern, würden wir die folgenden Befehle verwenden:

 # Ändern Sie das Verzeichnis zum Speicherort Ihrer WordPress-Installation
$cd /var/www/html
# Dateidetails von wp-config.php auflisten
$ ls -la wp-config.php
-rw-r--r-- 1 www-Daten www-Daten 7368 2. September 2019 wp-config.php
# Ändern Sie die Berechtigungen von wp-config.php von derzeit 644 auf 600
$ chmod 600 wp-config.php
# Bestätigen Sie Ihre Änderung
$ ls -la wp-config.php
-rw------- 1 www-data www-data 7368 2. September 2019 wp-config.php

Richtig konfigurierte WordPress-Dateiberechtigungen bedeuten eine sicherere Website

Fassen wir zusammen, was behandelt wurde. Wir haben gesehen, dass Dateiberechtigungen es uns ermöglichen, festzulegen, wer und wie auf eine Datei oder ein Verzeichnis auf einem Linux-System zugegriffen und/oder diese geändert werden kann. Wir haben auch besprochen, wie Sie Berechtigungen sowohl mit einem SFTP-Client als auch über SSH ändern können. Das Wichtigste, was wir besprochen haben, ist jedoch, warum Sie darauf achten sollten, die Dateiberechtigungen auf Ihrer WordPress-Website korrekt festzulegen.

Auch wenn es zunächst ein langwieriger Prozess sein mag, können falsche Dateiberechtigungen sensible Dateien auf Ihrer WordPress-Website offenlegen. Darüber hinaus können sie es einem Angreifer ermöglichen, eine Schwachstelle mit niedrigem Schweregrad unter den richtigen Umständen zu einer gefährlicheren zu eskalieren .

Jetzt, da Sie ein besseres Verständnis dafür haben, wie Dateiberechtigungen unter Linux funktionieren und wie sie sich auf die Sicherheit Ihrer WordPress-Site auswirken, verwenden Sie diese Informationen, um zu liberale WordPress-Dateiberechtigungen zu stützen.

Bonus-Sicherheitstipps: Über WordPress-Dateiberechtigungen hinaus

Korrekte WordPress-Dateiberechtigungen sind ein großartiger Ausgangspunkt, um mit der Arbeit an der WordPress-Sicherheit zu beginnen. Sie sind jedoch bei weitem nicht das Einzige, worüber man sich Sorgen machen muss. Andere Dinge, die Sie tun sollten, um die Sicherheitslage Ihrer WordPress-Website zu verbessern, sind:

  • Dokumentieren Sie alles, was auf Ihrer Website passiert, in einem WordPress-Aktivitätsprotokoll.
  • Verwenden Sie ein WordPress-Plugin zur Überwachung der Dateiintegrität,
  • Erzwingen Sie strenge WordPress-Passwortrichtlinien,
  • Fügen Sie Ihrer WordPress-Website die Zwei-Faktor-Authentifizierung hinzu,
  • Installieren Sie eine WordPress-Firewall / verwenden Sie einen Online-WordPress-Firewall-Dienst.