PHP absichern mit suhosin

Ü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.

Related Posts: