目前我正在运行 nginx 1.0.11 和 PHP-FPM。每个站点都有自己的用户/组,并且主目录位于 中/srv/www/...
。我已将 PHP-FPM 池设置为以站点的用户和组的身份在不同的端口上运行(站点 1 为 9001,站点 2 为 9002...)。这对安全性有帮助吗?
nginx 以 www-data:www-data 的形式运行。目前,如果我在 site1 中有一个 PHP 脚本,(/srv/www/site1.com/www/public_html/script.php)
我可以执行此操作include $_SERVER['DOCUMENT_ROOT'] . "/../../../site2.com/www/public_html/index.html";
并读取该站点的文件。
我该如何预防这种情况?我查看了chroot
每个网站的主目录,但每个网站的主目录都有/dotfiles
我需要保留的符号链接,我假设 nginx 需要访问以下位置的日志:/var/logs/nginx/...
答案1
看一下open_basedir。有几种已知的方法可以解决这个问题,但这些可以在配置中被阻止。
为什么点文件上使用符号链接而不是硬链接?