Hallo zusammen,
mal ne blöde Frage (vielleicht): wenn ich ein Update aufspiele, überschreibe ich ja sämtliche Dateien (oder auch nur die Differenzdateien), dabei werden sicherlich ab und zu neue Dateien ins System gebracht, die ältere Dateien nicht physikalisch auf der Platte des Servers aber funktionell ersetzen, meine Frage ist jetzt, ob diese Dateileichen normalerweise durch das Updatescript gelöscht werden oder ob sie weiterhin auf der Platte schlummern?
Hintergrund ist der, dass wir vor einiger Zeit einen Hackerangriff hatten, ich ein Update aufgespielt habe, worin genau dieser Hack behoben werden sollte. Gelöscht habe ich außerdem alles was nicht nach unserer Webseite aussah (und hoffte den Hack damit erwischt zu haben, eine Datei hab ich auf jeden Fall gefunden, mit der man den Rechner fernsteuern konte), allerdings wurde mit dem gleichen Hack wenige Tage später wieder gehackt, was auf das alte Newsmodul zurückzuführen war, was eigentlich geupdatet wurde, aber eine alte Datei blieb wohl davon unberührt, bzw wurde diese wohl nicht vom Updatescript gelöscht.
Gruß und Dank
Jens
Werden alte Dateien beim Update gelöscht?
Werden alte Dateien beim Update gelöscht?
Last edited by mosag on Fri Oct 24, 2008 7:51 am, edited 1 time in total.
Re: Werden alte Dateien beim Update gelöscht?
Schau mal hier: http://forum.cmsmadesimple.org/index.ph ... #msg126515
Ich denke das beantwortet Deine Frage.
Prinzipiell sollte man gehackte Seiten komplett neu einrichten und nicht einfach nur ein Update einspielen.
Damit wird zwar die Sicherheitslücke geschlossen, aber nicht zwangsläufig auch der Schaden behoben, der durch diese Sicherheitslücke eventuell bereits entstanden ist.
D.h. Dateien die durch eine Sicherheitslücke verändert oder auf den Server geladen wurden bleiben vom Update unberührt.
Woher soll das Update-Script denn wissen was der Hacker bereits alles unternommen hat?
Anders sieht es aus, wenn ein Update bestimmte Dateien nicht mehr benötigt. Diese müssten vom Script eigentlich selber gelöscht werden. Tun aber leider die wenigsten.
Das hat vielleicht auch etwas mit Zugriffsrechten oder safe_mode zu tun. Wenn man z.B. sein CMS via FTP hochgeladen hat, dürfen php-Scripte diese Dateien in der Regel nicht löschen.
Meistens gibt es da nur Hinweise, dass diese oder jene Dateien nicht mehr benötigt werden und von Hand gelöscht werden können/müssen.
Sofern es sich um php-Scripte handelt, dürfte das Risiko gering sein, da die meisten php-Scripte eine Variable benötigen, die nur zur Laufzeit des regulären CMS Codes existiert. In jedem php-Script eines Moduls wird z.B. am Anfang immer geprüft, ob diese Variable existiert. Wenn nicht, dann wird das Script abgebrochen. Somit können Hacker selbst dann diesen Code nicht nutzen, wenn der direkte Zugriff auf diese php-Scritpte erlaubt ist. (davon ist eh abzuraten, aber einige Module benötigen das eben)
Wenn der Hacker allerdings bereits ein eigenes Script auf den Server eingeschleust hat, kann er diese Variable natürlich selbst erstellen und die CMS Scripte die nicht mehr benötigt werden und eventuell auch noch Sicherheitslücken beinhalten trotzdem verwenden.
(Bsp. Java-Applett des FileManagers)
Um ganz ehrlich zu sein habe ich noch nie ein Update des CMS gemacht.
Ich habe die Seite einfach mit der aktuellen Version neu eingereichtet und die alte Version gelöscht.
Kann Dir also erst nach einem Blick in den Quellcode sagen wie sich das CMS da verhält.
In der Regel werden die Upgrade-Scripte nur ausgeführt, wenn es Änderungen an der Datenbank gibt.
Wenn es Änderungen in der Dateistruktur gibt, ist die neue Version meiner Meinung nach nicht als abwärtskompatibel zu bezeichnen.
In solchen Fällen wird meist eh kein Update mitgeliefert.
ps: Alle Erklärungen meinerseits bitte mit Vorsicht genießen. Ich bin da kein Profi drin und verfüge nur über eine gefährliche Ansammlung von Halbwissen...
Ich denke das beantwortet Deine Frage.
Prinzipiell sollte man gehackte Seiten komplett neu einrichten und nicht einfach nur ein Update einspielen.
Damit wird zwar die Sicherheitslücke geschlossen, aber nicht zwangsläufig auch der Schaden behoben, der durch diese Sicherheitslücke eventuell bereits entstanden ist.
D.h. Dateien die durch eine Sicherheitslücke verändert oder auf den Server geladen wurden bleiben vom Update unberührt.
Woher soll das Update-Script denn wissen was der Hacker bereits alles unternommen hat?
Anders sieht es aus, wenn ein Update bestimmte Dateien nicht mehr benötigt. Diese müssten vom Script eigentlich selber gelöscht werden. Tun aber leider die wenigsten.
Das hat vielleicht auch etwas mit Zugriffsrechten oder safe_mode zu tun. Wenn man z.B. sein CMS via FTP hochgeladen hat, dürfen php-Scripte diese Dateien in der Regel nicht löschen.
Meistens gibt es da nur Hinweise, dass diese oder jene Dateien nicht mehr benötigt werden und von Hand gelöscht werden können/müssen.
Sofern es sich um php-Scripte handelt, dürfte das Risiko gering sein, da die meisten php-Scripte eine Variable benötigen, die nur zur Laufzeit des regulären CMS Codes existiert. In jedem php-Script eines Moduls wird z.B. am Anfang immer geprüft, ob diese Variable existiert. Wenn nicht, dann wird das Script abgebrochen. Somit können Hacker selbst dann diesen Code nicht nutzen, wenn der direkte Zugriff auf diese php-Scritpte erlaubt ist. (davon ist eh abzuraten, aber einige Module benötigen das eben)
Wenn der Hacker allerdings bereits ein eigenes Script auf den Server eingeschleust hat, kann er diese Variable natürlich selbst erstellen und die CMS Scripte die nicht mehr benötigt werden und eventuell auch noch Sicherheitslücken beinhalten trotzdem verwenden.
(Bsp. Java-Applett des FileManagers)
Um ganz ehrlich zu sein habe ich noch nie ein Update des CMS gemacht.
Ich habe die Seite einfach mit der aktuellen Version neu eingereichtet und die alte Version gelöscht.
Kann Dir also erst nach einem Blick in den Quellcode sagen wie sich das CMS da verhält.
In der Regel werden die Upgrade-Scripte nur ausgeführt, wenn es Änderungen an der Datenbank gibt.
Wenn es Änderungen in der Dateistruktur gibt, ist die neue Version meiner Meinung nach nicht als abwärtskompatibel zu bezeichnen.
In solchen Fällen wird meist eh kein Update mitgeliefert.
ps: Alle Erklärungen meinerseits bitte mit Vorsicht genießen. Ich bin da kein Profi drin und verfüge nur über eine gefährliche Ansammlung von Halbwissen...
Re: Werden alte Dateien beim Update gelöscht?
@mosag:
Zu der Frage, die du aus deinem Beitrag entfernt hast
... die config.php sollte im Normalfall generell chmod 444 (nicht 644) haben und am besten noch mit einem Eintrag in der htaccess geschützt werden (siehe Link in NaNs Beitrag).
Zu der Frage, die du aus deinem Beitrag entfernt hast

