Menü
Avatar von Valentin Hilbig
  • Valentin Hilbig

mehr als 1000 Beiträge seit 08.01.2000

Auf Deutsch übersetzt woher die Lücke stammt

Ich schreibe "Lücke", weil es eigentlich keine ist. Und ich schreibe dies hier, weil ich nach dem Lesen vom Heise-Artikel eher weniger schlau war als vorher.

Also:

Das Plugin hat eine .htaccess-Datei, die verhindert, dass mit hochgeladenen Dateien Schabernack getrieben wird.

Mit Apache-Version 2.3.9 wurde .htaccess standardmäßig deaktiviert wenn man es nicht explizit erlaubt. Die Änderung haben die Leute wie üblich natürlich übersehen.

Und dadurch wurden die Installationen durch den Update auf eine neuere Apache-Version plötzlich kompromittierbar, weil .htaccess nimmer greift.

Wer das also nicht mitbekommen hat (=so gut wie alle), hatte er danach eine verwundbare Installation beim Einsatz des Upload-Plugins. Und das dürfte nur die Spitze vom Eisberg sein.

Der Fehler ist also WEDER im Plugin NOCH im Apache selbst, sondern wenn überhaupt in der Wahl der Default-Konfiguration, die ja ein Sicherheitsfeature deaktiviert.

Das tat sie aber aus guten und recht wichtigen Sicherheitsgründen!

Die Abhilfe ist einfach:

Die entsprechende Config aus der .htaccess in die Apache-Config übernehmen, dass man auf den /files-Folder keinerlei Rechte hat etwas wie PHP auszuführen etc. usw. pp.
(Sorry, ich habe das Plugin weder im Einsatz noch Apache, und habe gerade keine Zeit nachzusehen wie das konkret geht.)

Ja, stimmt, hier gab es für Apache keine Möglichkeit zu überleben, nur 3 verschiedene Wege, wie man instant stirbt:

Weg 1: Man lässt .htaccess an und lebt damit, dass das die Geschwindigkeit bremst und zudem mögliche bekanntermaßen ausgenutzte Sicherheitslücken offen lässt (jemand legt per Upload eine .htaccess an, etc.).

Weg 2: Man schaltet .htaccess ab, was aber halt leider zu genau diesem Problem hier führt. So wurde es von Apache gemacht, indem der Default entsprechend steht. Und ich halte die Entscheidung von Apache für richtig, da dies neue Installationen besser abdichtet.

Weg 3: Man führt die neue Variante ein, und da Weg 1 wie Weg 2 bescheiden sind, sorgt man dafür, dass der Apache erst startet, wenn man die Option gewählt hat. Das verschiebt das Problem nur zu den Distributionen und produziert noch mehr Entropie. Das kann ich ganz und gar nicht empfehlen.

Sprich: Es gab einfach keine Lösung die irgendwie "richtig" war. Am "richtigsten" ist, dafür zu sorgen, dass zukünftige Installationen möglichst sicher sind, und das hat Apache getan.

TL;DR: Shit happens.

-Tino
PS: Mich betrifft es weniger, ich verwende meistens die Kombination NginX/PHP-FPM wenn es PHP sein muss.

Bewerten
- +
Anzeige