网络 ACL 如何筛选子网
了解保护整个子网的无状态规则。
网络 ACL 如何筛选子网 是 CoddyKit 上的免费 AWS Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Security Academy 课程共包含 4 节课。
子网防火墙
网络 ACL(NACL)是在子网边界运行的防火墙。每个进入或离开子网的数据包都会根据与该子网关联的 NACL 进行评估,无论发送或接收数据包的是哪个实例。它与安全组一起构成第二层网络防线。
编号有序的规则
NACL 规则带有编号,并按编号升序评估。AWS 会先检查规则 100,再检查规则 200;第一个匹配的规则生效,评估随即停止。这与安全组相反:安全组的所有规则会合并,且没有优先级。请保留编号间隔(100、200、300),以便日后插入规则。
允许与拒绝
与安全组不同,NACL 同时支持允许和拒绝规则。因此,您可以直接阻止某个恶意 IP 或 CIDR 范围,这是安全组无法做到的。常见做法是使用较小的规则编号,在更宽泛的允许规则之前拒绝已知的恶意来源。
aws ec2 create-network-acl-entry \
--network-acl-id acl-0abc123 \
--rule-number 90 --protocol -1 \
--cidr-block 198.51.100.0/24 \
--rule-action deny --ingress分开的入站与出站规则
每个 NACL 都有独立的入站和出站规则集,并且各自拥有独立的编号。由于 NACL 是无状态的,您必须明确处理每次通信的两个方向,包括返回流量。
默认 NACL
随 VPC 创建的默认 NACL允许所有入站和出站流量,因此实际上相当于透明通行。您创建的任何自定义 NACL 初始都会拒绝所有双向流量,直到您添加允许规则。未显式关联 NACL 的子网会使用默认 NACL。
每个子网一个 NACL
一个子网一次只能关联一个 NACL,但一个 NACL 可以保护多个子网。这与安全组相反:一个资源可以关联多个安全组。NACL 会广泛作用于子网中的所有资源,因此属于粗粒度控制。
星号规则
每个 NACL 最后都有一条隐式的* 规则,拒绝所有未被编号规则匹配的流量。您无法编辑或删除这条规则。如果数据包未匹配任何编号规则,星号规则就会拒绝它;因此,遗漏必要的允许规则会导致流量无提示地中断。
临时端口
由于 NACL 是无状态的,返回流量会使用临时端口(Linux 通常为 1024–65535,Windows 通常为 49152–65535)。您必须添加涵盖此范围的出站或入站允许规则,否则响应会被丢弃。这是考试经常考查的经典 NACL 易错点。
阻止恶意来源
当您需要在事件期间快速阻止整个子网中的某个 IP 范围时,NACL 尤其有效。较小编号的拒绝规则可以阻止该来源访问任何实例。安全组只能允许流量,无法执行此操作,因此 NACL 对快速遏制威胁很有价值。
粗粒度但快速
请将 NACL 视为粗略、覆盖整个子网的工具,将安全组视为精细、针对单个资源的工具。大多数架构主要依赖安全组,仅在需要明确拒绝时谨慎使用 NACL,并让默认配置保持宽松,除非确实需要特定阻止规则。
记录控制效果
与 SG 的决定一样,NACL 的决定也通过VPC 流日志观察;流日志会显示每条流量最终被接受还是拒绝。流日志不会说明是哪个控制措施做出的决定,因此理解规则顺序有助于您分析数据包被拒绝的原因。
快速检查
测试您对 NACL 评估过程的理解。
回顾
网络 ACL 是位于子网边界的无状态、有序防火墙,同时支持允许和拒绝。规则带有编号,且第一个匹配项生效,最后以不可编辑的拒绝全部流量的星号规则结束。自定义 NACL 在添加规则前会拒绝所有流量。由于 NACL 无状态,您必须为返回流量允许临时端口。请使用它们对恶意 IP 执行粗粒度、快速、覆盖整个子网的阻止。
常见问题解答
「网络 ACL 如何筛选子网」课时是免费的吗?
是的 — 「网络 ACL 如何筛选子网」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 AWS Security Academy 课程共包含 4 节课。
「网络 ACL 如何筛选子网」这节课中我会学到什么?
了解保护整个子网的无状态规则。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「网络 ACL 如何筛选子网」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Security Academy 课中编写并运行代码吗?
能。每节 AWS Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 安全组如何筛选流量
- 网络 ACL 如何筛选子网
- 有状态与无状态行为
- 分层使用两者实现纵深防御