Magento und die Sicherheit: Patch SUPEE-6788

Seit Magento dazu übergegangen ist, in den Adminbereichen der Shops Meldungen über Sicherheitslücken und deren Patches aufpoppen zu lassen, sind die Shopbetreiber wesentlich sicherheitsbewusster geworden. Ein kleines Alarm-Icon unter dem „critical“ steht, sensibilisiert. Schön.

Bildschirmfoto 2015-10-29 um 11.50.31

Magento ist derzeit etwas unter Beschuss, da es wohl eine Reihe von Shops gibt, die angegriffen wurden. Dafür kann Magento aber erstmal nichts. Denn dies betrifft scheinbar überwiegend Shops, die die Patches (v.a. den Shoplift-Bug-Patch) nicht installiert haben und die Alarm-Icons-Critical nicht so ernst nehmen, wie sie sollten.

Grundsätzlich sollten Sie folgendes nicht in Ihrem Shop haben:

Ihr Admin-Bereich sollte NICHT unter der Adressse www.meine-beispiel-shop-url.de/admin/ (oder www.meine-beispiel-shop-url.de/index.php/admin/) erreichbar sein.

Der Downloader sollte NICHT unter der Adresse www.meine-beispiel-shop-url.de/downloader/ erreichbar sein.

Wenn beides bei Ihnen nicht der Fall ist, ist das schonmal gut. Wenn eines von beidem bei Ihnen der Fall ist, sollten Sie mit Ihrem Entwickler oder Ihrer Agentur Kontakt aufnehmen.

Sicherheitspatches sollten ernst genommen werden und zeitnah nach deren Erscheinen durchgeführt werden – immer ganz brav erst in einer Testumgebung, dann erst im produktiven Shop. Es gibt immer wieder Shops, die keinen SSH-Zugang und keine Testumgebung haben. Ich persönlich finde, dass dort am falschen Ende gespart wird – und hoffe, dass die Alarm-Icons-Critical hieran vielleicht etwas ändern.

Der aktuelle Patch SUPEE-6788 schließt laut Magento so allerlei Lücken, die aber rein prophylaktisch sein sollen, da auf diese Lücken noch keine Angriffe stattgefunden haben. Im Normalfall ändert sich das nach Erscheinen eines Patches, da man damit ja praktisch immer einen Bauplan für die Angriffsziele bekannt gibt. Zum Download für die Community Edition wird er angeboten auf der Magento-Download-Seite https://www.magentocommerce.com/download. Shops, die eine Installation kleiner als Version 1.7 vorweisen, haben ein Problem, denn Patches für diese Versionen wird es wohl nicht geben.

Dieser aktuelle Patch SUPEE-6788 hat so seine Tücken, weil er in recht grundlegende Programmteile von Magento eingreift.Rund 800 Erweiterungen laufen derzeit nicht mit diesem Patch, die Chance, dass der Shop nach Einspielen des Patches zumindest in Teilen lahmgelegt wird, liegt grob geschätzt bei 80%.

Um das zumindest abzufedern gibt‘s einen neue Auswahl im Adminbereich, anhand dessen man auch erkennen kann, ob der Patch denn vorhanden ist oder nicht. Unter System-Konfiguration->Erweitert->Admin findet sich ein Punkt „Sicherheit“ und in diesem die Auswahl „Admin routing compatibility mode for extensions“. Erst wenn dieses auf „disabled“ steht, wird der Patch so richtig aktiv.

Bildschirmfoto 2015-10-29 um 12.03.44

Wenn Sie also eine Testumgebung haben – installieren Sie den Patch und deaktivieren Sie diese Auswahl – und testen Sie dann Ihren Shop.

Darauf müssen Sie achten:
Eine (erschreckend lange) Liste von Erweiterungen von Drittanbietern, die nach diesem Patch nicht mehr laufen, finden Sie auf dieser Seite:
https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/edit#gid=0

Überprüfen Sie also, ob dort Erweiterungen aufgelistet sind, die Sie einsetzen.

Wenn ja, wird sich z.B. im Adminbereich beim Aufruf einer Erweiterung eine 404-Seite oder Ihre Shop-Startseite zeigen (je nach Einstellung).

Klicken Sie also vor allem alle Erweiterungen von Drittanbietern durch.

Ihr Entwickler kann etwas gezielter vorgehen. Hier ist eine schöne Auflistung der Änderungen: http://magento.com/security/patches/supee-6788-technical-details

