据我了解,无状态防火墙更多地用于数据包过滤。为什么 AWS NACL 是无状态的?
NACL 强制为临时端口开放太大范围的端口。
除了安全组之外,还有其他方法可以在 AWS 上创建状态防火墙吗?安全组感觉太细粒度,可能会被错误地忽略。
网络访问控制列表 (ACL) 模仿在硬件路由器上实现的传统防火墙。此类路由器用于分隔子网并允许创建单独的区域,例如DMZ。它们纯粹根据数据包的内容进行过滤。这是他们的工作。
安全组是AWS中的一项附加功能,可在资源级别提供类似防火墙的功能。 (准确地说,它们附加到弹性网络接口,ENI)。它们是“有状态的”,这意味着它们允许返回流量流动。 一般来说,建议将 NACL 保留为默认设置(允许所有流量进出)。仅当有特定需要在子网级别阻止某些类型的流量时才应更改它们。
安全组是控制进出 VPC 附加资源的有状态流量的理想方式。它们是创建状态防火墙的方法。 VPC 不提供其他此类功能。如果您想要不同的东西,您可以通过充当 NAT 的 Amazon EC2 实例路由流量,然后您就可以完全控制它的行为方式。
无状态机器、服务或组件在处理后不会保留有关会话或事务状态的信息。
因此,对于 NACL,它无法在 OSI 第 4 层上工作,因为它无法记录会话开始和结束。然而,这与 NACL 默认阻止流量的事实无关,这是因为它的策略是“默认拒绝”。
为了回答最初的问题,NACL 似乎是无状态的,以避免意外的复杂性,同时像 AWS 思维方式(简单性)一样优化带宽。