suhosin und fehlende phpinfo bzw. php.ini Einträge

Apache, Lighttpd, nginx, Cherokee
tomotom
Posts: 330
Joined: 2006-09-22 13:37

suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by tomotom » 2007-04-20 02:37

Mir fehlen Schalter zu suhosin. phpinfo zeigt mir nur:
sql.safe_mode Off Off
suhosin.log.phpscript 0 0
suhosin.log.phpscript.is_safe Off Off
suhosin.log.phpscript.name no value no value
suhosin.log.sapi no value no value
suhosin.log.script no value no value
suhosin.log.script.name no value no value
suhosin.log.syslog no value no value
suhosin.log.syslog.facility no value no value
suhosin.log.syslog.priority no value no value
suhosin.log.use-x-forwarded-for Off Off
track_errors Off
so wurde es compiliert
/configure --enable-memory-limit --enable-force-cgi-redirect --with-gd --with-jpeg --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --enable-track-vars --with-pcre-regex --with-mysql --with-bz2 --enable-inline-optimization --disable-debug --with-regex=php --disable-rpath --without-sqlite --without-mm --enable-fastcgi --with-zlib --prefix=/var/www/php-fcgi-scripts/php5.2.1-fcgi-suhosin --enable-suhosin
Aber es fehlen Schalter wie:sohusin_apc_bug_workaround und viele andere. Müssen die in der php.ini erst eingetragen werden und finde ich diese dann?

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by daemotron » 2007-04-20 09:02

Wenn's Dir hilft, hier der Link zu meiner phpinfo:
http://web1.my-universe.com
Das ist eine ootb-Installation von PHP 5.2.1 mit Suhosin-Patch, wie sie aktuell im Gentoo Portage Tree verwaltet ist. Alle Suhosin-Optionen in der .ini-Datei hab ich mal auskommentiert gelassen (sind also die einkompilierten Default-Werte), um zu prüfen, ob das irgeneinen Einfluss auf die Anzeige der Suhosin-Settings hat. Wie Du siehst, werden trotzdem alle Einstellungen angezeigt; es dürfte also eher an Deinem Build liegen.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by cirox » 2007-04-21 21:41

Hallo,

wie hast Du genau kompiliert? Ich hab das so gemacht.

1. PHP Tarball gezogen
2. Suhosin Patch für die jeweilige Version gezogen
3. Alles entpackt und das reine PHP gepatcht
3. Suhosin Erweiterung gezogen
4. Erweiterung entpackt und nach /ext/ von den Sourcen des PHP kopiert
5. Wichtig bevor die dein ./configure durchlaufen lässt:

Code: Select all

./buildconf --force
sonst weiss dein PHP nichts mit anzufangen mit:

Code: Select all

--enable-suhosin
Im Übrigen ist es besser die Extension "shared" zu bauen.

Code: Select all

--enable-suhosin=shared
So das müsste es gewesen sein. Die Parameter, die Du jetzt für alles was Suhosin unterstützt findest Du in der offiziellen Doku. In der php.info wird eine ellenlange Liste angezeigt.

Mein configure PHP 5.2.1

Code: Select all

./configure 
--prefix=/pfad_zum_php_binary 
--without-pear 
--enable-force-cgi-redirect 
--enable-fastcgi 
--enable-magic-quotes 
--enable-memory-limit 
--with-regex=php 
--disable-rpath 
--disable-debug 
--disable-static 
--with-pic 
--with-layout=GNU 
--enable-calendar 
--enable-sysvsem 
--enable-sysvshm 
--enable-sysvmsg 
--enable-track-vars 
--enable-trans-sid 
--enable-bcmath 
--with-bz2 
--enable-ctype 
--with-db4 
--without-gdbm 
--with-iconv 
--enable-exif 
--enable-filepro 
--enable-ftp 
--with-gettext 
--enable-mbstring 
--enable-shmop 
--enable-sockets 
--enable-wddx 
--with-libxml-dir=/usr 
--with-zlib 
--with-kerberos=/usr 
--with-openssl=/usr 
--enable-dbx 
--enable-soap 
--enable-zip 
--with-mime-magic=/usr/share/misc/file/magic.mime 
--without-mm 
--with-curl=shared,/usr 
--with-zlib-dir=,/usr 
--with-gd=shared,/usr 
--enable-gd-native-ttf 
--with-jpeg-dir=shared,/usr 
--with-xpm-dir=shared,/usr/X11R6 
--with-png-dir=shared,/usr 
--with-freetype-dir=shared,/usr 
--with-imap=shared,/usr 
--with-imap-ssl 
--with-ttf=shared,/usr 
--with-t1lib=shared,/usr 
--with-mcrypt=shared,/usr 
--with-mhash=shared,/usr 
--with-mysql=shared,/usr 
--with-mysqli=shared,/usr/bin/mysql_config 
--with-pspell=shared,/usr 
--with-xsl=shared,/usr 
--with-snmp=shared,/usr 
--with-tidy=shared,/usr 
--with-xmlrpc=shared 
--enable-pdo=shared 
--without-pdo-dblib 
--without-sqlite 
--without-pdo-sqlite 
--with-pdo-mysql=shared,/usr 
--enable-suhosin=shared
Bei mime musst du eventuell den Pfad anpassen. Ist alles ein Debian System

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by tomotom » 2007-04-23 13:07

