Amazon VPC 中的基础设施安全性 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon VPC 中的基础设施安全性

作为一项托管服务,Amazon Virtual Private Cloud 受到 Amazon 全球网络安全的保护。有关 Amazon 安全服务以及如何 Amazon 保护基础设施的信息,请参阅Amazon 云安全。要使用基础设施安全的最佳实践来设计您的 Amazon 环境,请参阅 S Amazon ecurity Pillar Well-Architected Fram ework 中的基础设施保护

您可以使用 Amazon 已发布的 API 调用通过网络访问 Amazon VPC。客户端必须支持以下内容:

  • 传输层安全性协议 (TLS) 我们要求使用 TLS 1.2,建议使用 TLS 1.3。

  • 具有完全向前保密 (PFS) 的密码套件,例如 DHE(临时 Diffie-Hellman)或 ECDHE(临时椭圆曲线 Diffie-Hellman)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者,您可以使用 Amazon Security Token Service(Amazon STS)生成临时安全凭证来对请求进行签名。

网络隔离

虚拟私有云 (VPC) 是位于 Amazon 云中您自己的逻辑隔离区域中的虚拟网络。可以使用单独的 VPC 按工作负载或组织实体隔离基础设施。

子网是 VPC 中的 IP 地址范围。在启动实例时,您可以在 VPC 上的子网中启动该实例。可以使用子网隔离单个 VPC 中的应用程序层(例如,Web、应用程序和数据库)。如果不应直接从 Internet 访问实例,请使用私有子网访问。

您可以使用Amazon PrivateLink使您的 VPC 中的资源能够 Amazon Web Services 使用私有 IP 地址进行连接,就好像这些服务直接托管在您的 VPC 中一样。因此,您无需使用互联网网关或 NAT 设备进行访问 Amazon Web Services。

控制网络流量

请考虑使用以下方法来控制到 VPC 中资源(例如 EC2 实例)的网络流量:

  • 安全组 作为主要机制来控制对 VPC 的网络访问。必要时可使用 网络 ACL 来实现无状态的粗略网络控制。安全组能够执行有状态数据包筛选,以及创建引用其他安全组的规则,因此其功能比网络 ACL 更丰富。将网络 ACL 作为辅助控制机制(例如拒绝特定的流量子集),或者作为高级别的子网防护机制时,也可能非常有效。此外,由于网络 ACL 适用于整个子网,因此可以将其用作 defense-in-depth 在没有正确安全组的情况下启动实例的情况。

  • 如果不应直接从 Internet 访问实例,请使用私有子网访问。使用堡垒主机或 NAT 网关从私有子网中的实例访问互联网。

  • 配置子网路由表,其中应包含能够支持连接需求的最低网络路由。

  • 考虑使用其他安全组或网络接口,独立于常规应用程序流量来控制和审计 Amazon EC2 实例管理流量。这样,您可以实施用于更改控制的特殊 IAM policy,从而更轻松地审计对安全组规则或自动化规则验证脚本进行的更改。此外,使用多个网络接口还提供了额外的网络流量控制选择,包括能够创建基于主机的路由策略或利用基于分配到子网的网络接口的其他 VPC 子网路由规则。

  • 使用 Amazon Virtual Private Network 或 Amazon Direct Connect 建立从您的远程网络到 VPC 的私有连接。有关更多信息,请参阅网络到 Amazon VPC 的连接选项

  • 使用 VPC Flow Logs 监控到达实例的流量。

  • 使用 Amazon Security Hub 检查来自实例的意外网络访问。

  • 使用 Amazon Network Firewall 来保护 VPC 中的子网,防止常见的网络威胁。

比较安全组和网络 ACL

下表概述了安全组和网络 ACL 之间的基本差异。

安全组 网络 ACL
在实例级别运行 在子网级别运行
仅当与实例关联时才应用于该实例 应用于关联子网中部署的所有实例(如果安全组规则过于宽松,则提供额外的防御层)
仅支持允许规则 支持允许规则和拒绝规则
在决定是否允许流量前评估所有规则 在决定是否允许流量时,按顺序评估规则,从编号最低的开始
有状态:返回数据流会得到允许,不受任何规则的影响 无状态:返回流量必须被规则明确允许

下图展示了由安全组和网络 ACL 提供的安全层。例如,来自互联网网关的数据流会使用路由表中的路由,路由到合适的子网。与子网关联的网络 ACL 规则控制允许进入子网的数据流。与实例关联的安全组规则控制允许进入实例的数据流。


                使用安全组和网络 ACL 控制数据流

您只能使用安全组保护您的实例。但是,您可以添加网络 ACL 作为额外的防御层。有关更多信息,请参阅 示例:控制对子网中的实例的访问