PHP weist eine lange Geschichte von Sicherheitslücken und Probleme auf, die sich mit einer Menge von Patches und Fixes beheben lassen. Eins der Projekte die solche Patches anbieten ist Hardened PHP , wo ich auch das Projekt Suhosin  gefunden habe, über das ich heute schreibe.

Was z.b. immer ein Problem ist, sind Applikationen, die unsauber geschrieben sind. Suhosin kann im Hintergrund Cookie-Verschlüsselung und anderes (alle Features)  übernehmen. Zunächst legen wir eine Datei mit folgendem Inhalt an:

1
2
3
< ?php
phpinfo();
?>

Die Installation des Patches ist unter Debian ganz einfach: Für PHP4: apt-get install php4-suhosin Für PHP5: apt-get install php5-suhosin

Sollte das bei Ihnen nicht gefunden werden, müssen Sie zusätzlich in der /etc/apt/source.list die folgenden Quellen eintragen:

1
2
deb http://dotdeb.netmirror.org/ sarge all
deb-src http://dotdeb.netmirror.org/ sarge all

Sollten Sie eine andere “Sorte” Debian nutzen (z.B. edge) so müssen Sie die Codewörter hinten anpassen.

Nun sollte der apache2 restartet werden

Wenn man nun phpinfo wieder aufmacht, sollte etwas von suhosin zu finden sein.

Als Test ob Suhosin arbeitet, könnte man folgendes machen:

1
2
echo suhosin.executor.func.blacklist="phpinfo" >>/etc/php4/conf.d/suhosin.ini
/etc/init.d/apache2 restart

Natürlich muss man die php Version entsprechend wählen :-P (also /etc/php5/ wenn PHP5)

Wenn man nun die phpinfo wieder aufruft, wird nur ein Fehler im Log auftauchen…

Um das wieder zu entfernen sollte in der Datei /etc/php4/conf.d/suhosin.ini wieder die letzte Zeile entfernen.

Natürlich kann Suhosin mehr als nur Funktionen zu blacklisten, was aber alles hier  beschrieben ist.