Dateirechte

Die korrekten Dateirechte auf deinem Server tragen wesentlich zur Sicherheit deiner WordPress-Website bei. Bei der richtigen Anwendung verhindern sie das Ausnutzen kritischer Sicherheitslücken. Daher ist es besonders wichtig, die Vergabe der Dateirechte zu verstehen und diese Aufgabe gewissenhaft zu erledigen.

Die meisten Server laufen mit einem Unix-Betriebssystem. Bei Unix-Dateisystemen besitzt jedes Verzeichnis Regeln, welche die Zugriffsrechte definieren. Diese geben an, in welchem Umfang das Verzeichnis verwendet werden darf. Unterschieden wird zwischen den folgenden Zugriffsrechten:

  • Lesen (Read): Der Inhalt des Verzeichnisses darf ausgelistet werden.
  • Schreiben (Write): In dem Verzeichnis dürfen Dateien hinzugefügt und gelöscht werden.
  • Ausführen (Execute): Auf die Dateien des Verzeichnisses darf zugegriffen werden, falls die Dateinamen bekannt sind.

Zusätzlich verfügt auch jede Datei innerhalb eines Verzeichnisses über Regeln für Zugriffsrechte:

  • Lesen (Read): Der Inhalt der Datei darf angesehen werden.
  • Schreiben (Write): Die Datei darf geändert und gelöscht werden.
  • Ausführen (Execute): Die Datei darf als Programm ausgeführt werden.

Diese Zugriffsrechte werden jeweils für drei Benutzerkategorien festgelegt:

  • Eigentümer (Owner): Jedes Verzeichnis und jede Datei hat genau einen Eigentümer.
  • Gruppe (Group): Jedes Verzeichnis wird außerdem einer Gruppe zugewiesen.
  • Andere Benutzer (Other): Für alle anderen Benutzer gelten wiederum andere Zugriffsrechte.

Dieses System ermöglicht es dir sichere Dateirechte für die unterschiedlichen Benutzerkategorien festzulegen. Viele Server kennen von Haus folgende Benutzer:

  • Der FTP-Benutzer (Owner) wird verwendet, wenn du dich mit den Zugangsdaten des Benutzers mit dem Server verbindest (z.B. über einen FTP-Clienten)
  • Der PHP-Benutzer (Group) wird von PHP-Skripten genutzt, hierfür werden keine Zugangsdaten benötigt.
  • Die unbekannten, anderen Benutzer (Other) sind die Besucher deiner Website.

Gefährliche Sicherheitslücken sind in Plugins oder Themes enthaltene PHP-Skripte, die das Schreiben von Dateien auf dem Server ermöglichen. Diese Skripte können von Angreifern ausgenutzt werden, um schädliche Dateien auf deinem Server abzulegen, da der PHP-Benutzer mit Schreibrechten keine Zugangsdaten dafür benötigt.

Daher solltest du lediglich dem FTP-Benutzer das Schreiben erlauben. Der Angreifer könnte zwar immer noch das fehlerhafte PHP-Skript aufrufen. Da der PHP-Benutzer keine Schreibrechte hat und der Angreifer die Zugangsdaten deines FTP-Benutzers nicht kennt, können keine schädlichen Dateien auf deinem Server abgelegt werden.