我有一个包含公有子网和私有子网的 VPC。负载均衡器使用私有子网中的 Web 服务器为实例提供服务。我已设置安全组,仅允许均衡器使用 HTTP 流量,仅允许实例使用本地 HTTP 流量。
我是否还应该为 VPC 和每个子网上的 NACL 设置入站/出站规则?现在默认设置似乎是允许所有流量。
我是否应该考虑根据我的需求(HTTP、ssh 等)使用 NACL 限制流量?或者这样做有点过头了、不太有用或者过于复杂?
答案1
这确实是基于观点的,但如果您的安全组正确,则在公共子网和私有子网之间添加 NACL 是过度的。
通常我主要在两种情况下使用 NACL:
- 分离开发/测试/质量/生产子网,我们预计它们之间没有任何流量。
- 或者当它是 PCI / HIPAA / 等部署时,审计员绝对积极地坚持在子网之间使用 NACL,并且无法说服他们。
在所有其他情况下精心设计的安全组就足够了. 哪里有精心设计我主要指的是:
- SG 引用其他 SG ID 而不是 IP 范围(例如,Web 服务器 SG 允许来自 ALB SG ID 的 tcp/443,而不是来自公共子网 IP 范围)。
- 除非另有需要,否则将出站规则定义为拒绝。
- 当然只允许所需的端口。
这样,您可以很好地控制和限制您的网络流量,而无需使用 NACL。
希望有帮助:)