Ich möchte einen Magento-Shop mit SUPEE-9767 patchen. Die Dokumentation für SUPEE-9767 fordert mich auf, die Symlinks-Einstellung zu deaktivieren, bevor ich den Patch anwende:
Stellen Sie vor dem Anwenden des Patches oder dem Aktualisieren auf die neueste Version sicher, dass die Symlinks-Einstellung deaktiviert ist. Wenn diese Einstellung aktiviert ist, werden die Einstellungen der Konfigurationsdatei außer Kraft gesetzt, und das Ändern erfordert eine direkte Datenbankänderung.
Aber ich verwalte Module mit Modman und da einige Module Vorlagendateien verwenden, ist die Symlinks-Einstellung gemäß dem Vorschlag in der README-Datei von Modman aktiviert. Ist es sicher, die Symlinks-Einstellung als einen der Beiträge im Sicherheitspatch SUPEE-9767 - Mögliche Probleme aktiviert zu lassen? schlägt vor (ich kann noch keine Beiträge kommentieren, da ich ein neuer Benutzer bin)?
Benutzer, die Modman zum Verwalten von Magento 1.x-Modulen verwenden, sollten sicherstellen, dass Symlinks nicht deaktiviert werden, da dies die Modman-Module deaktiviert.
Wenn ich die Einstellung "Symlinks" aktiviert lasse, ist der Shop dann nicht für APPSEC-1281: Remotecodeausführung über Symlinks verfügbar. Dies ist eine Sicherheitsbedrohung, die mit diesem Patch behoben werden soll .
Gibt es nach diesem Patch noch andere Möglichkeiten, Modman mit Vorlagendateien zu verwenden? (Ich kenne die Option "gepatchte Version von Mage / Core / Block / Template.php", die in der README von Modman erwähnt wird, aber das Patchen einer Core-Datei scheint gefährlich zu sein.)
quelle
Antworten:
Hier einige Erläuterungen zu dieser Änderung:
Lesen Sie zuerst diese Erklärung von Peter O'Callaghan, um sich ein Bild zu machen: https://peterocallaghan.co.uk/2017/06/appsec-1281-dangerous-symlinks/
Eine weitere interessante Lektüre ist dieser Beitrag von Max Chadwick: https://maxchadwick.xyz/blog/what-allow-symlinks-actually-does
Bei dieser Änderung geht es wirklich darum, hochladbare Inhalte (wie Bilder) über Vorlagenanweisungen aufzurufen.
Das Problem im Zusammenhang mit Symlinks ist nur mit Administratorzugriff ausnutzbar, und Magento hat auch beim Hochladen von Bildern etwas mehr Schutz hinzugefügt.
Bitte beachten Sie, dass es sich um einige Schutzmaßnahmen gegen die bekannte Art und Weise handelt, es zusätzlich zu der Einstellung selbst auszunutzen.
Wenn Sie also das damit verbundene Risiko verstehen, können Sie Symlinks aktiviert lassen.
Wenn Sie sie für eine Neuinstallation aktivieren müssen, können Sie Folgendes ausführen:
quelle
Das Problem sind keine Symlinks, das Problem sind Pfade, die eine höhere Ebene erreichen, wie z
../../../../../media/tmp/hahaha.png
. Wenn ich mich irre, kläre mich bitte auf. Der "Fix" hatte den Titel "Symlinks zulassen" und durch Aktivieren dieser Option wird die Prüfung deaktiviert, die mit implementiert wurderealpath()
. Meiner Meinung nach ist ein Fix, der genauso sicher, leistungsfähiger und immer noch kompatibel mit Symlinks ist, zu verwendenstrpos($path, '..')
und / oder zu überprüfen, ob errealpath()
mit bestimmten riskanten Verzeichnissen wiemedia
und übereinstimmtvar
. Wenn es so implementiert würde, müsste es nicht konfigurierbar sein, es könnte einfach immer aktiviert sein und trotzdem nicht Tausende von Läden zerstören.Unabhängig davon sollte Ihr Webserver-Benutzer keinen Zugriff auf das Schreiben von Dateien in den Quellcodeverzeichnissen haben (wie dies bei Magento Connect der Fall ist ...), um zu verhindern, dass böswilliger Code irgendwo geschrieben und als Blockvorlage ausgeführt wird.
Dieser Angriff auf Symlinks ist also fehlgeleitet und es gibt eine bessere Lösung. Tatsächlich habe ich vor über einem Jahr einen bereitgestellt und es gibt sogar einen Link dazu in der README von Modman Github.
quelle
Wenn Sie im Extra Ihrer Composer-Datei die Option magento-deploystrategy zum Kopieren festlegen, werden Ihre Dateien aus dem Herstellerordner und nicht aus Symlinks kopiert.
Sie können dann Ihre core_config_data ändern, um den Wert von dev / template / allow_symlink auf 0 zu setzen
Informationsquelle
quelle
Sie können SUPEE-9767-Änderungen auf verschiedene Arten außer Kraft setzen, siehe:
Wie aktiviere ich Symlinks nach der Installation von SUPEE-9767 V2?
quelle