Re: PHP with open_basedir performance problem



On Thu, Feb 14, 2008 at 07:22:46PM +0200 Arkadi Shishlov mentioned:
Stanislav Sedov wrote:
I'd suggest you to disable open_basedir at all or roll out specialized
implementation. I had a lot of similar problems with open_basedir in
the past, so I just rewrote it to match our specific security policy.

Can you share a hint how exactly this specialized implementation may look like?
The requirement is simple: php script working under apache mod_php can't
open files outside of virtual host document root whenever php safe mode is
enabled or disabled. Website owners can create symlinks.
I understand the open_basedir is kinda flawed security measure, and
safe_mode is a primary safeguard with mod_php, but it would be nice to get
it working under FreeBSD too.

Well, my security mechanizms are pretty simple and use some combination of
MAC and bare uids/gid to enforce required permissions. The code is about
100 lines of code, much less then original open_basedir implementation.
In any case, the code won't be usuful to you as is, it works combined with
ad-hoc apache module, that sets required flags, variables, etc.


Most basedir problems are linked with the fact it produce a lot of lstast/
readlinks on every require, include or open command. On Linux it pereforms
even worse, as they implemented readlink there by hand, and, of course,
their implementation isn't particulry good.

But there is no high sys cpu usage on Linux in contrary to FreeBSD, as
reported by original author of the thread..?
Do you have numbers or benchmark ready? I see the number of syscalls
required is astonishing (on Linux) but doesn't cause any problem at first
look.


I don't have specific benchmark numbers, and it's true, that top on Linux
don't show such sys time usage, as on FreeBSD boxes. However, the overall
performance of boxes on FreeBSD is 30-40% higher, that Linux ones. This numbers
is empirical, but I'm pretty sure in them: in past I migrated Linux hosting
to FreeBSD-based, and after that, I was able to add a bunch of new users to
that boxes without performance impact. In fact, the load average on these
boxes are MUCH lower, that was on Linux. Also, I notices, that stat() costs
much more on Linux, that FreeBSD. I don't certainly know, why Linux shows low
sys time usage, probably it's just bugs in accounting.

My basedir patches was implemented later on FreeBSD boxes, and I never returned
to Linux. Thus I can't say whether it impacts Linux performance, or nor...

--
Stanislav Sedov
ST4096-RIPE
_______________________________________________
freebsd-performance@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Story Time
    ... The only thing Linux has that BSD ... BSD license that caused the Unix Wars in the first place. ... COTS boxes is going to learn with very little research that FreeBSD ... I remember when ftp.cdrom.com ran off a modestly powered FreeBSD box. ...
    (comp.os.vms)
  • Re: FREEBSD or LINUX
    ... wheather FreeBSD is better than linux? ... (i still use winxp for my personal desktop - *taki runs and hides from ... security - firewalls, VPN sevrer, e.t.c.. ...
    (comp.os.linux.security)
  • Re: FreeBSD 4.x Opteron Question
    ... the FreeBSD developers told everyone that 5.3 was da ... initially over linux not because there's a bunch of good guys on the ... My tests measure kernel performance; ... > a networking device is a key performance indicator. ...
    (freebsd-questions)
  • Re: Newbie Experience
    ... I've only been around since FreeBSD 5.4 ... FreeBSD kernel too. ... always sunshine and linux is farts. ... in the hey day of AT&T Unix I'm ...
    (freebsd-questions)
  • Re: REČ: FreeBSD isdangerous!
    ... > in my debian Linux partitions. ... The problem isn't specific to FreeBSD. ... partition from another fs is a security problem in your particular ... mount it, ...
    (freebsd-newbies)