我正在 VPC 中使用 EC2 服务器,我们希望出站流量尽可能少,并且所有出站流量都明确列入白名单。但是,根据 EC2 安全组或网络 ACL,我似乎需要指定允许的确切 IP 地址。(另一种方法是允许给定端口上的所有 IP,这是我想要避免的。)
许多第三方服务都列出了 IP 地址 - 例如,New Relic 将其列在https://docs.newrelic.com/docs/site/networks。
但是,很多都没有 - 例如,我一直很难找到 Ubuntu 存储库的等效存储库,这可能是因为它们会轮换 IP。(我似乎也找不到 Google API 的 IP 地址。)
我希望有人能够 1)告诉我我错了,并指出一种使出站白名单 IP 与其 DNS 解析保持同步的方法,或者 2)解释在相对安全/偏执的 VPC 中通常如何过滤出站流量。
您是否通常只将所需端口列入白名单,而不去细化 IP 粒度?您是否使用流行的防火墙/NAT 软件进行更复杂的过滤?
我希望这个问题足够具体——提前谢谢!
答案1
并对所有出站流量明确列入白名单
默认情况下,来自实例的所有出站流量均在 AWS 上明确列入白名单。
在 VPC 中,我们希望出站流量尽可能少,
在不了解你的实例对其余基础设施的作用的更多细节的情况下,这就是我能想象会发生的情况。
您可以:A. 使用具有公共和私有子网的拓扑。具有任务关键型安全性和/或计算实例的实例将在私有子网中运行,并且只能由其私有 IP 上的管理实例访问。
B. 您可以使用 VPN 使您的私有子网上的实例在外部可访问。
C. 如果这些是面向 Internet 的服务器,您可以禁止除其主要服务(Dovecot、NGINX 等)之外的任何 IP 的所有出站连接,并使用 Puppet 进行自动升级(从管理实例下载到 VPC 的存储库中进行升级)。这样,您就不必担心某些镜像存储库的 IP,只需禁止所有镜像存储库,直到验证通过,然后以最小的努力运行自动更新。
希望这会有所帮助(如果有帮助,请投票)。
是否有流行的防火墙/ NAT 软件可用于更复杂的过滤?
一些安全公司在 AWS 市场上销售他们的解决方案(例如国家拦截器),以满足我们这些需要严密安全保护的人的需求。