问题描述
我有一个小疑问。为什么AWS有两个级别的防火墙Nacl和安全组。当我们在GCP和Azure中看到时,我们只有一层防火墙。在AWS中,仅Nacl不够吗?任何人都可以解释为什么AWS具有两层防火墙的原因是什么?
解决方法
两者之间有一些区别,尽管它们是2个独立资源的理由是AWS可以接受的,因此无法对此发表评论。
安全组是在network interface level (ENI)上评估的防火墙,它将在物理主机上进入虚拟化资源之前对其进行评估。通常认为它是2中的简单者,但是在功能上仅允许简单地允许入站或出站访问(无法明确拒绝流量,默认情况下将拒绝安全组规则未涵盖的流量)。
NACL是发生在子网级别的防火墙,此资源在评估资源所在的物理主机之前会先执行评估。因此,您不能在位于同一子网中的网络资源之间执行评估(仅在流量离开或进入子网时评估流量)。
使安全组有用的区别之一是,除了允许IP范围外,您还可以引用安全组和prefix lists作为规则的源/目的地。
此外,另一个关键区别是安全组是有状态的(如果流量可以说一个方向,它可以在返回方向上讲话),而对于NACL,它是无状态的,这意味着需要在两个方向上都考虑流量。对于NACL,这还将包括了解临时端口。
总而言之,这两个目的都是有目的的,安全组允许评估资源本身上的特定入站流量,而NACL有助于过滤网络的入站和出站流量。将这两种方法结合在一起将真正有助于锁定网络。