Date: Thu, 09 Jul 2009 12:49:57 +0200 From: Julien Cigar <jcigar@ulb.ac.be> To: Nicolas Letellier <nicolas@nicoelro.net> Cc: Reko Turja <reko.turja@liukuma.net>, freebsd-questions@freebsd.org Subject: Re: Secure apache with php Message-ID: <1247136597.2653.15.camel@frodon.be-bif.ulb.ac.be> In-Reply-To: <20090709122212.658bcc24@belegost.nicoelro.net> References: <20090709113534.43373278@belegost.nicoelro.net> <EA9FE81A7F144C89AFCD0E9390FD69FC@rivendell> <20090709122212.658bcc24@belegost.nicoelro.net>
next in thread | previous in thread | raw e-mail | index | archive | help
What I do is running PHP in FastCGI mode (with something like x-cache) with a dedicated user for each webapp for which I have a dedicated script, for example : ========= jcigar@bccm-it ~ % ls -l /usr/local/www/apache22/cgi-bin (...) -rwxr-xr-x 1 www-scar www-scar 202 Oct 27 2008 scar-php-wrapper.fcgi* -rwxr-xr-x 1 www-lwatch www-lwatch 202 Apr 24 12:05 sfa-php-wrapper.fcgi* -rwxr-xr-x 1 www-tapir www-tapir 202 Oct 27 2008 tapir-php-wrapper.fcgi* (...) ========= each .fcgi contain something like : ========= jcigar@bccm-it ~ % cat /usr/local/www/apache22/cgi-bin/scar-php-wrapper.fcgi #!/bin/sh #PHPRC="/path/to/php.ini" #export PHPRC PHP_FCGI_CHILDREN=3 export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=10000 export PHP_FCGI_MAX_REQUESTS exec /usr/local/bin/php-cgi -b 127.0.0.1:5009 ========= you can control how much children have to be fork(), the number of maximum requests per process before it gets killed and re-launched (usefull if a webapp leaks memory), etc Then in your Apache config you put something like : ========= FastCgiExternalServer /usr/local/www/apache22/cgi-bin/scar-php-wrapper.fcgi -host 127.0.0.1:5009 -idle-timeout 1800 <Location /cgi-bin/scar-php-wrapper.fcgi> SetHandler fastcgi-script </Location> <Directory /usr/local/www/apache22/data/scarmarbin> Order allow,deny Allow from all AddHandler php-fastcgi .php Action php-fastcgi /cgi-bin/scar-php-wrapper.fcgi </Directory> ========= hope it helps, best regards, Julien On Thu, 2009-07-09 at 12:22 +0200, Nicolas Letellier wrote: > Le Thu, 9 Jul 2009 13:18:39 +0300, > "Reko Turja" <reko.turja@liukuma.net> a écrit : > > > > I want to secure my Apache/PHP environment... > > > > Full suhosin, both patch and mod for the PHP. IIRC suhosin patch is > > optional in PHP port and the mod can be installed via ports. > > (http://www.hardened-php.net/suhosin/index.html) > > > > Apache environment and binaries set up in a jail. > > > > > Which Apache version do you advice? > > > > I reckon these days 2.2 would be the best in regards of future > > upgrades and development. > > > > -Reko > > > Thanks. I already use suhosin patch in mod_php. > > I have few users on this machine, each use a separate directory > (/var/www/user). I do not want to make a jail for each one. > > That's why mpm-itk seems to be good (instead of safe_mode / > open_basedir). > > Best regards, > > > -- Julien Cigar Belgian Biodiversity Platform http://www.biodiversity.be Université Libre de Bruxelles (ULB) Campus de la Plaine CP 257 Bâtiment NO, Bureau 4 N4 115C (Niveau 4) Boulevard du Triomphe, entrée ULB 2 B-1050 Bruxelles Mail: jcigar@ulb.ac.be @biobel: http://biobel.biodiversity.be/person/show/471 Tel : 02 650 57 52 No trees were killed in the creation of this message. However, many electrons were terribly inconvenienced.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1247136597.2653.15.camel>