在同一台机器上拥有数据库服务器和 Web 服务器是否有风险?

CLJ*_*CLJ 10 security database web-server

在与 Web 服务器相同的机器上运行数据库服务器似乎很简单,但是我们这样做是否冒了很大的安全风险?

环境将是 Windows 2008 服务器、Postgresql(最新版​​本,发布时可能是 9.0)和 Apache 2。

and*_*dol 8

不必要。

假设您的 Web 服务器受到威胁,攻击者仍将获得访问相同数据库的凭据,无论他们在什么服务器上运行。毕竟,数据库服务器仍然需要配置为允许来自 Web 服务器的合法请求。

(假设 mysqld 等明智的安全措施不接受来自 localhost 的无密码 root 登录。)

话虽如此,您可能仍希望运行单独的数据库服务器。其原因与性能、可扩展性等有关。

  • 我同意更大的问题是您在同一台机器上运行两者的性能下降。 (4认同)

Chr*_*rpe 6

我不同意海报说这不是安全问题,原因如下:

  • 您的前端服务应该具有尽可能小的攻击面。这是使用反向代理和防火墙以及将不必要的服务和程序远离不需要它们运行的​​服务器的主要原因。这就是为什么 Web 服务器是安全强化通行证最常见的目标。
  • 您的 Web 服务器不应该对您的数据库系统拥有上帝的权限。因此,危及 Web 服务器并不会危及数据库服务器。对于初学者来说,Web 服务器用来访问数据库的帐户不应该具有 SQL 框的本地管理权限,它的权限应该仅限于数据库权限。其次,在这些 SQL 权限内,它应该在最小权限原则下运行。例如,您的 web box 不应该能够在实例中实例化新的数据库。理想情况下,您的 Web 框将无法删除表,或从它绝对不需要的任何表中删除行。因此,如果正确配置的 2 层设置遭到破坏,攻击者使用 SQL 凭据的影响范围将受到限制。