我正在开发一个需要从我们的内部生产数据库获取数据的外部网站(在DMZ中).
我提出的所有设计都被拒绝了,因为网络部门不允许从DMZ进入任何类型的连接(WCF,Oracle等).
来自网络方面的建议通常分为两类 -
1)将所需数据导出到DMZ中的服务器,并最终以某种方式导出修改/插入的记录,或
2)从内部进行轮询,不断询问DMZ中的服务是否有任何需要维修的请求.
我反对建议1,因为我不喜欢坐在DMZ中的数据库的想法.对于所做的事情的性质,选项2似乎是一个荒谬的额外复杂性.
这些是唯一合法的解决方案吗?有一个明显的解决方案我错过了吗?"DMZ中的无连接"法令是否实用?
编辑:我经常听到的一句话是"没有大公司允许网站连接内部以获取实时生产数据.这就是他们发送确认电子邮件的原因".它真的是这样的吗?
Ken*_*Ray 49
对不起,但你的网络部门正在破解或类似的事情 - 他们显然不明白DMZ的目的是什么.总而言之 - 有三个"区域" - 外部世界的大,坏,你的纯净和处女的内部世界,以及众所周知,值得信赖,安全的DMZ.
规则是:
第四点是他们没有掌握的 - "DMZ没有联系"的政策是错误的.
问他们"我们的电子邮件系统如何运作呢?" 我假设你有一个企业邮件服务器,也许是交换,个人有连接它的客户端.请他们解释您的公司电子邮件如何使用互联网电子邮件,并且符合他们的政策.
对不起,它并没有给你一个答案.
小智 16
我是一家财富50强金融公司的安全架构师.我们进行了同样的对话.我不同意您的网络组.我理解他们的焦虑,我知道他们想要一个更好的解决方案,但大多数地方都没有选择更好的选择(由于他们的无知[即网络人员不是你]).
两个选项,如果它们很难设置:你可以使用像greensql这样的SQL代理解决方案(我不为它们工作,只知道它们)它们只是greensql dot com.
他们提到的大多数"大型组织"使用的方法是分层Web模型.您有前端Web服务器(由公众访问),中间层(发生实际进程的应用程序或服务层)和数据库层的位置.中间层是唯一可以与数据库层通信的东西.在我看来,这个模型是大多数大型组织的最佳选择.但话虽如此,大多数大型组织将遇到供应商提供的产品,该产品不支持中间层,他们开发时没有中间层,而且转换需要开发资源,他们没有必要开发中间层Web服务,或者直截了当地说,某些公司没有这条路可以走这条路.
它是一个灰色地带,在这方面没有正确的对错,所以如果他们以最终的方式发言,那么他们显然是错的.我赞赏他们的热情,作为一名安全专业人士,我了解他们的来源.但是,我们必须使业务安全运行.这就是我总是试着挑战自己的挑战和挑战.我如何能够提供我的客户(我的开发人员,我的管理员,我的dbas,业务用户)他们想要的东西(在合理范围内,如果我告诉别人,我总是尝试提供满足他们大部分需求的替代方案).
老实说,它应该是一个开放的对话.在这里,我认为你可以获得一些空间,让他们威胁模拟他们希望减轻的风险.请他们提供其他解决方案,使您的网络应用程序能够正常运行.如果他们说他们不能说话,那就把责任放在他们身上以提供解决方案.如果他们不能,那么你默认它工作.您为批准的端口打开从dmz到db的连接的站点.让他们知道DMZ是用于提供外部服务.如果没有内部数据,除了潜在的文件传输解决方案外,外部服务并不好.
只是我的两分钱,希望这个评论有所帮助.并试着让我的安全弟兄们轻松一点.在我们的羊群中,我们有一些不太经验的误导,坚持一些旧的做事方式.随着世界的发展,威胁不断演变,我们的缓解方法也在不断发展.
这是你可以做的......这有点牵强,但它应该有效......
编写位于 DMZ 中服务器上的服务。它将监听三个端口:A、B 和 C(选择任何有意义的端口号)。我将其称为 DMZ 隧道应用程序。
编写另一个位于内部网络上任何位置的服务。它将连接到端口 B 上的 DMZ 隧道应用程序。建立此连接后,DMZ 隧道应用程序不再需要侦听端口 B。这是“控制连接”。
当某些东西连接到 DMZ 隧道应用程序的端口 A 时,它将通过控制连接发送请求以获取新的数据库/任何连接。内部隧道应用程序将通过连接到内部资源进行响应。建立此连接后,它将连接回端口 C 上的 DMZ 隧道应用程序。
在可能验证一些令牌后(这部分由您决定),DMZ 隧道应用程序将在端口 A 和 C 上收到的连接之间来回转发数据。您将有效地拥有一个由运行在 DMZ 中的两个服务创建的透明 TCP 代理。 DMZ 和内部网络上。
而且,最重要的是,完成此操作后,您可以向 IT 部门解释您做了什么,并观察他们的表情,因为他们意识到您没有违反他们的安全策略,但您仍然高效。我告诉你,他们会讨厌这样的。
| 归档时间: |
|
| 查看次数: |
29612 次 |
| 最近记录: |