Logo von Security

Suche
Jürgen Schmidt 1089

Schnellhilfe für osCommerce-Admins

osCommerce-Systeme werden derzeit massenhaft gehackt. Deshalb müssen Shop-Admins jetzt sofort handeln.

In den Warnungen zu den massenhaften Infektionen von osCommerce-Shops wird meist nur empfohlen, auf die aktuelle Version 2.3.1 zu wechseln. Dummerweise ist dieses Upgrade keineswegs trivial. Im Wesentlichen läuft es in vielen Fällen darauf hinaus, den Shop komplett neu aufzusetzen. Selbst das Datenbankformat hat sich geändert, so dass man einen Dump einer alten Version nicht ohne Handarbeit übernehmen kann.

Anzeige

Das alles kostet Zeit, die Gefahr ist jedoch akut und man sollte sofort reagieren. Deshalb gibt das Folgende eine Kurzanleitung, wie man überprüft, ob sein eigenes osCommerce-System anfällig ist, es auf eine mögliche Infektion kontrolliert und dann zumindest provisorisch absichert.
Diese osCommerce-Version ist anfällig. Vergrößern

0. Versions-Check

Die aktuellen Attacken betreffen vor allem osCommerce-Versionen vor 2.3.0 – also insbesondere alle 2.2er-Installationen. Den Versionsstand des eigenen Systems kontrolliert man im Admin-Interface unter "Hilfsprogramme/Server Info" (.../admin/server_info.php). Wer dort mindestens Version 2.3.0 vorfindet, ist zunächst mal nicht akut gefährdet.

1. Check auf Infektion

Bevor man sich an das Absichern des Servers macht, sollte man checken, ob der vielleicht bereits kompromittiert ist. Das kann man zuverlässig ermitteln, indem man den gesamten Ordner mit der Webshop-Installation etwa via FTP auf sein lokales System kopiert. Dann vergleicht man es mit einem möglichst frischen, aber hoffentlich noch sauberen Backup. Unter Linux liefert der Befehl

# diff -w -q webshop/ webshop-backup/ 

eine Liste aller Dateien, die sich in den beiden Verzeichnissen unterscheiden beziehungsweise nur in einem der beiden vorhanden sind. Die sollte man dann einzeln abklappern und überprüfen. Verdächtig sind etwa Script-Tags, die Code von externen URLs nachladen und alle Befehle, die ein iFrame in die Web-Seite einbetten wollen. Ein vereinfachter Test sucht das Webshop-Verzeichnis nach diesem String ab:

# grep -R -i "iframe" webshop/

Das sollte nur einen harmlosen Treffer in einer Aufzählung in einer JavaScript-Datei liefern. Allerdings kann man sich nicht auf diese Suche verlassen, denn es gibt viele Möglichkeiten, den String zu verbergen. Etwa indem man ihn in Teile splittet, die erst später zusammengesetzt werden. Empfehlenswert ist eine Kombination der beiden Verfahren. Eine detaillierte Analyse der aktuellen Angriffe liefert das Armorize-Blog. Wegen ders aufgeführten Beispielcodes kann diese Seite jedoch einen (Fehl-)Alarm Ihrer Antiviren-Software auslösen.

Wenn Ihr System tatsächlich kompromittiert wurde, empfiehlt es sich auf ein Komplett-Backup zurückzugreifen. Alternativ kann man zwar auch versuchen, den eingeschleusten Code von Hand zu entfernen, muss dabei aber sehr sorgfältig vorgehen, dass man nichts übersieht.

2. Provisorisches Absichern

Die aktuellen Angriffe erfolgen über das bei osCommerce 2.2 unzureichend gesicherte Admin-Interface. Um es zu schützen gibt es zwei Wege – wer kein Risiko eingehen will, kann auch beide einsetzen.

a) Admin-Patch

Wie auch der osCommerce-Entwickler Harald Ponce de Leon gegenüber heise Security bestätigte, ist eigentlich nur eines aus der langen Liste von Updates wirklich sicherheitsrelevant: das Administration Tool Log-In Update sichert das Admin-Interface gegen missbräuchliche Verwendung. Dazu muss man nur wie in der verlinkten Beschreibung erklärt in den Dateien

insgesamt drei Codezeilen für eine zusätzliche Sicherheitsanfrage einfügen. Damit sollten die bei Armorize aufgeführten Attacken bereits ins Leere laufen. Sie können das testen, indem Sie eine URL wie

/admin/file_manager.php/login.php?action=download&filename=/includes/configure.php

in einer neuen Browser-Sitzung aufrufen. Ist das System korrekt gesichert, sollten Sie auf dem Login-Prompt landen. Wird Ihnen ein Download einer PHP-Datei angeboten (ohne dass Sie sich bereits vorher angemeldet haben!), dann haben Sie weiterhin ein Problem.

b) Verzeichnisschutz durch .htaccess

Sie können zum Schutz auch gleich das ganze Verzeichnis admin/ durch das Anlegen einer Datei .htaccess abriegeln. Dann erfolgt in jeder Browser-Sitzung beim ersten Zugriff auf eine Seite des Admin-Interface eine Passwort-Abfrage. Diese Zugriffskontrolle wird vom Web-Server selbst durchgeführt und ist unabhängig vom Login-Prompt der Shop-Software. Das ist zwar doppelt gemoppelt – hält aber auch besser. Die Anleitung SELFHTML erklärt das Anlegen und die Funktionsweise von .htaccess im Abschnitt Verzeichnisse und Dateien mit Passwort schützen.

3. Upgrade planen

Mit diesen Schutzmaßnahmen haben Sie sich Zeit verschafft, um das weitere Vorgehen in Ruhe zu planen; die aktuelle Angriffswelle sollte Ihrem Shop nichts mehr anhaben können. Die osCommerce-Version 2.3.1 enthält jedoch eine Reihe von weiteren Sicherheitsverbesserungen und Bug-Fixes, sodass sich ein vollständiges Upgrade durchaus empfiehlt. Das Major Release Version 3.0 ist ein komplettes Rewrite, das mindestens PHP 5.3 erfordert.

Bitte haben Sie Verständnis, dass wir keine Hilfestellung bei weitergehenden Fragen zu osCommerce leisten können. Falls Sie Probleme beim Upgrade von osCommerce haben oder etwas aus der vorgestellten Kurzanleitung nicht verstehen, fragen Sie bitte im Forum Serversicherheit nach.

1089 Kommentare