1. 概述
在本教程中,我们将探讨网络安全和网络架构中“非军事区”(DMZ)的概念。
我们会先了解 DMZ 的起源,然后深入探讨为何要在安全网络中实现 DMZ。
最后,我们会理解为何在对抗性环境中选择包含 DMZ 的网络架构是合理的。
2. 什么是 DMZ?
2.1. 术语的由来
“非军事区”(Demilitarized Zone,简称 DMZ)这个术语最初并不是来自计算机科学领域。它来源于国际法,尤其是战争法(jus in bello)中的一个概念。
在战争背景下,DMZ 是一个特殊或受保护的区域。它的设立是为了防止某些区域被卷入军事冲突。通常通过签署协议,在敌对双方之间设立边界,禁止任何一方部署军队或武器:
2.2. 国际冲突与网络安全的联系
DMZ 这个术语起源于国际冲突并不令人意外。因为网络安全本身的发展,很大程度上也是源于国防领域的研究。通常来说,网络安全技术的发展路径是:先由政府和学术界进行研究,再逐步向商业领域扩散:
DMZ 在网络架构中的应用也遵循了这一路径。上世纪 80 年代,随着冷战接近尾声,美苏两国意识到在软件工程领域有合作的潜力。但双方又都担心对方可能利用连接网络的机会进行攻击:
最终的解决方案是建立一个中间节点,作为双方通信的桥梁。这个中间区域就是最早的 DMZ。
2.3. 制度化的不信任
最初采用 DMZ 的动机,一方面是为了促进合作,另一方面也是出于对彼此的不信任。这种矛盾需要一个正式的系统来协调:既能促进互惠交流,又能防止恶意行为。
在知识管理领域,这种现象被称为“制度化的信任与不信任”。从这个角度出发,我们可以这样定义网络安全中的 DMZ:
DMZ 是一个在敌对环境中,允许互不信任的双方进行合作的系统。
它通过将系统性不信任形式化为一套规则和架构设计,使得敌对双方可以在不互相伤害的前提下安全地通信与交互。
3. DMZ 与对抗性环境
3.1. 什么是对抗性环境?
我们现在知道,DMZ 的存在前提是存在敌对关系。在最初的法律语境中,敌对双方是拥有军队和旗帜的国家,划分敌我相对容易。而在网络中,当 DMZ 被用于连接美国和苏联的通信网络时,敌对身份也依然清晰。
但今天,DMZ 已广泛用于企业安全和家庭局域网中。那么在这些场景中,“敌人”是谁呢?
只有当你担心某个对手的攻击,同时又需要与之通信时,才需要 DMZ。
3.2. 看不见的敌人
对企业或家庭网络来说,敌人是泛指的恶意攻击者。这个敌人可能是有明确犯罪意图的人或组织,也可能是对公司薪酬结构好奇的员工。
因此,企业中的 DMZ 是一个允许“信任网络”(也就是我们自己的网络)与“泛化的、理想化的敌人”之间进行通信的系统。
4. DMZ 与防火墙
4.1. 放行朋友,阻隔敌人
从技术角度看,DMZ 是本地网络中的一个节点或子网。但它有一个特殊性质:它可以直接被外部网络访问:
如果本地网络使用了防火墙,那么 DMZ 通常位于防火墙之外。不过,管理员也可以选择在 DMZ 前再加一道防火墙,用于保护 DMZ 自身。
4.2. DMZ 的应用场景
DMZ 对本地网络的安全有多重作用。例如,如果你的网络使用 IP 地址来阻止暴力破解攻击,攻击者可能会伪造(spoof)你网络中的 IP 地址来绕过限制。
在这种情况下,DMZ 可以暂时隔离疑似设备的访问请求。同时,可信服务可以尝试连接该 IP 地址,以确认请求是否来自伪造 IP。
此外,DMZ 还可以隐藏本地网络结构,这符合“通过混淆实现安全”的原则。因为所有进出信任网络的流量都必须经过 DMZ,从外部只能看到 DMZ,而无法窥探内部网络结构。
✅ 即使 DMZ 被攻破,由于它与信任网络分离,信任网络仍能保持安全。这为安全团队赢得了发现和应对入侵的时间。
4.3. 安全如洋葱:增强网络韧性
如果用“安全如洋葱”来比喻网络防护结构,那么 DMZ 就是这颗洋葱的外层:
因为它对外可见,所以不能存放敏感数据。这意味着我们不能在 DMZ 上存放企业数据库或个人隐私信息。
⚠️ 从韧性的角度看,DMZ 也是网络中最脆弱的一环。因为一旦网络被攻破,通常是从 DMZ 开始的。
为应对这一点,DMZ 常被用作本地网络的互联网流量网关。这样可以在流量进入信任网络之前进行分析和过滤,所有互联网流量都必须经过 DMZ 中的服务,而不是直接进入信任网络。
✅ 最后,DMZ 也是提供外部服务的最佳位置,例如邮件服务器。我们也可以在这里设置特定权限,允许外部用户访问内部网络。
5. 总结
在本文中,我们了解了网络安全和网络架构中 DMZ 的概念。
我们学习了:
- DMZ 的起源与战争法中的“非军事区”概念有关;
- 它是为了解决互不信任的双方如何安全通信的问题;
- 在现代网络中,DMZ 是信任网络与外部世界之间的缓冲区;
- 它通过防火墙和其他机制,既允许外部访问,又保护内部网络;
- DMZ 是网络中最容易受到攻击的部分,但它的设计也确保了即使被攻破,也不会直接危及整个网络。
合理使用 DMZ,是构建安全网络架构的重要一环。