Apache und symbol Links
Andreas
- webserver
0 Michael Schröpl0 Andreas
0 Eidgenosse
Hallo,
ich habe mit dem Linux Kommando "ln -s ..." einen symbolischen Link von einem Verzeichnis auf ein anderes Verzeichnis gemacht. Das funktioniert auch wunderbar, allerdings scheint der Apache Webserver mit dem Link Nichts anzufangen, denn ich bekomme immer die Fehlermeldung "403 - Forbidden", wenn ich das gelinkte Verzeichnis über einen Browser anspreche.
Falls das weiterhilft: Der symbolische Link befindet sich im Root-Verzeichnis eines Virtual Host und verweist auf ein Unterverzeichnis eines anderen Virtual Host. Der Link hat alle Rechte (chmod 777) und gehört dem Benutzer und der Gruppe, denen auch das Zielverzeichnis gehört.
Tja - momentan komme ich leider nicht weiter. Weiss vielleicht jemand von Euch, wie ich das mit "ln" anstellen muss, oder gibt es für mein Vorhaben vielleicht eine andere Lösung?
Ciao
Andreas
Hi Andreas,
ich habe mit dem Linux Kommando "ln -s ..." einen symbolischen Link von einem Verzeichnis auf ein anderes Verzeichnis gemacht. Das funktioniert auch wunderbar, allerdings scheint der Apache Webserver mit dem Link Nichts anzufangen, denn ich bekomme immer die Fehlermeldung "403 - Forbidden", wenn ich das gelinkte Verzeichnis über einen Browser anspreche.
ist Dein Apache so konfiguriert, daß er symbolic links (und ggf. sogar solche fremder owner) traversieren darf? Denn das, was Du tust, ist ein potentielles Sicherheitsrisiko.
Falls das weiterhilft: Der symbolische Link befindet sich im Root-Verzeichnis eines Virtual Host und verweist auf ein Unterverzeichnis eines anderen Virtual Host. Der Link hat alle Rechte (chmod 777) und gehört dem Benutzer und der Gruppe, denen auch das Zielverzeichnis gehört.
Die Rechte des Links ;-) sind irrelevant - entscheidend sind die Rechte des _Ziels_ dieses Links.
Wäre es anders, dann könnte ich ja auf jedes geschützte Verzeichnis einen symbolic link legen und dessen Rechte nach Belieben einstellen ...
Viele Grüße
Michael
Hi Michael und Eidgenosse,
ist Dein Apache so konfiguriert, daß er symbolic links (und ggf. sogar solche fremder owner) traversieren darf? Denn das, was Du tust, ist ein potentielles Sicherheitsrisiko.
vielen Dank - dass ich das in Apache noch konfigurieren (erlauben) muss, ist wahrscheinlich DIE Lösung. Inwiefern das ein Sicherheitsrisiko ist, muss ich noch prüfen - im Grunde sehe ich in einem solchen Link momentan Nichts Anderes, als von einer Webseite auf eine andere Seite zu verlinken. Fraglich ist natürlich, ob durch solche Links irgendwelche dubiosen Dateizugriffe gefährlich werden könnten.
Die Rechte des Links ;-) sind irrelevant - entscheidend sind die Rechte des _Ziels_ dieses Links.
Okay :o) Die sollten passen.
Vielen Dank für Euere Hilfe!
Ciao
Andreas
Hallo Andreas,
mit einem Link quer durch Dein Dateisystem durchbrichst Du die klare Abgrenzung zwischen allgemein zugreifbaren Web-Verzeichnissen und dem Rest des Systems. Bei Unachtsamkeiten kann soetwas schnell zu Effekten führen, die Du nicht haben möchtest - aber schließlich gilt ja: No risk no fun!
Gruß
Eidgenosse
Hi Eidgenosse,
mit dem Motto hast Du allerdings Recht ;o)
Allerdings habe ich gerade herausgefunden, dass ich "Options FollowSymLinks" nicht unbedingt global, sondern auch nur für einzelne Verzeichnisse zulassen kann. Somit gibt es glaube ich keine Bedenken mehr für einen klaren Verstoß gegen Richtlinien, weil diese Option - wenn ich das so richtig verstanden habe - nur für dieses eine Verzeichnis gilt, auf das nur ich als root zugriff habe.
Ich bin jedenfalls sher glücklich mit dieser Lösung. Somit habe ich eine ähnliche Geschichte wie bei 1&1 Puretec geschaffen: Eine meiner Domains hat SSL. Wenn jetzt irgend eine anderer User auch SSL haben möchte, kann ich einfach in einem Unterverzeichnis auf meiner Domain einen SymLink auf das Rootverzeichnis des Users setzen, und er kann zum Beispiel über
https://www.Domain.de/user/www.AndereDomain.de/
via HTTPS auf Seine Domain zugreifen. Ich werde das natürlich nochmal genauestens unter die Lupe nehmen, bevor ich meine Daten schrotte. Aber wenn das wirklich sicher ist, ist diese Lösung auf jeden Fall einfacher zu konfigurieren, als es zum Beispiel 1&1 Puretec mit dem "ssl.kundenserver.de" bei den Premium-Paketen macht. Oder liege ich jetzt völlig falsch? Schaumermal...
Also vielen Dank nochmal!
So short,
ciao
Andreas
Hi Andreas,
Allerdings habe ich gerade herausgefunden, dass ich "Options FollowSymLinks" nicht unbedingt global, sondern auch nur für einzelne Verzeichnisse zulassen kann.
# The server will only follow symbolic links for which the target file or directory is owned by the same user id as the link.
Das ist deutlich restriktiver - da kann dann ein Anwender nicht "aus Spaß" mal eben auf die /etc/passwd verlinken ...
Viele Grüße
Michael
Hallo Andreas,
wenn ich mich recht erinnere, mußt Du in der Konfigurationsdatei des Apache Links erst erlauben.
Gruß
Eidgenosse