Über Lücken und Schwachstellen in PHP liest man ja ständig. Die Entwickler sind beim fixen der Fehler leider auch nicht die schnellsten. Somit sollte man sich Gedanken über zusätzliche Absicherungen machen. Außerdem hat mich Martin unfreiwillig davon überzeugt, dass hier Handlungsbedarf besteht ![]()
Eine meiner Meinung nach gute Möglichkeit zur Absicherung stellt die Suhosin Erweiterung des Hardened PHP Projects dar.
Suhosin is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core.
Suhosin kommt in 2 Teilen – ein Teil ist ein Patch direkt für den PHP Core, der andere ist eine normale PHP Extension. Für optimalen Schutz sollte man beide einsetzen – muss aber nicht. Denn nicht jede Software ist 100% kompatibel zu den Einschränkungen, die Suhosin am PHP vornimmt.
Die Installation des Patches ist kinderleicht:
– Passende Version im Downloadbereich wählen.
– Patch das PHP Build verzeichnis entpacken
– in meinem Fall ein patch -p 1 -i suhosin-patch-5.2.3-0.9.6.2.patch ausführen
– PHP neu kompilieren und installieren
– nach einem Neustart sollte unter phpinfo nun ein “This server is protected with the Suhosin Patch 0.9.6.2″ stehen.
Die Extension einzubauen ist ebenfalls kein Hexenwerk:
– Download der aktuellen Version vom Downloadbereich
– Entpacken und wechsel ins Source Verzeichnis
– phpize, configure & make
– Einbau in die PHP.ini mittels “extension=”suhosin.so”"
– nach dem Apache reload sollte sich die Zend Engine dann mit ” with Suhosin v0.9.20, Copyright (c) 2002-2006, by Hardened-PHP Project” melden.
Danach solltet ihr noch eure Software testen, vor allem Fremdprodukte.
Natürlich hat das ganze auch den Nachteil, dass eure Applikationen ein wenig langsamer lauffen…wer aber eh Performance übrig hat, wird davon nicht viel merken. Nichtsdestotrotz gibts hier eine Benchmark Seite mit Vorher/Nachher Vergleichen. Außerdem gibts das Benchmark Skript auch zum Download
Bei uns funktioniert alles reibungslos, ob nun die Blogsoftware serendipity, das Webframework Symfony oder den PHP Accelerator eaccelerator, alles läuft bisher tadellos!
Viel Spaß beim ausprobieren.
Und woher hat es der Cruiser, he?
von den schweizern?
Nebem all den Designschwächen in PHP (ihr kennt den “===” Operator? Wisst ihr auch warum es diesen gibt? (hint: strchr)) sind die Programmierer^wWebdesigner das grösste Problem. PHP Code wird von Grafikern und Designern geschrieben, da erwarte ich kein Sicherheitsdenken. Und ständig werde ich in meinem Glauben bestätigt… Und so nebenher: ich möchte PHP nicht patchen, denn dann darf ich jede Woche die Security Patches von Hand nachziehen – nach dem ich sie an meine veränderte Codebase angepasst habe. Mache ich das nicht, wirds mit dem Patch nur schlimmer. Cheers.
Hm da hast du auf jeden Fall recht, mit PHP fangen halt viele an, ihre kleinen Fitzeleien zu “programmieren”…da kommt meist nix gescheites bei raus…weit verbreitet bei der jungen Zocker-Gemeinde und so!
Leider finden sich oft auch Fehler in Geschichten wie s9y/wordpress & co, und die Jungs wissen ja eigentlich schon was sie tun!
Da wir eh ein selbstgebautes PHP verwenden, ist das patchen mit suhosin nur eine Zeile mehr, und die Zend Extension bleibt davon ja unberührt, die muss nur zum Core passen.
Knapp 2 Wochen nach dem Release von PHP 5.2.4 wurde nun der passende Suhosin Patch veröffentlicht. Herunterladen könnt ihr das ganze auf der Downlad Seite des Hardened PHP Projects. Dort gibts dann auch die passende Extension.
Die Installation habe ich