Gentoo-Hardened und PHP



force4

Registered User
Hallo zusammen,

ich habe bei meiner Gentoo-Hardened Installation (mit hardened-sources, sprich u.a. grsec) folgendes Problem:

Sobald ich bestimmte PHP-Dateien ausführe, dazu gehört unter anderem PHPMyAdmin, stirbt der fcgi-Prozess

Code:
2009-07-01 22:40:36: (mod_fastcgi.c.2494) unexpected end-of-file (perhaps the fastcgi process died): pid: 5085 socket: tcp:127.0.0.1:1026

und ich erhalte folgende Meldungen im Kernel-Log:

Code:
grsec: From 84.62.11.250: denied resource overstep by requesting 4096 for RLIMIT_CORE against limit 0 for /usr/lib/php5/bin/php-cgi[php-cgi:5098] uid/euid:102/102 gid/egid:1006/1006, parent /usr/lib/php5/bin/php-cgi[php-cgi:5085] uid/euid:102/102 gid/egid:1006/1006
php-cgi[5099]: segfault at 269f ip 13d7fb55 sp 58a28210 error 4 in php-cgi[13a3b000+722000]
grsec: From 84.62.11.250: signal 11 sent to /usr/lib/php5/bin/php-cgi[php-cgi:5099] uid/euid:102/102 gid/egid:1006/1006, parent /usr/lib/php5/bin/php-cgi[php-cgi:5085] uid/euid:102/102 gid/egid:1006/1006
grsec: more alerts, logging disabled for 10 seconds
php-cgi[5093]: segfault at 49464e53 ip 13d7fb55 sp 58a28210 error 4 in php-cgi[13a3b000+722000]
php-cgi[5094]: segfault at 4f0a ip 13d7fb55 sp 58a28210 error 4 in php-cgi[13a3b000+722000]
(....)

Folgende Infos dazu:

Code:
loop linux # paxctl -v /usr/bin/php-cgi 
PaX control v0.5
Copyright 2004,2005,2006,2007 PaX Team <[email protected]>

- PaX flags: -----m-x-e-- [/usr/bin/php-cgi]
	MPROTECT is disabled
	RANDEXEC is disabled
	EMUTRAMP is disabled

Code:
loop linux # grep grkernsec /usr/src/linux/.config -i   
CONFIG_GRKERNSEC=y
# CONFIG_GRKERNSEC_LOW is not set
# CONFIG_GRKERNSEC_MEDIUM is not set
# CONFIG_GRKERNSEC_HIGH is not set
# CONFIG_GRKERNSEC_HARDENED_SERVER is not set
# CONFIG_GRKERNSEC_HARDENED_WORKSTATION is not set
CONFIG_GRKERNSEC_CUSTOM=y
# CONFIG_GRKERNSEC_KMEM is not set
# CONFIG_GRKERNSEC_IO is not set
CONFIG_GRKERNSEC_BRUTE=y
CONFIG_GRKERNSEC_MODSTOP=y
CONFIG_GRKERNSEC_HIDESYM=y
CONFIG_GRKERNSEC_ACL_HIDEKERN=y
CONFIG_GRKERNSEC_ACL_MAXTRIES=3
CONFIG_GRKERNSEC_ACL_TIMEOUT=30
CONFIG_GRKERNSEC_PROC=y
CONFIG_GRKERNSEC_PROC_USER=y
CONFIG_GRKERNSEC_PROC_ADD=y
CONFIG_GRKERNSEC_LINK=y
CONFIG_GRKERNSEC_FIFO=y
CONFIG_GRKERNSEC_CHROOT=y
CONFIG_GRKERNSEC_CHROOT_MOUNT=y
CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
CONFIG_GRKERNSEC_CHROOT_PIVOT=y
CONFIG_GRKERNSEC_CHROOT_CHDIR=y
CONFIG_GRKERNSEC_CHROOT_CHMOD=y
CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
CONFIG_GRKERNSEC_CHROOT_MKNOD=y
CONFIG_GRKERNSEC_CHROOT_SHMAT=y
CONFIG_GRKERNSEC_CHROOT_UNIX=y
CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
CONFIG_GRKERNSEC_CHROOT_NICE=y
CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
CONFIG_GRKERNSEC_CHROOT_CAPS=y
# CONFIG_GRKERNSEC_AUDIT_GROUP is not set
# CONFIG_GRKERNSEC_EXECLOG is not set
CONFIG_GRKERNSEC_RESLOG=y
# CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
# CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
CONFIG_GRKERNSEC_AUDIT_MOUNT=y
# CONFIG_GRKERNSEC_AUDIT_IPC is not set
CONFIG_GRKERNSEC_SIGNAL=y
CONFIG_GRKERNSEC_FORKFAIL=y
CONFIG_GRKERNSEC_TIME=y
CONFIG_GRKERNSEC_PROC_IPADDR=y
CONFIG_GRKERNSEC_EXECVE=y
CONFIG_GRKERNSEC_DMESG=y
# CONFIG_GRKERNSEC_TPE is not set
CONFIG_GRKERNSEC_RANDNET=y
# CONFIG_GRKERNSEC_SOCKET is not set
CONFIG_GRKERNSEC_SYSCTL=y
CONFIG_GRKERNSEC_SYSCTL_ON=y
CONFIG_GRKERNSEC_FLOODTIME=10
CONFIG_GRKERNSEC_FLOODBURST=4

Jemand vielleicht eine Idee, was da los ist?

Liebe Grüße.
 
Die Segmentation Faults sehen eher nach kaputtem Binary aus. Ich habe eine ähnliche grsecurity Konfiguration laufen. Damit funktioniert alles.

Wie sehen deine CFLAGS und USE-Flags aus (-> `emerge --info`)?
Was passiert, wenn du deinem php-cgi ein normales Skript auf der Shell vorwirfst?
 
Hallo,

danke für deine Hilfe. Mit einem Wechsel auf das "richtige" stage3-Archiv hat sich das ganze von selbst erledigt.
 
Back
Top