我在本地开发框中安装了带有FastCGI (mod_fastcgi)、suExec和PHP的Apache。工作很完美,除了一件事。
假设我有两个用户:
user1 - /home/user1/public_html
user2 - /home/user2/public_html我在我的配置中发现了一个严重的安全漏洞:我可以在user1文件中包含一个来自user1 web根目录的文件。如何预防?有小费吗?
php-cgi进程在正确的用户下运行。
发布于 2012-08-29 14:49:49
我建议您在您的base_path中设置VirtualHost:
php_admin_value open_basedir /usr/local/www/sixeightzero发布于 2012-08-29 15:46:23
如果目的是以用户的名义运行php,然后将他们分开,然后尝试apache2-mpm-itk,那么部署起来就容易得多,而且效果很好。
要使用,只需将这一行添加到虚拟主机配置中:
AssignUserId someuser somegroup如果愿意,还可以设置MaxClientsVHost和NiceValue。
发布于 2012-08-29 16:04:24
唯一正确的方法是禁止一个用户从另一个用户的主页读取文件,但让他们在way服务器上可读。
您可以通过(示例)实现这一点:
带有acl选项的挂载文件系统:mount -o acl /dev/sda /home
允许webserver服务器访问它:
setfacl -m u:nobody:r-x /home/user1
setfacl -m u:nobody:r-x /home/user2
允许所有者阅读:
setfacl -m u:user1:r-x /home/user1
setfacl -m u:user2:r-x /home/user2
https://serverfault.com/questions/421804
复制相似问题