PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Riesen Problem beim Update von apache2-mod_php4 auf suse9.3



faceless
27.05.07, 23:14
Hallo!
Ich habe ein riesen Problem: Ich habe meinen Strato Vserver per yast geupdatet und alle security updates eingespielt. Eins davon hieß "apache2-mod_php4" und wurde wiefolgt beschrieben:

This Update fixes numerous vulnerabilities in PHP. Most of them were made public during the "Month of PHP Bugs". The vulnerabilities potentially lead to crashes, information leaks or even execution of malicious code. CVE-2007-1383, CVE-2007-1380, CVE-2007-0988, CVE-2007-1375 CVE-2007-1521, CVE-2007-1376, CVE-2007-1583, CVE-2007-1461 CVE-2007-1484, CVE-2007-1700,

Nach der Installation bin ich in YAST auf "Install and Remove Software" gegangen und habe eine Meldung über fehlende Abhängigkeiten bekommen. Da stand ganz oben folgender Eintrag: "/usr/lib/apache2-prefork/libphp4.so is not available" und dass die von apache2-mod_php4 benötigt wird. Wenn ich da auf solve gehe, passiert leider gar nix. Also bin ich auf cancel gegangen. Wenn ich dann in der Auswahlliste des Install and Remove Dialogs bin und ich da auf Accept gehe, meldet YAST, dass zusätzliche zu meinen gewählten Einstellungen (keine) noch folgende Pakete ausgewählt worden sind: apache2-mod_php4

Wenn ich dann bestätige, versucht er besagtes Paket zu installieren, bricht dann aber mit der Meldung ab, dass das Paket sich nicht auf dem Installationsmedium verfügbar ist.
Als ich dann erneut auf "Install and Remove Software" gegangen bin, wurde mir wieder angezeigt, dass /usr/lib/apache2-prefork/libphp4.so nicht vorhanden sei und, "apache2-mod_ php4" diese benötigt. Außerdem musste ich phpMyAdmin und noch irgendwas anderes, an das ich mich grad nicht erinnern kann, neu installierne muss.
Wenn ich da wieder auf solve gegangen bin, hat er phpMyAdmin und das andere aus der liste entfernt, aber das mit /usr/lib/apache2-prefork/libphp4.so ließ sich immernoch nicht fixen. Wenn ich das dann cancel und in der Liste wieder auf Accept gehe, erzählt er mir wieder, dass er das apache2-mod_php4 Paket noch zusätzlich ausgewählt hat. Bei der anschließenden Paketinstallation installiert er wieder alles, ausser dem apache2-mod_php4, welches wieder mit bereits beschriebener Meldung abbricht.

Tja, seitdem hat mir der Server php-Dateien mit Quellcode zum Download angeboten (jedoch nicht als .php datei, sondern als irgendwas kryptisches mit dem Code des php-scripts als INhalt) und bei Plesk stand in der components-liste, dass php nicht installiert sei.

Um das ganze zu beheben habe ich den Server wieder in einen früheren Zustand zurückversetzt und das update nochmal installiert. Mit genau demselben Ergebnis.
Jetzt habe ich das Backup wieder aufgespieltu nd weiss nicht so recht was ich machen soll. Jetzt läuft zwar alles, aber die Sicherheitslücken sind noch auf....

Ich hoffe, dass mit jemand von euch helfen kann.
Vielen Dank!

/Edit: Den Kernel kann ich auf nem V-Servern nicht patchen, oder?

MiGo
28.05.07, 09:38
Jetzt habe ich das Backup wieder aufgespieltu nd weiss nicht so recht was ich machen soll. Jetzt läuft zwar alles, aber die Sicherheitslücken sind noch auf....
Ich befürchte, da wirst du warten müssen, bis alle Pakete aktualisiert worden sind. Das sieht für mich danach aus, als wären noch nicht alle neuen Pakete im Repository.


/Edit: Den Kernel kann ich auf nem V-Servern nicht patchen, oder?
Nein, kannst du nicht. du musst den nehmen, der läuft - in der Regel ist das nämlich der Kernel des gesamten Systems (also aller laufenden vServer).

faceless
28.05.07, 14:36
So, ich hab den patch jetzt von der offiziellen Suse Quelle geladen.
Leider genau dasselbe Problem. Ich werde gleich die Logs sichern und das ganze mit Screenshots dokumentieren.

