我目前已为在我的服务器上托管网站的客户设置了 CentOS 6.6 VPS。他们使用虚拟用户(以 vsftpd 作为真实用户)进行 FTP 访问,该虚拟用户已 chroot 到他们的 www 文件夹。他们的电子邮件存储在 vmail 的主文件夹中,按域和(虚拟)用户分类。
回想起来,我发现这很笨拙。如果为所有客户使用真实用户,将他们的主文件夹重定向到 /var/www 内,并将他们的电子邮件也存储在那里,那么会更容易,也可能更好。可能还应该禁止 PHP 离开用户的主目录(但不确定如何)。
我的设置是否存在风险?入侵用户 X 的攻击者是否能轻易入侵用户 Y?切换到建议的设置是否明智?这会花费我几天的时间,我不确定是否值得付出努力……
我正在运行 Apache、MySQL、PHP、Postfix、Dovecot、VSFTP。
答案1
对于用户能够访问另一个用户的文件的特殊威胁,在与现在相同的安全上下文中运行所有“用户”的可能性更高,因此风险更大。
这里有一些微妙之处,因为其他设置可能会有其他威胁,而 chroot 版本可能没有。chroot 不是一个安全功能。
风险可能取决于如果用户确实获得了其他用户数据的访问权限,会产生什么影响。如果影响很小,那么可能不值得改变一切,但根据保护机密性的良好做法,“是否应该”改变?可能。