有没有一种安全的方法来允许DMZ中的IIS 7访问防火墙后的数据库服务器?

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

我给出的理由是黑客能够login到Web服务器,然后访问数据库。 有没有可能只打开端口的IIS或不可能是具体的? 如果我们可以将其locking到IIS,那么黑客可以很容易地构build它吗?

我已经阅读了互联网上的各种post,但我似乎无法find一个明确的答案。

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

为了增加安全性:

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

如果你的数据库是MI6或CIA数据库,那么你的networkingpipe理员可能是正确的,但我也觉得他们反应过度。

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

我会问他们这个问题:

  • 如果黑客获得访问Web服务器,他们可以打电话给您的Web服务?
  • 如果在IIS中发现了一个漏洞,允许他们访问您的Web服务器,那么他们肯定只是利用Web服务器上的相同漏洞来维护Web服务?
  • 他们可以安装监视用户input的软件来侦听内存中的密码吗?

您的Web服务器也可以位于防火墙之后,只需将端口80转发到正确的服务器即可。 您的Web服务器不需要的所有其他端口都应在最外部的防火墙上closures。 那么在你的Web服务器和你的数据服务器之间应该有一个防火墙。 在该防火墙中,您只允许数据库所在的端口打开。

这是一张图

互联网 – >防火墙 – > Web服务器 – >防火墙 – >数据库

仅供参考,虽然我是一名开发人员,但由于我们是一家小商店,我经常在我的公司与我们的IT人员合作。