允许客户端在共享服务器上进行 ftp 访问或文件上传可能会导致运行脚本,从而扫描客户端 Web 根目录之外的目录和文件。
鉴于我们对环境没有太多控制权,你能做些什么来阻止这种情况?甚至单个客户端 ftp 帐户也会使用相同的用户和组创建文件。
在我们的案例中,我们在运行 apache 和 php 的 Linux 机器上共享托管。
答案1
听起来,您使用单个托管帐户允许多个客户端进行 FTP 上传?如果是这种情况,那么您确实需要转到某种经销商帐户,您可以在其中隔离用户并为他们提供自己的 FTP 帐户,以便将内容上传到他们自己的 FTP 区域,而这些区域与其他用户之间没有任何交互。
如果我误解了,而您确实有某种多帐户经销商帐户,那么您需要与您的主机联系(或者只是移动主机),因为他们还没有正确设置。
答案2
这是非常错误的。如果您没有权限自行锁定,请寻找其他主机。
每个网站内的脚本应在其自己的用户上下文中运行,并且不应具有对该服务器上任何其他虚拟主机的目录的读写权限。通常,当通过 FTP 访问服务器时,此相同的用户上下文将保护人们免受彼此的攻击。
对于共享主机,系统管理员需要非常小心服务器执行的进程,因为默认情况下它们将在与 Web 服务器相同的上下文中运行。suEXEC 可以配置为在不同的用户上下文中运行 CGI,并且 fastCGI 可用于 PHP - 但这不是默认的运行方式。