一、安全区域(Security zones)
设计良好的网络使用防火墙,根据系统的安全级别将其归入网段。典型的边界防火墙有三个网络接口,因为它们将三个不同的安全区连接在一起。
1.Untrusted Zone或Internet Zone
一个接口连接到互联网或另一个不受信任的网络。这是受保护的网络和外部世界之间的接口。一般来说,当由更受信任的网络上的系统发起时,防火墙允许许多不同种类的连接出到这个网络,但它们阻止大多数向内的(Inbound)连接尝试,只允许那些符合组织安全策略的连接。
2.Trusted Zone或Intranet Zone
第二个网络接口连接到组织的内部网。这是大多数系统所在的内部网络。这个内网区域可以进一步细分为终端系统、无线网络、访客网络、数据中心网络和其他业务需要的部分。防火墙可以被配置为控制这些子网之间的访问,或者该组织可以使用额外的防火墙来分割这些网络。
3.DMZ
防火墙的第三个网络接口连接到DMZ。DMZ是非军事区的简称,是一个网络,我们可以把必须接受来自外部世界的连接的系统放在那里,如邮件和网络服务器。这些系统被放置在一个单独的安全区域,因为它们有更高的被破坏的风险。如果攻击者破坏了DMZ系统,防火墙仍然阻止他们入侵内网。
这种方法也被称为Screen sub-net。采用这种理念的网络设计往往根据网络安全区域对对应系统产生一种隐性的信任,但方法现在已经过时了,现在采用一种被称为零信任(Zero Trust)的安全理念,在零信任的方法下,系统不会仅仅因为其网络位置而获得特权。
4.三种特殊的网络
- Extranet是可以被外界访问的特殊内部网段。例如,我们需要允许供应商访问我们的ERP系统,就可以让他们使用VPN连接到一个Extranet,允许他们作为商业伙伴需要的有限的内网访问;
- Honeynet是旨在吸引攻击者的诱饵网络。它们看起来是有利可图的目标,但实际上,它们并不包含任何敏感信息或资源。安全团队使用Honeynet来识别潜在的攻击者,研究他们的行为,并阻止他们影响合法系统;
- 只要有人在我们的标准安全设计之外建立一个有线或无线网络,就会出现Ad Hoc Network。现在,这些网络通常被计划为临时性的,但它们有时会比预期的持续时间更长。Ad Hoc Network可能会带来安全风险,特别是当它们与其他网络互连但没有足够的安全控制时。例如,一个员工在没有使用加密的情况下设置了一个无线接入点,然后将其连接到内部网络,可能会在无意中将敏感信息暴露在窃听之下,并为攻击者进入组织的网络创造一个潜在的路径。
5.两个术语
网络专业人员经常用来自罗盘方向的术语来指代网络上的流量类型。数据中心的系统之间的网络流量被称为东西向流量(East-West Traffic),而数据中心的系统与位于互联网上的系统之间的流量被称为南北向流量(North-South Traffic)。无论哪种类型的流量,如果跨越了安全区域,都可能受到防火墙的管制。
二、VLANs与网络分段(Network segmentation)
虚拟局域网(Virtual LANs),或称VLANs,是一种重要的网络安全控制。VLANs允许我们将相关的系统逻辑地组合在一起,无论它们存在于网络的什么地方。当我们创建我们所需的网络布局图时,它们通常看起来像如下这样:不同的功能组有不同的网络位置。会计部门的用户都共享一个网络,与销售部门的用户和IT部门的用户分开。
如果我们的建筑和楼层布局与这个网络图完全吻合,我们就会一切就绪,但更多的时候,我们的情况是,来自不同部门的用户分布在不同的建筑中。这就是VLAN发挥作用的地方。我们可以用它们来连接处于网络不同部分的人,同时也将他们与其他可能在地理上接近他们的用户分开。
VLANs扩展了广播域。这意味着同一VLAN上的用户将能够直接联系对方,就像他们连接到同一个交换机一样。所有这些都发生在网络的第二层,不涉及路由器或防火墙。 要设置VLAN,网络管理员必须做两件事。首先,他们必须启用VLAN Trunk,以允许网络上不同位置的交换机承载相同的VLAN。其次,他们必须配置每个交换机以连接到适当的VLAN。交换技术负责其余的工作,创建逻辑VLAN,将相关的用户相互连接起来,并执行网络分离。
三、安全设备的放置(Security device placement)
安全架构师不仅要负责选择适当的安全控制措施,而且还必须确定将这些控制措施放在网络上的最佳位置。
1.防火墙
我们已经了解到了网络架构师如何使用防火墙将网络划分为安全区域。在网络中任何一个我们想执行网络安全边界的点上放置防火墙都是合适的。
在这个上面的例子中,防火墙位于网络的周边,将内部网络和DMZ与互联网分开。在内部网络上可以很容易地设置更多的防火墙。例如,我们可以在这里放置一个防火墙,以强制隔离终端网络、无线网络、访客网络和数据中心网络。防火墙的确切位置将取决于我们的组织的安全和业务要求。
许多安全控制措施被设计为从网段收集信息。这些包括与入侵检测和防御系统(IDS和IPS)相关的传感器、网络分流器(Network taps)和端口镜像(Port mirrors)。这些传感器必须被放置在它们被设计用来收集信息的网段上。例如,如果我们把入侵检测系统的传感器放在DMZ,它将无法收集只存在于内部网络的流量。如果我们把传感器放在内部网络上,它将无法看到互联网上的系统和DMZ中的系统之间的流量。而如果把传感器放在互联网上的防火墙外,它将无法看到内部系统之间的流量。因此,如果我们想全面覆盖连接到该防火墙的网络,需要在所有三个网络上放置传感器。
当我们设计网络传感器时,需要了解你的组织的网络设计。如下是一些对于具体设备的防止的例子:
2.SPAN端口
这里有一个常见的设计,即使用聚合交换机(Aggregation Switch)将网络流量从网络深处实际连接到用户设备的接入交换机(Access Switch)聚合在一起。
交换机上的SPAN端口提供了一份穿过交换机的所有流量的副本。这种方法对于需要检查通过交换机的所有流量的网络监控服务是非常理想的。然而,根据我们的设计,只想看到所期望的流量。例如,如果我们在这个接入交换机上放置一个SPAN端口,将只看到连接到该交换机的任何设备之间的网络流量。
然而,如果我们在聚合交换机上放置一个SPAN端口,不一定会看到来自它下面的四个交换机的所有流量。这是因为如果连接到同一台交换机的两个系统相互通信,接入交换机会处理这些流量,而不会将其传递到聚合交换机上。
2.镜像端口
端口镜像也允许我们监控网络流量,但端口镜像不是复制在交换机上传输的所有流量,而是复制单个交换机端口的所有流量。这种方法是监控通往或来自单一设备的流量的理想选择。
3.安全信息和事件管理系统
安全信息和事件管理系统(Security information and event management systems) 使用一个有收集器的网络,目的是在从其他系统收集信息。它还有一个关联引擎(Correlation engine),将这些收集器的信息聚合一起。通常,我们会有多个收集器和一个执行聚合的关联引擎。如果,从网络流量管理的角度来看,让收集器和发送信息的设备之间的路径距离最小化是很有意义的。另一方面,关联引擎是一个敏感的安全设备,它应该被放置在一个受保护的网络中,只有授权的管理员才能访问它。安全团队经常使用代理服务器和内容过滤器(Proxy servers and content filters)的组合来保护用户免受互联网上恶意内容的影响。这些设备的位置可能会根据我们的具体架构设计而有所不同,但通常把它们放在DMZ网络中是一个好的做法。对于必须启动与外界连接的代理服务器来说,这一点尤其正确。使用基于DMZ的代理服务器,可以限制来自内部网络出向的网络流量,在该网络周围放置一个额外的隔离层。
4.VPN concentrators
VPN concentrators是用于聚合员工和其他需要远程访问的用户的入站(Inbound)网络连接的硬件设备。一个常见的放置VPN concentrators的网络方法是将它们放在自己的VLAN上。然后,我们可以使用防火墙和其他访问控制手段来限制对该VLAN上的系统的访问,限制远程用户的活动。我们还可以更进一步,让我们的VPN concentrators通过查询目录服务器来确定连接到我们网络的远程用户的类型。然后我们可以把不同类型的用户放在不同的VLAN上,根据他们的角色进一步限制他们的访问。
5.SSL Accelerator和Load Balancer
SSL加速网关(SSL Accelerator)和负载均衡(Load Balancer)是为提高我们向外界大规模提供的服务的性能而设计的设备。SSL加速网关代替Web服务器建立TLS连接的加密工作,使Web服务器能够专注于提供网络内容。负载均衡在一个服务器池中分配入站用户请求的负载,使组织能够快速扩展服务。这两种设备通常都驻扎在DMZ中,它们靠近它们所协助的服务器。
6.DDoS缓解技术使用的各种工具
DDoS Mitigation Tools使用各种工具用来阻止DDoS攻击进入组织的网络,并将其影响降到最低。我们要把DDoS缓解技术的工具放在尽可能靠近互联网连接的地方,以阻止不需要的流量进入你的网络深处。事实上,如果我们能直接从我们互联网服务提供商那里购买DDoS缓解服务是最理想的,这样他们就能在流量到达我们的网络之前就加以阻止。
四、软件定义网络(SDN)
软件定义的网络(Software-defined networking)或SDN是一种技术,它允许网络管理员将网络的功能和实施细节作为独立和不同的功能来处理。
在传统的网络方法中,一个组织的网络基础设施充满了路由器和交换机,它们既提供构成网络的物理连接,又提供决定网络路由、端口分配和其他特征的逻辑能力。当网络管理员想重新配置网络时,他们会登录到路由器或交换机,并使用一系列的命令来改变配置。虽然这可以通过手动或使用网络管理软件来完成,但对网络的改变需要对路由器和交换机的配置进行改变。这结合了网络的两种不同功能。网络的控制平面(Control Plane) 负责决定数据如何在网络上流动。网络的数据平面(Data Plane) 包括实际上是执行控制平面的指令,对具体的流量进行处理。
SDN将控制平面和数据平面相互分离。 每个路由器和交换机独立决定如何路由数据包,而这些决定来自SDN控制器。SDN控制器是网络管理员和算法对网络路由做出决定的地方,然后控制器接连接网络上的每个设备,并对其进行编程以正确执行这些指令。SDN控制器实现了网络的控制平面,而路由器和交换机接受来自控制平面的指令,执行数据平面功能。SDN带来的主要好处是,它使网络可编程。开发人员可以编写代码,根据需求的变化修改网络。如果一个应用程序需要更多的带宽,SDN控制器可以重新配置网络以提供该带宽,然后在不再需要时释放它。网络管理员不需要动一根手指,因为控制平面与数据平面是分开的。从安全角度来看,SDN也提供了一些好处:
- 首先,它允许对网络进行非常细化的配置。在许多组织中,网络管理员通常对在不同建筑的网络中路由VLAN感到困惑,因为配置这些VLAN很困难。然而,有了SDN,这变得非常容易。
- 其次,SDN允许安全团队对网络安全问题做出更快速的反应。例如,如果网络受到来自错误配置的主机的拒绝服务攻击,安全工具可以自动接触并禁用属于该主机的网络交换机,并将其置于一个隔离区。
然而,SDN也有其自身的安全问题。因为SDN使网络可编程,它也增加了网络的复杂性,需要使用强大的访问控制。毕竟,我们不会希望一个恶意的人获得对我们控制平面的访问,然后利用SDN进行窃听或假冒攻击。