Zend OPCache + PHP-FPM - security concerns when the cache is shared between pools and users

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am researching a set-up of PHP-FPM (PHP 5.3.3, CentOS Base packages) +
Zend OPCache (7.0.3)  (Zend Optimizer +)

The set-up is intended for shared hosting, so every user runs with
different FPM pool and the PHP scripts are executed with their own user.

What I see is that the OPCache keeps a shared cache for all pools together
and I am also able to see all the cached files executing ocp.php or
opcache.php via any user. I also see that when the PHP-FPM server makes a
graceful restart (reload) the cache is flushed. So, I have few
questions/considerations here:

- If different pools/users can see each other's cached files are they also
able to read them? If yes, this means such setup (php-fpm + opcache) cannot
be used in any shared environment as this is a big security leak (passwords
are hardcoded in a configuration.php file on most platforms and they can be
stolen in this way). If they are not able to read other user's files but
only list them - this is still kind of security hole as I will be able to
tell what exactly is each user running. Not good. Is there a way to avoid
that? Probably the cache should be shared between the processes in a pool
but not between the pools.

- Can we keep the cache upon a greceful restart of the PHP-FPM? This will
avoid a huge resource spike upon restarts.

Thanks a lot for sharing! Greatly appreciated!

Georgi

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux