Hackerboard WikiHaboBlog

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Debian/PHP-Update: Sporadische Fehlermeldungen

Diskussion: Debian/PHP-Update: Sporadische Fehlermeldungen im Forum Linux/UNIX, in der Kategorie Operating Systems; Hallo zusammen. Es geht um einen produktiven Debian-5.0-Server mit Apache, MySQL, PHP (als Apache-Modul eingebunden) und Suhosin. Nun habe ich ...

Antwort
Alt 25.02.10, 17:59   #1 (permalink)
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
erledigt Debian/PHP-Update: Sporadische Fehlermeldungen


Hallo zusammen.

Es geht um einen produktiven Debian-5.0-Server mit Apache, MySQL, PHP (als Apache-Modul eingebunden) und Suhosin.
Nun habe ich vor einigen Tagen PHP aktualisiert (auf php5_5.2.6.dfsg.1-1+lenny6) und seitdem tauchen sporadisch Fehlermeldungen auf:

Zitat:
Feb 24 07:58:10 localhost suhosin[6004]: ALERT - possible memory corruption detected - unknown Hashtable destructor (attacker 'xx.xx.xx.xx', file '/var/www/XXX/index.php')
oder
Zitat:
Feb 25 00:26:16 localhost suhosin[25289]: ALERT - canary mismatch on efree() - heap overflow detected (attacker 'xx.xx.xx.xx', file '/var/www/YYY/index.php')
Davon sind momentan 2 Webseiten betroffen: 1 Wordpress-Blog und 1 Joomla-CMS.
An einen Angreifer glaube ich nicht, da einer der Fehler auch zufällig bei der Wartung des Joomla-CMS aufgetreten ist und ich nur eine CSS-Datei bearbeitet und die Startseite aktualisiert habe. Das Joomla-CMS und das Blog haben auch nichts miteinander zu tun.
Einen Reim kann ich mir darauf nicht machen, außer dass die Fehler erst seit ein paar Tagen auftreten, kurz nach dem PHP-Update.

Mittels Google findet man zwar einige Bug-Reports und Forenberichte, aber nichts davon hat mir wirklich weitergeholfen außer dass durch eine Deaktivierung von Suhosin der Fehler wesentlich seltener auftritt...

Reproduzieren kann ich den Fehler auch nicht. Es scheint absolut zufällig zu sein.

Kennt jemand das Phänomen oder hat einen Tipp wie ich nun weiter vorgehen könnte um die Fehlerquelle einzugrenzen?

Beste Grüße
Dresko
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
- Rick Cook -
Dresko ist offline   Mit Zitat antworten
Alt 26.02.10, 02:16   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Du könntest einfach erstmal das Logging etwas detaillierter machen, um z.B. zu sehen, ob der Fehler im Zusammenhang mit bestimmten GET/POST-Parametern, mit bestimmten Browser-Versionen, beim Wechsel einer Session o.ä. auftaucht. Ausserdem könntest du mal eine Dateiüberwachung auf das DocumentRoot setzen um zu sehen, ob der Fehler ggf. bei Änderungen von Dateien auftritt. Und auch eine Prozesslisten-Überwachung könnte evtl. helfen, falls der Fehler z.B. immer dann auftritt, wenn ein Worker-Prozess des Indianers erneuert wird, weil er seine MaxRequestsPerChild erreicht hat. Und zu guter Letzt könntest du es auf die Spitze treiben und die Apache-Prozesse z.B. mittels systemtap oder ähnlichen dtrace-Alternativen überwachen, um ganz genau zu sehen was der Webserver im Moment des Fehlers an Daten verarbeitet, welchen Request er bekommt, wohin er die Parameter im Speicher schreibt etc..
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 26.02.10, 10:07   #3 (permalink)
Themenstarter
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
Standard

Hallo bitmuncher,

danke für deine Tipps. Ein Teil davon habe ich schon versucht und kann folgende Sachen ausschließen:

- GET/POST-Parameter
- bestimmten Browser-Versionen
- Wechsel einer Session

Es sind auch unterschiedliche Dateien involviert. Mal ist irgendeine Datei aus dem wp-include-Ordner, mal die index.php, mal diese und mal jene. Bisher sind die Fehler bei insgesamt 6 versch. Dateien aufgetaucht.
Ein umfangreiches Logging oder ein Trace über einen längeren Zeitraum anzufertigen ist auch schwierig, da der Server unter Last steht und verfügbar bleiben sollte. Eine Prozess-/Dateisystemüberwachung werde ich aber mal noch durchführen.