Re: Werden alte Dateien beim Update gelöscht?
Danke Euch beiden, ja das mit dem config.php hab ich nachträglich wieder rausgenommen, da ich die Info noch irgendwo gefunden habe.
Oder ich probiere es wie Du oben geschrieben hast, den Uploads-Ordner kann ich ja eigentlich so lassen wie er ist auf dem Server oder? Dann müsste ich doch alle anderen Ordner runterschmeißen können und die neue Version hochladen und installieren. Mache ich denn dann ein Update oder eine Installation? Weil bei dem Update wird ja auch die Datenbank aktualisiert bei der Installation (wenn ich das Anlegen der tabellen ausschalte) doch glaube ich nicht, d.h. ich hätte ein neues System mit alter Datenbank oder?! Denkfehler meinerseits?
D.h. Dateien die von CMSMS vielleicht mal gebraucht, mittlerweile überholt und evtl durch neue ersetzt wurden, bleiben auf dem Server liegen. Hier würde ich mich freuen, wenn bei einem Update das Script irgendwie einen Hinweis ausspucken könnte welche Dateien das sind, die nicht mehr benötigt werden, damit ich diese zur Not von Hand löschen kann. Denn wenn die Sicherheitslücke in einer alten Datei schlummert, die aber nichts mit dem restlichen System zu tun hat, hat der Hacker ja eine Angriffsfläche. (Schade das ich gerade die Logdatei nicht mehr finden kann wo der Hack stattfand).D.h. Dateien die durch eine Sicherheitslücke verändert oder auf den Server geladen wurden bleiben vom Update unberührt.
Woher soll das Update-Script denn wissen was der Hacker bereits alles unternommen hat?
Anders sieht es aus, wenn ein Update bestimmte Dateien nicht mehr benötigt. Diese müssten vom Script eigentlich selber gelöscht werden. Tun aber leider die wenigsten.
Oder ich probiere es wie Du oben geschrieben hast, den Uploads-Ordner kann ich ja eigentlich so lassen wie er ist auf dem Server oder? Dann müsste ich doch alle anderen Ordner runterschmeißen können und die neue Version hochladen und installieren. Mache ich denn dann ein Update oder eine Installation? Weil bei dem Update wird ja auch die Datenbank aktualisiert bei der Installation (wenn ich das Anlegen der tabellen ausschalte) doch glaube ich nicht, d.h. ich hätte ein neues System mit alter Datenbank oder?! Denkfehler meinerseits?
Last edited by mosag on Mon Oct 27, 2008 9:28 am, edited 1 time in total.