使用 DMZ 保护与防火墙外外部 Web 服务器的通信安全的替代方法

信息安全 网络
2021-08-30 07:29:53

我是一个软件开发人员,几乎没有网络安全知识,对我工作环境的当前网络架构几乎一无所知。如果我有任何信息,我仍然不想泄露任何信息,因为这样可能会带来安全风险。目前,公司政策禁止在我们的网络之外进行任何服务器通信。随着需求的变化,我正在寻找一种方法向管理层传达一种安全、可靠、安全的替代方法,以允许外部 Web 服务器与内部服务器通信,反之亦然。

我想在 DMZ 中拥有公司服务器的路线是避免没有远程访问和不受公司网络团队管理的问题。所需的方法是可能使用第三方服务,例如通过云服务,从而控制我们自己的部署。

对等方建议在 DMZ 中拥有服务器的另一种方法是只允许与 HTTP 协议通信,阻止除 80 之外的所有端口(不确定是否在服务器和/或防火墙上),并且只允许 GET 和 POST 动词。

请告诉我实现允许外部服务器在不涉及 DMZ 的情况下进行内部通信(反之亦然)的能力的可能性、关注点、副作用、建议和替代方法。请不要使用指向 500 页 PDF 的链接作为您的答案,除非它作为参考提供了一些很好的细节。

提前致谢!

3个回答

传统的答案是三层架构:Web、应用程序和数据。您的 Web 层在前面是孤立的,只能通过有限的方法与应用服务器通信(例如,只有少量 RPC-ish 调用可用)。然后应用程序服务器与数据(基础)层对话,当然您可以使用 ACL 或存储过程来做任何事情以使其更安全。出于安全目的,如果做得好,三层架构是一个很好的解决方案

您是同行关于仅允许端口 80 的建议是假设的最小值。将动词列入白名单很好,但请注意,您将面临的大多数攻击都在该层之上运行,并且会非常愉快地通过 GET/POST 路由。这导致了现代答案:入侵防御系统将监视所有经过的流量,检测恶意模式并采取行动阻止它们。

传统答案和现代答案都导致了真正的答案:您无法将 [外部 Web 服务器] 设置为像一开始就没有一样安全、可靠和安全。无论您做什么,都会增加一定的风险。你如何做到这一点将改变风险边际的大小。无论您使用三层架构、IDS/IPS、日志监控和警报等...您和您的管理层决定如何降低风险,并将其控制在可接受的水平。

不幸的是,学习如何安全地降低风险意味着要翻阅 500 页 PDF 来学习技巧。帽子换猫,猫换帽子,但一无所有。

您可以使用的架构:

  • 对于不会更改的数据,您可以使用推送方法,使用经过身份验证的安全方法(vpn、https 或 ssh/sftp)以批处理模式、隔夜或按需将内容放在网站上。例如,将更新后的代码上传到网站、上传定价数据库、上传要访问的业务数据。
  • 对于可以放在 DMZ 中的数据,您可以将所有三层(Web 服务器、应用程序服务器和 DB 服务器)放在 DMZ 中并将其留在那里,如果您在内部需要数据,您可能可以说服他们在内部复制 db 或从您的内部网络引用它。
  • 对于需要从您的网站实时获取的内部数据,您可以构建一个可以通过您的安全/网络部门的最小界面。诸如严格保护的最小数据库功能之类的东西,使用最少的特权并可能使用中间堡垒数据库或类似数据库进行监视(想想通过数据库链接连接的 oracle 数据库)。

其他事宜:

  • 如果通信是通过 Internet 传递的,那么您应该加密和验证(vpn、https 或 sftp/ssh)。
  • 您可能想问安全专家如何最好地整合内部和外部数据,如果您无法击败他们,请让他们投资提出解决方案。
  • 尝试确定您的安全人员的担忧,它们通常是有效的,我已经尝试从我的类似经历中解释它们可能是什么,但是您需要开始考虑他们看待世界的方式(有点探索在这个安全堆栈交换网站上会给你提示)。

假设:您的内部网络和外部网络之间的接口当前提供了所需的保证级别。外部服务器的安全性低,可能会受到损害。

目标:保持内部和外部网络之间连接的当前保证水平。在不设置 DMZ 的情况下向连接添加新接口。

不幸的是,答案取决于您目前的架构,但我会尝试猜测您可能拥有什么。我假设您有一个连接到单个堡垒服务器(组合防火墙、IDS、NAT、代理等)的路由器,并且堡垒服务器的另一端是您的内部网络。您希望保留当前设置的现有安全性,因此我认为尽可能少地修改架构是谨慎的。

注意:这是一个粗略的草图,您应该在实施解决方案之前进行彻底的分析和规划。

购买一台能够支持两个物理上独立的以太网接口的新机器。我的意思是,如果主板有板载以太网,那么你需要一个 PCI 或 PCI Express 以太网卡。如果主板没有板载以太网,那么您需要两个 PCI 或 PCI Express 以太网卡。

如果您的堡垒主机可以支持新的物理上独立的以太网卡,那么为您的堡垒服务器获取一张新卡。

如果您的堡垒服务器有新的以太网卡,则将新机器上的一个以太网端口连接到堡垒服务器上的新卡。否则,只需将新机器连接到堡垒服务器上的任何可用端口即可。

选择一台内部机器作为新机器的内部联系点。如果可能,在内部接触点上安装新的物理上独立的以太网卡。在新机器和内部联络点上安装 VPN 软件。将堡垒服务器配置为仅接受来自新机器 MAC 地址的正确类型的传入(您还需要传出吗?)数据包。如果堡垒服务器有新的以太网卡,请将堡垒服务器配置为仅接受来自新物理接口上的新机器的数据包。将内部机器上的防火墙配置为仅接受来自新机器的传入 VPN 数据包(如果可能,在新的以太网接口上)。配置新机器以接受来自 Internet 的适当数据包。将另一个物理上独立的以太网接口连接到连接到互联网的路由器。定期检查审计日志,保持良好的备份等。

这不是太贵。一台 PC(不必是服务器级别)、三个以太网卡、一些电缆、一些软件和大量配置。好的部分是您现在拥有一台可以物理访问的机器,它连接到 Internet,并且需要对网络架构进行最小的更改来适应它。不好的部分是这将需要大量的配置,并且可能需要一些精力充沛的说服堡垒主机和内部接触机的所有者。