//Edit: Ok, das Setup des updates verlief ohne Probleme. Wenn ich nun den Install and Remove Software Dialog öffne, kommt folgendes:

http://farm1.static.flickr.com/227/516999696_46e0645c9e_o.jpg

Was genau mach ich da am besten?

Plesk listet jetzt bei component info unter php: "Component was not installed"
Und PHP Dateien werden wieder heruntergeladen. Er liefert mir ne Datei vom Typ: "application/x-httpd-php" mit Namen wie 0fp5v29q oder saligwzi. Öffne ich diese mit einem Texteditor, so sehe ich den Code des PHP-scripts. Da ich der MEinug bin, dass das Password der SQL-Datenbank nicht jeden was angeht, hätte ich das gerne so schnell wie möglich wieder behoben.
Hier sind die logs: http://rapidshare.com/files/33780309/y2log.html

Ich hoffe wirklich, dass mir nun jemand helfen kann.
Vielen Dank für eure Mühen!

@MiGo: Sollte ich also am besten wieder das Backup zurückspielen und noch ein paar Tage warten? In der Hoffnung, dass dann noch ein paar mehr updates erscheinen? Aber sollten dann nicht mehr Leute das Problem mit dem update haben?
Ich habe das Update bereits vom Strato-Updateserver (ftp://ftp.serverkompetenz.de/pub/linux/suse/i386/9.3), wie auch von ftp://ftp5.gwdg.de/pub/linux/suse/ftp.suse.com/suse/update/9.3 und das ERgebnis war das Gleiche.

Würde es etwas helfen den gesamten Server neu aufzusetzen?

MiGo
28.05.07, 15:55
Hm, kann es sein, dass du das falsche Paket installierst?
Das Paket sollte nämlich eigentlich (lib)apache2-mod-php4 heissen - auf ein solches Problem deutet auch die Paketbeschreibung des von dir installierten Paketes hin:
""metapackage for Old php4-Layout".
Und wahrscheinlich wird bei apache2-mod_php4 "obsoletes mod_php4-apache2" stehen :)

faceless
28.05.07, 16:14
Das Update wird beim starten von YOU automatisch ausgewählt. Wenn ich mir statt der Long Description die Package List anzeigen lasse, steht da ne laaange Liste mit Paketen, die durch diese update auf den neusten Stand gebracht werden. Einige diser Pakete enthalten noch ein ".swsoft" in der Versionsnummer.
Z.B.:



│Name │Avail. Vers. │Inst. Vers. │Summary │Size
│apache2-mod_php4│4.3.10-14.37│4.3.10-14.35 │PHP4 Module for Apache 2.0 | 1.3 MB │
│mod_php4-apache2│4.3.10-14.37│4.3.10-14.25.1.swsoft│Metapackage for Old PHP4 Layout. │ 334 B │
│mod_php4-core │4.3.10-14.37│4.3.10-14.35 │Metapackage for Old PHP4 Layout. │ 213 B │
│mod_php4-servlet│4.3.10-14.37│ │Metapackage for Old PHP4 Layout. │ 216 B
│php4 │4.3.10-14.37│4.3.10-14.35 │PHP4 Core Files │ 1.6 MB │
usw...


Kann es sein, dass das spezielle Versionen für Plesk sind? Via der Updatefunktion in Plesk gibt es leider (noch) keine updates. Kann es sein, dass es da vielleicht bald welche geben wird und ich die dann einfach per Plesk updaten muss, statt über YOU?

MiGo
29.05.07, 08:12
Das Update wird beim starten von YOU automatisch ausgewählt.
Klar - wenn da ein Wechsel stattgefunden hat, merkst das dein Paketmanagement idR nicht automatisch, sondern versucht halt weiter, die als obsolete markierten Pakete zu installieren.

Kann es sein, dass das spezielle Versionen für Plesk sind?

Scheint laut dem suffix so - eventuell sind die Pakete auch nur Bestandteile für das Management von php durch Plesk, nicht für php selber (von Plesk habe ich keine Ahung).

Da du ja ein brauchbares Backupsystem hast, installier' doch einfach mal apache2-mod_php4 und dessen Abhängikkeiten (apache2-prefork) und schau' was draus wird.