Wenn Apache oder nginx statische Dateien bereitstellen, folgen sie symbolischen Verknüpfungen, auch wenn diese auf eine Datei verweisen, die einem anderen Systembenutzer gehört (z. B. eine Datei eines anderen Abonnements). So können Angreifer mit Zugriff auf ein Abonnement Dateien aus einem anderen Abonnement lesen, z. B. Dateien, die Passwörter und Einstellungen für WordPress und andere CMS enthalten.

Entschärfen der Schwachstelle

Berechtigungen für das Dateisystem

Wenn Sie das WordPress Toolkit verwenden, können Sie damit die Schwachstelle für Ihre WordPress-Instanzen ganz einfach entschärfen:

  1. Öffnen Sie WordPress Toolkit.
  2. Wählen Sie alle WordPress-Instanzen aus und klicken Sie auf Sicherheit überprüfen.
  3. Stellen Sie sicher, dass die Option „Berechtigungen für Dateien und Verzeichnisse“ auf „OK“ gesetzt ist.
  4. Klicken Sie andernfalls auf „Schützen“.

Wenn Sie WordPress Toolkit nicht verwenden oder Sie ein anderes CMS als WordPress schützen möchten, müssen Sie die Berechtigungen für alle Dateien, die Sie schützen möchten, manuell korrigieren. Lehnen Sie dazu alle Berechtigungen für die Gruppe „Andere“ ab, indem Sie den folgenden Befehl ausführen:

chmod o-rwx <file_name>

Bemerkung: Es gibt keine einheitliche Liste der Dateien, die für alle Webanwendungen oder alle CMS auf diese Weise geschützt werden müssen. Für welche Dateien die Berechtigungen geändert werden müssen, um eine Webanwendung zu schützen, hängt von der jeweiligen Anwendung ab.

Apache-Konfiguration

Diese Option zum Entschärfen der Schwachstelle eignet sich für Abonnements, in denen Apache als Webserver verwendet wird (ein Abonnement verwendet Apache, wenn der Proxymodus unter Hosting & DNS > Einstellungen für Apache & nginx aktiviert ist).

So entschärfen Sie die Schwachstelle:

  1. Gehen Sie zu Service-Pakete > Ihr Paket > Tab „Webserver“ (oder zu Ihrem Abonnement > Websites & Domains > Hosting & DNS > Einstellungen für Apache & nginx).
  2. Klicken Sie das Kontrollkästchen Fähigkeit, symbolischen Links zu folgen, einschränken an.

Wenn Sie dies für ein Service-Paket tun, wird die Schwachstelle für alle auf diesem Service-Paket basierenden Abonnements entschärft (d. h. ein Angreifer mit Zugriff auf ein Abonnement kann keine Angriffe auf andere Abonnements durchführen). Wenn Sie dies für ein Abonnement tun, wird die Schwachstelle nur für dieses Abonnement entschärft.

Bemerkung: Eine Website, die symbolische Verknüpfungen zu ihren eigenen Dateien verwendet, funktioniert weiterhin, wenn die Option „FollowSymLinks“ in der Datei .htaccess nicht ausgewählt wurde, da die Option „SymLinksIfOwnerMatch“ standardmäßig aktiviert ist. Wenn eine solche Website die „FollowSymLinks“-Option in der Datei .htaccess verwendet, funktioniert die Website nicht mehr.

Vorsicht: Diese Lösung macht Sie jedoch weiterhin anfällig für eine Racebedingung vom Typ „time-of-check to time-of-use“ im Zusammenhang mit der „SymLinksIfOwnerMatch“-Option von Apache. Um auch diese Schwachstelle zu entschärfen, können Sie diesen Patch auf Apache anwenden. Der Patch wurde nicht von Plesk getestet, die Anwendung erfolgt auf Ihr eigenes Risiko. Als Alternative können Sie auch eine der kernelbasierten Optionen zum Schutz vor symbolischen Verknüpfungen verwenden, die weiter unten in diesem Artikel beschrieben werden.

nginx-Konfiguration

Diese Option zum Entschärfen der Schwachstelle eignet sich für Abonnements, in denen nginx direkt zum Bereitstellen von statischen Dateien verwendet wird (ein Abonnement verwendet nginx, wenn der Proxymodus entweder deaktiviert ist oder aktiviert ist und außerdem unter Hosting & DNS > Einstellungen für Apache & nginx die Option „Statische Dateien direkt durch Nginx bedienen“ aktiviert ist).

So entschärfen Sie die Schwachstelle:

  1. Gehen Sie zu Service-Pakete > Ihr Paket > „Webserver“ (oder zu Ihrem Abonnement > Websites & Domains > Hosting & DNS > Einstellungen für Apache & nginx).
  2. Klicken Sie das Kontrollkästchen Fähigkeit, symbolischen Links zu folgen, einschränken an.

Wenn Sie dies für ein Service-Paket tun, wird die Schwachstelle für alle auf diesem Service-Paket basierenden Abonnements entschärft (d. h. ein Angreifer mit Zugriff auf ein Abonnement kann keine Angriffe auf andere Abonnements durchführen). Wenn Sie dies für ein Abonnement tun, wird die Schwachstelle nur für dieses Abonnement entschärft.

Bemerkung: Diese Option gilt nicht für Computer mit Linux-Kernelversion 2.6.39 oder früher. Sie haben diese Kernelversion, wenn Sie CentOS 6, Red Hat Enterprise Linux 6 oder CloudLinux 6 verwenden. Um die Schwachstelle auf solchen Rechnern zu entschärfen, sollten Sie entweder das Betriebssystem auf die neueste stabile Version aktualisieren oder einen der kernelbasierten Mechanismen unten zum Schutz vor symbolischen Verknüpfungen verwenden.

SecureLinks in mod_hostinglimits für CloudLinux

Auf Computern mit CloudLinux können Sie die Schwachstelle entschärfen, indem Sie den Schutzmechanismus für die Übereinstimmung von Inhabern der symbolischen Verknüpfung aktivieren, der als Teil des HostingLimits-Moduls für Apache verfügbar ist. Weitere Informationen finden Sie in der Dokumentation zu CloudLinux unter <https://docs.cloudlinux.com/cloudlinux_os_kernel/#symlink-owner-match-protection>`__.

Symlink Protection-Patchset für CentOS 6 & 7 von KernelCare (kostenlos)

Auf Computern mit CentOS 6 oder CentOS 7 können Sie die Schwachstelle entschärfen, indem Sie das kostenlose Symlink Protection-Patchset von CloudLinux installieren. Weitere Informationen finden Sie in der Dokumentation zu CloudLinux unter <https://www.cloudlinux.com/kernelcare-blog/entry/symlink-protection-patchset-centos-6-7-kernelcare>`__.

Grsecurity (eine Reihe von Patches für den Linux-Kernel mit Schwerpunkt auf Sicherheitsverbesserungen; kostenpflichtiges Abonnement erforderlich)

Wenn keine der genannten Optionen zum Entschärfen der Schwachstelle auf Ihre Situation zutrifft, können Sie das grsecurity-Paket mit Patches für den Linux-Kernel installieren, das für mehr Sicherheit sorgt. Konfigurieren Sie dann die Funktion GRKERNSEC_SYMLINKOWN. Beachten Sie bitte, dass die Nutzung von grsecurity nicht kostenlos ist und den Erwerb eines Jahresabonnements erfordert.