Im Einzelnen:

APPSEC-1034: neu ist, dass bestimmte Angaben zur Definition eines Admin-Routers nicht mehr zugelassen werden. Wenn man also sein Projekt durchsucht nach <use>admin</use> wird man betroffene Module finden.

APPSEC-1063: soll mögliche SQL-Injections verhindern, daher sind bestimmte SQL-Statements nicht mehr möglich, nach denen man das Projekt durchsuchen kann.

APPSEC-1057: hier ist geändert worden, dass bestimmte Varibalen in der Templateverarbeitung nur noch bestimmten Modulen erlaubt sind, wie z.B. web/secure/base_url. Wenn also Templatedateien oder Blöcke/CMS-Seiten Direktiven wie diese enthalten: {{config path=”web/unsecure/base_url”}} wird dies weiterhin nur dann funktionieren, wenn man eine White-List damit befüllt hat. Es gibt daher zwei neue Datenbank-Tabellen: permission_variable und permission_block. Ob der Shop betroffen ist von diesem Bereich des Patches kann man herausfinden, indem man fein säuberlich alle betroffenen Variablen durchsucht (derer 12).

APPSEC-1079: dieser Bereich sichert scheinbar einen Angriff über die Auswahl File-Type bei individuellen Produktoptionen ab. Es sind daher anscheinend nur Shops betroffen, die individuelle Optionen vom Typ „Datei“ erlauben.

Fazit: für alle, die gerne wissen möchten, ob dieser Patch trotz aller möglichen Aufwände und Kosten installiert werden sollte: ja. Sicherlich werden viele Anbieter von Erweiterungen Aktualisierungen anbieten, so dass Sie immer sicherer sein können, dass keine Probleme auftauchen. Wenn Sie eine Erweiterung neu kaufen, sollten Sie (halbwegs) sicher sein können, dass diese bereits angepasst ist, wenn diese für Magento 1.9.2.2 angeboten wird, denn in dieser ist der Patch von Haus aus enthalten.

Kleiner Nachtrag

Was nach der Installation des Patches außerdem möglcherweise nicht mehr funktioniert, ist der Link in der Passwort-Vergessen-E-Mail.
Das kann man am – für mich – einfachsten lösen, indem man in der local.xml seines eigenen Templates (app/design/frontend/default/TMPLDIR/layout/local.xml) folgendes einträgt:


     
        
        
        

        
            
                Reset a Password
            
        
        
            
                
            
            
                Reset a Password
            
        
        
            
        
    

Kommentare

  1. Hallo Kerstin,

    grade dieser Patch 6788 ist tricky – und kann quasi zwischen 2 Minuten und 2 Tagen dauern. Er hat eine Systemeinstellung, die man aktivieren/deaktivieren kann. Je nachdem laufen dann einige Erweiterungen von Drittanbietern im Admin nicht mehr, die nicht für diesen Patch geeigent sind. Hier muss man neue Versionen einspielen oder im schlimmsten Fall, etwas umprogrammieren. Dann kommt hinzu, dass man Blöcke und Variablen „aufsprüfen“ muss, die im Frontend verwendet werden und diese erlauben muss…. Es hängt also vom Shop ab. Bei Shops, die aktuell gehalten sind und immer Updates einspielen, geht es recht schnell. Bei anderen kann es sehr lange dauern.

    LG.

Hinterlasse einen Kommentar

Kontakt
E-Mail: office@neoshops.de
Tel.: +49 [0]151 7000 7107
Carmen Bremen
Magento Certified Developer
Magento Certified Solution Specialist
Magento Certified Frontend Developer
Magento Freelancer


Magento Certified Developer Magento Certified Solution Specialist Magento Certified Frontend Developer



Magento Stammtisch Köln
Magento Stammtisch KölnDer nächste Kölner Magento Stammtisch findet statt am 30. Mai 2017. (Xing Event) Wer Interesse hat, kann sich in die Stammtisch-Gruppe auf Xing eintragen, ich sende eine Rund-E-Mail mit Details kurz vor dem Event!

Kontakt

Carmen Bremen.

In: Xing
In: Skype
In: Twitter
In: Google+
Per: Formular
Innermail: Office (t) neoshops.de
In Köln: In der Lößbörde 1, 50859 Köln
Per Handy: +49 [0]151- 7000 7107

Letzte Beiträge