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


12

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

我得到的原因是,黑客能够登录到Web服务器,然后他们才可以访问数据库。是否可以仅为IIS打开端口,或者是否可以指定特定端口?如果我们可以将其仅锁定到IIS,黑客是否可以轻松地将其包含在内?

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


有趣的问题!
康坎

确实是个好问题!如果标题可以更通用,而不指定技术堆栈的名称(IIS,WCF等)
那就更好了

Answers:


9

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

为了提高安全性:

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

如果您的数据库是MI6或CIA数据库,那么您的网络管理员可能是正确的,但我也听起来好像他们反应过度了。

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

我问他们一个问题:

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

谢谢你的建议。现在,我很难说服网络管理员更改设置。
Al Polden

4

您的Web服务器也可以位于防火墙后面,它们只需要将端口80转发到正确的服务器即可。您的Web服务器不需要的所有其他端口应在该大多数外部防火墙上关闭。然后,您的Web服务器和数据服务器之间应该有一个防火墙。在该防火墙中,您只允许打开数据库所使用的端口。

这是一个图

Internet->防火墙-> Web服务器->防火墙->数据库

仅供参考,尽管我是一家小商店,但我经常与公司的IT员工一起工作,所以我是一名开发人员。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.