Magento empfiehlt, keine Vorlagen über Symlinks zu verwenden:
Advanced > Developer > Template Settings > Allow Symlinks
Warnung! Das Aktivieren dieser Funktion wird in Produktionsumgebungen nicht empfohlen, da dies ein potenzielles Sicherheitsrisiko darstellt.
Bis heute sehe ich hier keine Risiken.
- Was ist das Risiko?
Antworten:
Symlinks sind nicht unbedingt schlecht.
Erstens: Wenn Sie versuchen, ein Symlink-Ziel zu öffnen, gelten die Dateiberechtigungen des Ziels. Wenn Sie das Symlink-Ziel nicht lesen / schreiben / ausführen dürfen, geschieht nichts.
Aber: Möglicherweise können Sie Dateien außerhalb Ihres Dokumentenstamms ausführen (manchmal möchten Sie das tatsächlich tun, oder?). Das Problem kann auftreten, wenn Sie sich nicht in einer suEXEC-Umgebung befinden und ein
apache
oder einwww-data
Benutzer auf einem gemeinsam genutzten Hosting ist, der für das Bereitstellen von Dateien von verschiedenen Konten verantwortlich ist. Ihr Systembenutzer darf nicht auf Dateien eines anderen Kunden zugreifen, derapache/www-data
Benutzer hat jedoch meistens Leserechte für alle freigegebenen Konten. Dies kann ein Szenario sein, in dem ein Benutzer auf Dateien eines anderen Benutzers auf einem gemeinsam genutzten Host zugreifen kann. Nicht mit Ihrem eigenen Benutzer, sondern indem Sie mit demapache/www-data
Benutzer über einen Browser auf die Datei zugreifen . Fazit: In diesem Szenario können Sie auf die Dateien anderer Benutzer zugreifen => bad.Das nächste Schlimme ist, dass ein Angreifer Symlinks erstellen kann, auch zu Dateien wie / etc / passwd, ..., diese Daten herunterladen und mit diesen Informationen fortfahren kann. Dies hängt nicht nur vom Symlink ab, sondern auch von einer schlechten Serverkonfiguration (bei der der Zugriff auf diese Dateien streng begrenzt ist). Wenn Sie keine Symlinks verwenden, werden einige mögliche Angriffe verhindert.
Es geht nicht nur darum, dass der Symlink selbst ein Sicherheitsrisiko darstellt, sondern auch um ein Problem bei der Serverkonfiguration.
quelle
app/design
Ordners in Kombination mit anderen kleineren Exploits kann von einem Administrator für die Eskalation von Berechtigungen und andere Server-Exploits verwendet werden.SymLinksIfOwnerMatch
Option anstelle von verwendet wirdFollowSymlinks
.Ja, das ist der Grund, warum Webserver normalerweise auch eine Konfiguration haben, bei der "Symlinks nicht folgen" oder zumindest "nur Symlinks von Ziel mit demselben Benutzer folgen", weil Webserver / PHP normalerweise mit mehr Rechten ausgeführt wird, als Sie Zugriff haben sollten.
Und da Webserver normalerweise versuchen, sichtbare Dinge wie / etc / shadow zu vermeiden, ist dies für Magento-Vorlagen noch gefährlicher, da Vorlagen über include () analysiert werden, sodass Sie möglicherweise sehr starke Sicherheitslücken haben, wenn Sie nicht die volle Kontrolle über Ihre Dateien haben.
Sie können argumentieren, dass es dann andere Probleme gibt, aber wer kennt wirklich jedes mögliche Angriffsszenario und meistens ist es die Kombination verschiedener weniger problematischer Sicherheitslücken, die zu den großen Brüchen führen.
Außerdem gab es vor einiger Zeit ein Sicherheitsupdate in Bezug auf Medienverzeichnis und Symlinks, daher sollten Sie dort nach möglichen Angriffsszenarien suchen.
quelle
Ich kann mir nur vorstellen, dass dies ein Risiko für gemeinsam genutzte Hosts darstellt, das in erster Linie nicht für E-Commerce verwendet werden sollte.
quelle
Der Magento-Patch SUPEE-9767 enthält APPSEC-1281: Remotecodeausführung über Symlinks. Symlinks in Vorlagen sind also ein Sicherheitsproblem.
quelle
Nicht empfehlen zu erlauben. Beim Laden von js sind Fehler aufgetreten, während symlinks aktiviert waren.
Viele;
Ich muss versuchen, 4-5 zu aktualisieren, damit die Seiten erfolgreich geladen werden.
Nach dem Schließen werden möglicherweise nicht alle Ressourcen zum ersten Mal langsam geladen, aber die Fehler sind verschwunden.
PS: Nachdem Sie symlink deaktiviert haben, müssen Sie die bereitgestellte Kopie der Dateien nach jeder Änderung für static.php löschen. Kopieren Sie sie erneut für Sie.
quelle