如何在 AWS 中将有状态安全组附加到 NAT 网关的网络接口?如果我尝试手动添加它,我会在门户中收到以下错误:“您无权访问指定的资源。”
默认情况下,NAT 网关的接口没有附加安全组,因此 VPC 流日志显示入站互联网流量已接受。我知道实际流量未被 NAT 网关接受并被丢弃,但这仍然非常烦人,因为它会使日志变得混乱。
这里,NAT 网关的私有 IP 是 10.0.1.226,您可以看到它正在从公共互联网进行探测:
version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status
2 770604943877 eni-0d9c6092f69e85b93 162.142.125.159 10.0.1.226 54995 20121 6 1 44 1631843704 1631843705 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 192.241.207.249 10.0.1.226 37490 8098 6 1 40 1631843722 1631843724 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 89.248.165.59 10.0.1.226 52915 5017 6 1 40 1631843709 1631843741 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 45.135.232.119 10.0.1.226 43453 8737 6 1 40 1631843761 1631843762 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 162.142.125.149 10.0.1.226 4078 9010 6 1 44 1631843780 1631843782 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 89.248.165.204 10.0.1.226 53823 5354 6 1 40 1631843789 1631843799 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 192.241.215.86 10.0.1.226 43709 137 17 1 78 1631843789 1631843799 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 162.142.125.146 10.0.1.226 14176 18045 6 1 44 1631843739 1631843790 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 162.142.125.150 10.0.1.226 48059 21381 6 1 44 1631843739 1631843790 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 185.191.34.207 10.0.1.226 59477 36 6 1 40 1631843739 1631843790 ACCEPT OK
2 770604943877 eni-0d9c6092f69e85b93 91.132.58.183 10.0.1.226 5106 5162 17 1 443 1631843739 1631843790 ACCEPT OK
如果我添加网络 ACL 来拒绝来自互联网的入站流量,它将阻止接受对 VPC 发起的出站互联网访问的回复。
有关的:https://aws.amazon.com/premiumsupport/knowledge-center/vpc-analyze-inbound-traffic-nat-gateway/
答案1
我觉得你的问题有点令人困惑。当你说“NSG”时,我假设你的意思是“安全组”。Azure 有“网络安全组”,AWS 有安全组。此外,你没有说你想要实现什么,你只说了什么不起作用,这很难帮助你。我会给你一些一般性的想法,但如果这些不正确,请编辑你的问题以说明你想要实现什么,并修正缩写。
NAT 网关没有安全组。安全组是 ENI 周围的防火墙,例如 EC2 实例上的防火墙。您无需为入站流量付费,因此除了对特定问题/事件进行安全调查外,您实际上不应该关心 NAT 网关拒绝的内容。NAT 网关不会接收任何内容,这就是它们的用途。
听起来你的主要问题是 VPC 流日志中的拒绝流量,即 NAT 网关拒绝来自互联网的流量。我的主要建议是忽略它,因为也许有一天它会在高安全性环境中用于取证目的,或者如果你不需要它们,就关闭 VPC 流日志。我使用 VPC 流日志进行诊断,并且只在需要 PCI/CIS/类似合规性的情况下将它们保留在日志术语中。这些日志中总是会有很多拒绝流量。我曾经花了相当多的时间试图在没有互联网访问的内部子网中追踪拒绝,但我还没找到任何结果就用完了时间。我只好放弃了。
您可以更改VPC 流日志。您无需为整个 VPC 创建流日志,只需为您的私有子网创建流日志,并确保您的 NAT 网关位于公共子网中。这样就不会记录来自互联网的拒绝流量。
您还可以配置流日志来记录接受、拒绝或两种类型的流量。
总结并回复您的评论:
- VPC 流日志是一种用于网络诊断(很少打开)或合规性日志记录(始终打开但故意限定范围)的工具。没有多少人会打开它们。
- 只有在有充分理由的情况下,我才会启用 VPC 流日志。启用时,我会将其范围限定为我需要的网络接口和流量类型(接受/拒绝/两者)。
- 我只在进行网络诊断时查看 VPC 流日志。当我查看它们时,它们针对的是特定接口/事件,因此我会忽略所有不需要查看的内容。
- 我已将 Cloudwatch Log Group 设置成适当的保留期。