How-to: Magento von Malware befreien

How-to: Magento von Malware befreien

Als die weltweit verbreitetste Shopsoftware ist Magento ein besonders beliebtes Ziel von Hackern. Immer wieder werden Sicherheitslücken entdeckt und durch das Einschleusen von Malware Shopbetreiber und deren Kunden geschädigt. Oftmals bleiben Angriffe und Datendiebstähle zunächst unbemerkt – aber wenn entdeckt worden ist, dass ein Shop mit Schadsoftware infiziert worden ist, ist schnelles und entschlossenes Handeln unabdingbar. Wir fassen die wichtigsten Schritte auf dem Weg zu einem sauberen, von Malware befreiten Magento Shop zusammen.

Magento vor Malware schützen

Immer wieder berichten wir über Sicherheitslücken in Magento und die entsprechenden Patches (zuletzt im vergangenen Monat zum Thema SUPEE-8788). Aber immer wenn Magento alle Nutzer über das neuste Security-Release informiert, ist es für eine Reihe von Shopbetreibern bereits zu spät und sie wurden bereits angegriffen – möglicherweise bislang unbemerkt. Und wer sich nicht beeilt, den neuesten Patch zu installieren, läuft weiterhin Gefahr, Opfer einer Malware-Attacke zu werden. Die Betreiber von Onlineshops müssen zwingend, sowohl in ihrem eigenen als auch im Interesse ihrer Kunden jedes Sicherheitsupdate umgehend installieren. Und sie sind durch das im Sommer 2015 in Kraft getretene IT-Sicherheitsgesetz auch dazu verpflichtet. Wer sich stets an diesen Grundsatz hält, kann ziemlich sicher sein, dass sein Shop “sauber” bleibt. Ziemlich sicher, aber eben leider nicht ganz sicher.

Einen Magento Shop von Malware befreien

Wenn entdeckt wird, dass ein Magento Shop trotz allem von Malware befallen wurde, ist entschlossenes Handeln gefragt. Hier eine eng an den Empfehlungen von Magento orientierte Übersicht der wichtigsten Schritte zur Schadensbegrenzung und für die Bereinigung des Shops:

  1. Zunächst muss der Shop mithilfe von magereport.com auf eventuell fehlende Security-Patches und auf möglicherweise bereist bekannte Malware überprüft werden.
  2. Bevor Änderungen am Shop vorgenommen werden, muss natürlich ein vollständiges Backup angelegt werden, das im Zweifelsfall wieder eingespielt werden kann.
  3. Dann müssen in einer Development-Instanz alle fehlenden, in den Magento Tech Resources erhältlichen Patches installiert und der Shop anschließend eingehend auf Funktionalität überprüft werden.
  4. Zusätzlich muss in der Development-Instanz des Shops die jeweils neueste Version aller genutzen Extensions installiert werden. Wieder muss der Shop im Anschluss eingehend auf Funktionalität getestet werden.
  5. Im Admin-Panel der Development-Instanz des Shops müssen alle unbekannten Admin-Zugänge unter System > Permission > Users (bzw. System > Berechtigungen > Benutzer) gelöscht werden. Zusätzlich müssen die Passwörter aller bekannten Benutzer geändert und es sollten möglicherweise zu allgemein gewählte Benutzernamen (wie admin, administrator, superuser oder root) durch individuellere Namen ersetzt werden.
  6. Auch alle SSH- und FTP-Benutzer müssen überprüft werden. Unbekannte Zugänge müssen gelöscht, die Passwörter bekannter Benutzer müssen geändert werden.
  7. Gegebenenfalls müssen unter System > Configuration > Design > HTML Head > Miscellaneous Scripts (bzw. System > Konfiguration > Design > HTML Kopf > Diverse Skripte & Skriptverknüpfungen) alle unbekannten JavaScript Code-Bestandteile entfernt werden. Ganz wichtig: hierbei müssen nacheinander alle Scope-Level (also auch möglicherweise mehrere Websites und Store Views) überprüft werden. Am Ende darf nur Code übrig bleiben, bei dem gesichert ist, dass er dort auch wirklich hingehört (etwa Code-Snippets für Tracking).
  8. Ebenso müssen unter System > Configuration > Design > Footer > Miscellaneous HTML (bzw. System > Konfiguration > Design > Fußzeile > Verschiedenes HTML) sämtliche unbekannten JavaScript Code-Bestandteile entfernt werden. Auch hierbei müssen nacheinander alle Scope-Level (also auch möglicherweise mehrere Websites und Store Views) überprüft werden. Am Ende allein derjenige Code übrig bleiben, bei dem gesichert ist, dass er hier auch tatsächlich hingehört (beispielsweise Code-Snippets für Tracking).
  9. Nun kann mithilfe von magereport.com geprüft werden, ob die Malware auch tatsächlich aus dem Shop getilgt ist.
  10. Zusätzlich muss sichergestellt werden, dass das Admin-Panel gesichert ist, indem es unter einer abweichenden Adresse (also nicht /admin) erreichbar ist und dass weder die app/etc/local.xml noch die var URLs des Shops im Browser öffentlich zugänglich sind.
  11. Schließlich sind noch auf die Hinweise und Empfehlungen in zwei wichtigen Magento Ressourcen zu konsultieren und zu befolgen, sofern dies noch nicht vollständig umgesetzt worden ist: Zum Einen geht es dabei um die Durchführung der Schritte gegen Brute-Force-Attacken zum Herausfinden von Passwörtern und zum anderen um die Magento Security Best-Practices.

Bereinigung von SEO-Flurschäden

Sollte der mit Malware infizierte Shop Google bereits unangenehm aufgefallen sein, kann es sein, dass in den Suchergebnissen entsprechende Warnungen für die Seiten des betroffenen Shops angezeigt werden. In einem solchen Fall kann man nach der Bereinigung und Absicherung des Shops eine neuerliche Überprüfung durch Google beantragen. Eine solche Überprüfung dauert einige Tage. Und wenn die Suchmaschine schließlich zu dem Ergebnis kommt, dass die Seite wieder “sauber” ist, sollten sämtliche Warnungen binnen 72 Stunden aus den Suchergebnissen verschwinden. Weiterführende Informationen zu diesem Verfahren finden sich unter https://developers.google.com/webmasters/hacked/docs/request_review.

Und was ist, wenn der Schädling tiefer sitzt?

In eher seltenen Fällen gelingt es Hackern, tiefer in die Infrastruktur des Shops einzudringen. Dann muss zusätzlich zu den oben beschriebenen Absicherungen und den Säuberungen in der Datenbank auch das Dateisystem einer eingehenden Prüfung unterzogen werden. Solche tiefergehenden Infektionen lassen sich allerdings nicht mit allgemein gehaltenen Patentrezepten behandeln. Hier muss auf einen versierten Magento Partner zurückgegriffen werden, der den Code ausfindig machen und nachhaltig entfernen kann.

Dieser Beitrag wurde am von veröffentlicht/zuletzt bearbeitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

49 − = 41