Gestern abend ist aber noch etwas passiert:
Zitat:
Feb 26 00:13:02 localhost kernel: [1917062.122789] awstats.pl[12937]: segfault at
e3fe0 ip 7f45f6d1ef7f sp 7fff01730e10 error 4 in
libperl.so.5.10.0[7f45f6cbf000+166000]
Zudem gab es vor einem Monat schonmal einen ominösen Segfault bei meinem täglichen Backup:
Zitat:
/usr/local/bin/backup.sh: line 107: 27184 Segmentation fault gzip
backup_${DATE}.tar
Ich werde heute nacht den Server mal vom Netz nehmen und ein e2fsck und memcheck ausführen. So langsam vermute ich einen Defekt in einem der RAM-Riegel.

Sobald ich mehr weiß, melde ich mich wieder.

Grüße
Dresko
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
- Rick Cook -
Dresko ist offline   Mit Zitat antworten
Alt 26.02.10, 14:47   #4 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Lass mal memtest auf der Kiste durchlaufen. Sieht mir doch sehr nach einem Hardware-Fehler aus, wenn es verschiedene Programme betrifft.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Alt 26.02.10, 16:24   #5 (permalink)
Moe
root@yourmom ~ $
 
Benutzerbild von Moe
 
Registriert seit: 05.10.01
Moe Leistung: Facit NTK
Likes: 2
Standard

Das wird (fast) definitiv ein Hardware-Fehler sein, wenn ich mir den Suhosin Output zusammen mit den Segfaults so betrachte. Entweder das, oder eine ziemlich schlechte Kernel-Konfiguration.
__________________
In personal conversations with technical people, I call myself a hacker.
But when I'm talking to journalists I just say "programmer" or something like that.
Linus Torvalds

Lunar Linux
Xfce
Moe ist offline   Mit Zitat antworten
Alt 26.02.10, 16:44   #6 (permalink)
Moderator
 
Registriert seit: 30.06.08
Chromatin Leistung: K 6-3Chromatin Leistung: K 6-3Chromatin Leistung: K 6-3
Likes: 167
Standard

Zitat:
ALERT - canary mismatch on efree()
Da Speziell dieser Fehler eher im Zusammenhang mit PHP auftritt, ist davon auszugehen dasz dort irgendwas verbuggtes ist - sofern du keine generellen Speicherfehler bekommst (memtest).
Und da hast du Recht, es ist wahrscheinlich kein Angreifer. suhosin setzt diese canary flags, PHP oder eine der extensions verursacht diesen Fehler - suhosin wird aufmerksam.
Das ist zumindest anzunehmen, auch wenn PHP Entwickler das gerne dementieren: http://news.php.net/php.internals/40919

Wenn Du die Moeglichkeit und Lust hast, kannst das ganze mal gegen Valgrind bauen und selbst etwas rumdebuggen.

Wir hosten selbst eine Anzahl von Joomla Sites und ich habe diesen Fehler nicht. Probier testweise einige extensions zu deaktivieren, vielleicht reicht das schon um eine Fehlerquelle zu finden.
__________________
Wenn ein Gesetz nicht gerecht ist, dann geht die Gerechtigkeit vor dem Gesetz!

Habo Blog - http://blog.hackerboard.de/
Chromatin ist offline   Mit Zitat antworten
Alt 26.02.10, 18:47   #7 (permalink)
Themenstarter
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
Standard

Danke für eure Antworten.
Wie schon geschrieben, will ich den Server erst heute nacht vom Netz nehmen. Ich bin gespannt was memtest ausspuckt, da ich momentan auch am ehesten ein Hardware-Defekt vermute.

Zitat:
Zitat von Chromatin Beitrag anzeigen
Wenn Du die Moeglichkeit und Lust hast, kannst das ganze mal gegen Valgrind bauen und selbst etwas rumdebuggen.
Sehr schöne Idee. Valgrind ist mir nicht in den Sinn gekommen. Danke!
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
- Rick Cook -
Dresko ist offline   Mit Zitat antworten
Alt 27.02.10, 12:49   #8 (permalink)
Themenstarter
 
Benutzerbild von Dresko
 
Registriert seit: 30.01.10
Dresko Leistung: 8086Dresko Leistung: 8086
Likes: 1
Standard

Hallo.

Memtest hat bei einem Riegel wirklich mehrere Fehler gefunden.
Er wurde ausgetauscht und seitdem läuft die Kiste wieder stabil und ohne irgendwelche Fehler.

Danke und beste Grüße,
Dresko
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
- Rick Cook -
Dresko ist offline   Mit Zitat antworten
Antwort

Stichworte
debian, fehlermeldungen, php, update
   

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Debian/PHP-Update: Sporadische Fehlermeldungen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61