Danke für Deine super Erklärung.
cirox wrote: wie hast Du genau kompiliert? Ich hab das so gemacht.
Ich hatte

Code: Select all

./buildconf --force
vergessen und dummerweise auch vergessen die suhosin sourcen zu installieren.

Ich habe das jetzt gemacht, doch jetzt bekomme ich folgede Fehlermeldung:
server01:~/php-5.2.1# make test
make: *** No rule to make target `/root/php-5.2.1/ext/suhosin/suhosin.c', needed by `ext/suhosin/suhosin.lo'. Stop.
EDIT: scheint gelöst zu sein, musste das Verzeichnis in php/ext von suhosin-0.9.18 in suhosin umbenennen.
cirox wrote: Im Übrigen ist es besser die Extension "shared" zu bauen.
System
Warum soll das besser sein? Das interessiert mich.

Die suhosin extensions sind immer noch nicht da. Mein Installationspfad ist
--prefix=/var/www/php-fcgi-scripts/php5.2.1-fcgi-suhosin
Nach dem make install wird die extension suhosin aber nicht mit nach
/php5.2.1-fcgi-suhosin/include/php/ext
kopiert. Ich habe die ext/suhosin dann dorthin kopiert. Dann musste ich in den php.ini den extensions pfad anpassen und dann waren die suhision Schalter sichtbar bei phpino(). Ist das der normale Weg und muss ich die Schalter alle in die php.ini kopieren und gibt es da schon eine vorkonfigurierte die die Default Werte mit doku enthält?

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by cirox » 2007-04-23 22:51

Ja, warum nicht shared. Macht z. Bsp. das php binary kleiner. Ich sehe auf jeden Fall keinen Nachteil third part extensions shared zu bauen. Du hast noch den Vorteil, dass Du suhosin (ext) in der php.ini aktivieren/deaktivieren kannst.

Ich habe in meinen php.ini s gar keine Werte für Suhosin stehen, da ich überall default nehme zur Zeit.

ich weiss nicht warum er Dir die Extension nicht gleich an der richtigen Stelle gebaut hat. Mit meinem configure (oben) funnzt das und der Umbennung vor dem Bauen, wie Du schon meintest.

Bist Du dir sicher das binary ins Webroot zu bauen?

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by tomotom » 2007-04-24 10:33

cirox wrote:Ja, warum nicht shared. Macht z. Bsp. das php binary kleiner. Ich sehe auf jeden Fall keinen Nachteil third part extensions shared zu bauen. Du hast noch den Vorteil, dass Du suhosin (ext) in der php.ini aktivieren/deaktivieren kannst.
Da ich fcgi verwende habe ich sowieso grenzenlose Kombinationsmöglichkeiten für jedn vhost. Ich finde den Schalter suhosin.simulation = Off ganz interessant und habe auch verschieden andere default Einstellungen geändert.
cirox wrote:Bist Du dir sicher das binary ins Webroot zu bauen?
ich sehe da keine Nachteile, da die webroots der vhosts oberhalb der php-binarys liegen und nicht eingesehen oder geändert werden können. Welchen Nachteil siehst Du?

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by cirox » 2007-04-24 10:41

tomotom wrote: Ich finde den Schalter suhosin.simulation = Off ganz interessant und habe auch verschieden andere default Einstellungen geändert.
Na das interessiert mich nun aber :) . Was hast Du denn genau verändert an den Defaults?

Naja zur Sicherheit kann ich Dir wegen dem Binary nicht soviel sagen, vielleicht wissen das die Experten hier besser, aber üblich ist es schon das binary in einen Pfad zu legen, der nicht im Webroot ist und das ist /var/www nunmal. Im Webroot liegt halt der Starter.

Auch ich verwende fcgi und habe das binary mit einem normalen user gebaut und unter /home liegen.

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: suhosin und fehlende phpinfo bzw. php.ini Einträge

Post by tomotom » 2007-04-24 11:36

cirox wrote:Na das interessiert mich nun aber :) . Was hast Du denn genau verändert an den Defaults?
suhosin.executor.max_depth = 1000
suhosin.executor.include.max_traversal = 4
suhosin.executor.func.blacklist = show_source, system, shell_exec, passthru, exec, popen, proc_open, close,proc_close,proc_get_status,proc_nice,proc_terminate,passthru,show_source,readfile,escapeshellcmd,escapeshellarg ,phpinfo
suhosin.executor.disable_eval = On
suhosin.executor.disable_emodifier = On
suhosin.apc_bug_workaround = On
suhosin.sql.bailout_on_error = On
suhosin.mail.protect = 2