是否有一种安全的方式允许 DMZ 中的 IIS 7 访问防火墙后面的数据库服务器?

Al *_*den 12 iis firewall database dmz sql-server

我们的网络管理员坚持认为,托管在 DMZ 中的 Web 服务器访问防火墙后面的数据库服务器是不安全的。为了解决这个问题,我们通过 Web 服务或 WCF 访问数据。我觉得这是一个不必要的性能负担,如果 Web 服务器可以直接访问数据库,则可以消除它。

我得到的原因是黑客能够登录到 Web 服务器,然后他们可以访问数据库。是否可以只为 IIS 打开端口,或者不可能那么具体?如果我们可以将其锁定在 IIS 上,这是否容易被黑客入侵?

我在互联网上阅读了各种帖子,但似乎找不到明确的答案。

小智 9

我已经为大型企业设置了平台,通常的做法是确保您的数据库与您的 Web 服务器位于不同的 VLAN 中,防火墙位于这些路由流量之间,仅到数据库服务器端口以及您的 Web 前面的防火墙服务器。通常,您的前端防火墙会将端口 80 (HTTP) 和端口 443 (HTTPS) 转发到您的 Web 服务器。位于 Web 服务器和数据库服务器之间的防火墙会将流量从 Web 服务器转发到数据库使用的端口(如果使用 Microsoft SQL Server,通常为端口 1433)。

为了提高安全性:

  • 确保您使用最低权限的帐户访问数据库服务器
  • 如果您使用的是 ASP.NET,您可以在 web.config 中加密您的数据库连接字符串
  • 聘请第三方公司进行渗透测试以告知任何漏洞
  • 确保定期安装更新和服务包。

如果您的数据库是 MI6 或 CIA 数据库,那么您的网络管理员可能是对的,但我也觉得他们反应过度。

如果数据库确实包含绝对不能暴露给公共网络的数据,但您的数据库需要的数据不是那么敏感,您是否可以考虑将您的网站所需的表复制到您的托管环境中的数据库中?

我会问他们一个问题:

  • 如果黑客获得了对 Web 服务器的访问权限,他们是否可以调用您的 Web 服务?
  • 如果在 IIS 中发现了一个漏洞,使他们能够访问您的 Web 服务器,那么他们肯定只是利用托管您的 Web 服务的 Web 服务器上的相同漏洞?
  • 他们可以安装软件来监控用户输入以嗅探内存中的密码吗?