Wie Du PHP5 mit Suhosin auf OpenSuSE 10.2 sicherer machen kannst

Version 1.0
Author: Falko Timme


Diese Anleitung veranschaulicht, wie man PHP5 mit Suhosin auf einem OpenSuSE 10.2 Server sicherer machen kann. Von der Suhosin Projekt Seite: "Suhosin is an advanced protection system for PHP installations that was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core. Suhosin comes in two independent parts, that can be used separately or in combination. The first part is a small patch against the PHP core, that implements a few low-level protections against buffer overflows or format string vulnerabilities and the second part is a powerful PHP extension that implements all the other protections."
Diese Anleitung ist ohne jegliche Gewähr! Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

1 Vorbemerkung

Ich habe dies auf einem OpenSuSE 10.2 Server mit der IP Adresse 192.168.0.100 getestet.

Diese Anleitung ist etwas untypisch, da Du Suhosin auf OpenSuSE 10.2 nicht installieren musst, wenn bei Dir PHP5 installiert ist, denn bei OpenSuSEs PHP5 ist Suhosin bereits standardmäßig integriert. Dennoch lohnt es sich diese Anleitung zu verfassen, da es die Frage beantwortet "Was muss ich tun, um Suhosin zu installieren?" - nichts, wenn PHP5 bereits installiert ist.

2 Installation von Apache2 und PHP5 (optional)

(Dieses Kapitel ist optional, wenn Du Apache2 und PHP5 bereits installiert hast - um zu überprüfen, ob Suhosin in Deinem PHP5 aktiviert ist, fahre bitte mit dem nächsten Kapitel fort.)

Falls Du Apache2 und PHP5 nicht auf Deinem Server installiert hast, dann installiere es jetzt:

yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel

Konfiguriere nun Dein System, damit Apache beim Hochfahren startet:

chkconfig --add apache2

Starte dann Apache2:

/etc/init.d/apache2 start

Nun hast Du PHP5 mit Grundfunktionen auf Deinem Server; falls Du besondere PHP5 Module benötigst, kannst Du YaST starten und nach PHP5 Paketen suchen:

yast2

Gehe zu Software > Software Management:


Verwende dann die Search Funktion und suche nach php5:



Danach kannst Du die gewünschten Pakete zur Installation auswählen:


Alternativ kannst Du die Pakete auch in der Kommandozeile wie folgt installieren:

yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm

Starte Apache dann neu:

/etc/init.d/apache2 restart


3 Informationen über Deine PHP5 Installation beziehen

Sofern Du nicht bereits virtuelle Hosts in Deiner Apache Installation erstellt hast, ist der Dokumenten-Root der Standard Webseite /srv/www/htdocs. Nun erstellen wir eine kleine PHP Datei (info.php) in diesem Verzeichnis (falls Du virtuelle Hosts erstellt hast, setze sie in irgendeinen Host, der PHP aktiviert hat) und rufe sie in einem Browser auf. Die Datei wird viele nützliche Informationen über unsere PHP Installation liefern, wie zum Beispiel die installiert PHP Version.

vi /srv/www/htdocs/info.php


<?php
phpinfo(); ?>
Nun rufen wir diese Datei in einem Browser auf (z.B. http://192.168.0.100/info.php):


Wie Du siehst haben wir die PHP Version 5.2.0.

Wenn alles gut gelaufen ist, siehst Du nun, dass Suhosin an zwei Stellen auf der Seite erwähnt wird:



Das war's. Wenn Du möchtest, kannst Du Suhosin konfigurieren (siehe http://www.hardened-php.net/suhosin/configuration.html), obwohl Suhosin mit der Standardkonfiguration wunderbar funktioniert, Du solltest also ganz genau wissen, was Du tust.

4 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte