如果我们在同一台服务器上托管两个或多个 Web 应用程序,我正在研究一个场景。假设 Web 应用程序 X 易受攻击,那么我如何确定它不会影响其他 Web 应用程序 Y。简而言之,我的问题是如何隔离托管在同一服务器上的 Web 应用程序?需要在 Web 服务器上配置哪些技术?
隔离托管在同一 Web 服务器上的 Web 应用程序
信息安全
Web应用程序
网络服务器
2021-08-12 16:27:06
2个回答
如果您在同一台服务器上有多个网站,那么根据问题,一个站点的安全问题很可能会影响另一个站点。
缓解这种情况本质上意味着增加两个应用程序之间的分离。您可以通过使用chroot jail之类的东西来做到这一点,或者如果隔离不够,您可以考虑在同一主机上使用 VM 来宾来提供更多隔离。
您可以使用不同级别的保护。最基本的方法是将它们配置为以不同用户身份运行的单独站点,并且只允许每个站点的用户访问它需要的资产。在基本层面上,这应该防止一个站点能够访问另一个站点。
尽管如此,仍有一些攻击可能能够逃脱这一点(例如,如果他们能够提升权限)。为了提供进一步的保护,您可以为每个站点运行虚拟机,以进一步沙箱化每个站点。仍然有一些理论上的方法可以逃避 VM,但此时您会受到很好的保护,但也会有更高的资源需求(因为必须运行两个额外的内核)。
您还可以在中间执行其他一些级别,尝试在不实际执行完整 VM 的情况下进行沙箱隔离,但我对这些技术或其有效性知之甚少。就个人而言,对于我运行的所有站点,只需正确配置用户并仅允许每个站点访问其自己的资产(并保持服务器修补)就足以满足我的需求。